Originally published AUG 23, 2017 on Forbes OracleVoice
Low-code development environments are ideal for scientists or academics who need to solve complex problems with a minimum of coding knowledge, and for business users who don’t want to wait for IT to write them a new mobile app. You might think these platforms can’t offer much for experienced software developers—but you’d be wrong.
Low-code and visual programming environments have proliferated around a number of use cases, with a steady influx of tools, including Google App Maker, APPIAN, and Oracle Visual Builder Cloud Service.
Michael Hoffer and his colleagues use the visual environment he’s created with VRL Studio for tasks ranging from climate-change simulation on high-performance clusters to 3D printing of glittering, tessellated plastic fabrics.
Just what constitutes a low-code environment is a point of debate, but for our purposes, any tool that lets you build and deploy a working app without writing a line of programming code qualifies. From prototyping to productivity, here are nine ways “real” developers can gain from low code and visual environments.
1. Solve a Problem Faster
These days, making the developer experience delightfully productive is a top priority. In fact, there’s a blurring of lines as traditional development environments begin to offer more visual elements, while low-code visual tools boast greater extensibility. Serious developers can use a low-code tool to quickly build an app that reflects the UI, objects, and forms you’re working with, even if it lacks the full functionality you’ll eventually want.
“You can use this as a way to communicate with your customer or end user to ask ‘Is this what you are looking to get?’ Then you can develop in a high-code environment in a way you’re comfortable with,” says Shay Shmeltzer, director of product management at Oracle.
2. Help Customers Help Themselves
Endless feature requests are the bane of every developer’s existence. Low-code approaches can let end users do simple customizations themselves. “One of the nice things about low-code platforms is that you’re able to connect to REST services you expose. So you take those REST APIs, make them available in a low-code environment, and the business user can get off your back,” says Shmeltzer.
The end user gets access to the programming interfaces and a low-code tool that lets them extend the application in a way that meets their needs, often using data from a full-featured application that developers have created.
3. Start Code-Free, Then Scale Out
Many cloud applications depend on common user interface components, and a low-code platform can provide a UI architecture that lets you design, reuse, and extend components for native mobile and web applications.
4. Grow Your Expertise
Developers often worry they’ll hit a ceiling in terms of capability with low code, and that can prove true. “Low-code tools limit you in a way. They are optimized for one domain. When you hit a problem, you have to break out or hire an expert,” says Michael Hoffer, a research scientist at Goethe University in Frankfurt, Germany, and the creator of VRL Studio, a Java-based visual programming environment. At the same time, however, Hoffer believes the right low-code tool gives developers the ability to get up to speed quickly in a new technical area, experimenting without a huge time investment.
For example, Hoffer and his colleagues use the visual environment he’s created with VRL Studio for tasks ranging from brain chemistry simulation on high-performance clusters to 3D printing of glittering, tessellated plastic fabrics.
“So-called ‘real developers’ are experts in some domains and not in others, so it makes sense to explore a domain in a guided environment that hides some complexity,” says Hoffer. “I don’t like the distinction between a ‘real’ programmer and a ‘non-real’ programmer. What is your expertise? If you have never done cloud development, Oracle’s visual tools might be a good idea even for ‘real’ programmers.”
5. Mind the Gap
But how do you avoid getting trapped by your low-code tool, stuck with an app that lacks the features you really need? Understanding that risk, and helping non-developers understand the limits of low code, is also a valuable role for experienced developers to play. Help your organization choose one that offers more than just window dressing. Hoffer points out that the term low code is not exactly what he does with VRL Studio, because it “assumes that there is a gap between the visual environment and the code. In the environments I write, I try not to even open that gap.” In other words, an effective low-code environment should seamlessly connect source code to visual drag-and-drop representations.
“The environments I write just give you the necessary visualizations for APIs,” Hoffer says. “…Everything has some kind of user interface, even it’s a command line. Behind that sits an API that has been developed or generated. What I like is to automate this process. Any Java API can just be visualized and explored.”
6. Avoid Redundant Front-End Development
Developers grind out tons of intermediate code to display images and graphics that represent the data in their programs. But often there’s a front-end developer or team leader who later decides what the end user sees and what stays behind the scenes. Low-code environments automate GUI grunt work that a front-end developer will likely override anyway.
“Everything you do [for front-end] is totally repetitive and that’s what computers are for—they should do the repetition and the automation,” says Hoffer.
Read the rest of the article on Forbes…