Today’s low-code and no-code development platforms enable teams of software developers—and even non-coders—to deliver, support, and extend a wide array of applications. They are used to build mobile apps, deliver customer experiences, streamline workflows, modernize legacy applications, automate data integrations, and support data visualizations, to name the more common uses.
The major selling points of low-code and no-code development tools are that they can be used successfully by lower-skilled, “citizen” developers; that they can produce apps faster than using native SDKs; and that they can produce apps for less money. Many (but not all) of the commercial low-code and no-code systems offset your savings on labor costs with their licensing fees or subscriptions.
No-code and low-code costs and savings
If you’re building consumer or customer apps, avoid development systems that charge you per-user, and avoid development systems that don’t deliver native-like performance. If the development system generates apps with slow performance or a non-native look and feel, consumers may well turn up their noses at them.
To give you a ballpark estimate, Bachelor’s-level software developers in the US make between $50K and $120K per year (average $72K), and simple consumer applications built from scratch in native code take anywhere from six to 25 man-months (average 12 man-months), so simple native applications are likely to cost about $72K to develop. Complex native apps can cost over $1 million to develop.
If you use a low-code development system that reduces the development time for a simple app to one man-month (cost ~$6K) but charges you a license fee of $10 per user, then once you have 6,600 users your total cost will exceed the cost of native development. Again, that’s a ballpark estimate.
In this case, a development tool that charges you per app, per server, per developer, or per developer-year might be a better value to you. On the other hand, if you’re building lots of apps for internal use by a few hundred employees, the math might favor paying per user.
Expectations from employees about apps tend to be lower than expectations from consumers, and employees don’t really have a choice about using an app when it is required to perform their jobs. They may complain, but they’ll still use it.
No-code vs. low-code development
If you’re using a no-code development tool, you can typically drag-and-drop components onto your design palette to your heart’s content, until you slam into a brick wall when you discover that the tool lacks something you need. At that point, you may be out of luck, or you may be able to buy or otherwise obtain the component you need from the tool’s developer or a third-party vendor.
In a low-code development tool, while the learning curve may be a little steeper than it is for a no-code tool because you need to write snippets of code, the barriers to extending the tool are typically lower. Instead of having to buy another component, you can often write a few lines of code to call a system, open-source, or vendor API.
In some low-code environments, the code is optional. In other words, the environment can be used for no-code development, up to a point. Business users might be able to perform 95% of the development work, with a programmer filling in the necessary code for the remaining 5%. These numbers will vary depending on the application and the tool.
Often the code you need to write for a low-code tool is semantically similar to a language you may already know. For example, Microsoft Power Fx is based on Microsoft Excel, and Alpha Software’s Xbasic grew out of Microsoft Basic. Many low-code tools use a language that either bears a close relationship to JavaScript or embeds a true JavaScript engine such as V8.
There is a school of thought to the effect that no-code development is just low-code development marketed to business users. There’s a more realistic school of thought to the effect that all no-code and low-code development teams need professional developers to contribute to a group effort to supply the parts that business users can’t build themselves: database schemas, component development, architecture, user experience design, and quality review.
Kinds of no-code and low-code tools
Before you begin shopping for a low-code or no-code development tool, you should ask yourself some questions about your proposed app to see whether low-code or no-code would make sense for you. I suggest that you write down your answers for later reference.
- Are you building a desktop app? For Windows? For Mac? For Linux? For all of the above?
- Are you building a web app? For desktop browsers? For tablets? For smartphones? For all of the above?
- Are you building a mobile app? For iPhones? For iPads? For Android? For all of the above?
- Are you planning to write native code for mobile devices? To use hybrid web technology? To use a native shell and web content? To use all of the above?
- Do you have a budget? What is it? Do you have a deadline? How far out is it? How many developers do you have? What are their skills? Are your budget, deadline, and resources consistent with your goals for the app? How did you do your estimates?
- Do you need a database behind your app? If so, is it an existing database, or a new one? Will clients update the database?
- Does your application need to support client communication? Are there other special features you require?
- Are you building an app for internal use? For customers or consumers? For business partners? For all of the above?
- Are you replacing or modernizing an existing business process? Are you trying to computerize an existing paper form?
As implied by this barrage of questions, there are many kinds of target environments for apps. There are also many kinds of design paradigms for no-code and low-code development tools.
Runtime targets include desktop apps for Windows, macOS, Linux, and occasionally even DOS. Mobile targets include Android, iOS, and their variants for tablets and watches. Web app targets include pretty much all of the above, with the additional considerations of browser support (Chrome, Edge, Safari, Firefox, and Opera) and the ability to handle different screen sizes responsively. Hybrid web apps combine a native shell app with web content.
Design paradigms include customizing prototype apps; drag-and-drop design environments with property sheets and small snippets of code; declarative field descriptions; conversion of scanned forms; conversion of wireframe or graphical designs; and generation of forms from database schemas. Controls can have absolute or relative layouts, and may have flow layouts or containers for groups of controls. The controls themselves can be native to the platform or implemented as part of the tool’s runtime.
Back-end capabilities may include authentication and connections to databases, cloud services, and enterprise applications. Mobile apps may support text messages, push notifications, geolocation, photo and video services, social identity providers, and integration with social networks. Apps that use back-end services may be designed to work even when they have intermittent connectivity, and may know how to resolve the data conflicts that can arise when more than one user tries to update a database offline.
Leading low-code and no-code development platforms
There were over 400 vendors in the no-code and low-code development space the last time I looked. Gartner covers about 250 of them, and seems to be flailing as it tries to break them down into ever-shifting categories. Many of the vendors, and some of the products, span several of the category definitions.
I don’t think that business process management (BPM) and robotic process automation (RPA) tools should be lumped in with other no-code and low-code tools at this point, even though there’s some technology overlap. The difference in my mind is that the BPM and RPA tools automate and orchestrate other systems as their primary purpose; normal low-code development tools may use enterprise systems, but only as a means to another end.
For example, a tool to automate the boring, repetitive, multi-system process of doing due diligence on a loan is RPA; a tablet app that a field service agent uses to record an elevator inspection may replace paper forms, speed the process, and eliminate some in-office transcription, but doesn’t automate the process enough to qualify as RPA.
I’ve selected the following seven low-code and no-code development vendors as examples, and listed them alphabetically. Note that inclusion in this list is not a recommendation, and exclusion is not a condemnation.
- Alpha Software: Alpha Anywhere is an end-to-end, low-code, rapid application development tool for desktop, web, and hybrid mobile app development that is database-oriented and can be used by developers with a range of skills. Alpha TransForm is a no-code to low-code tool for mobile form development with offline capabilities that include auto-sync when the connection resumes.
- Appian: Appian offers a visual no-code designer and low-code tools for web and mobile app development with no-code enterprise data integration. Appian separately offers an automation platform for BPM and RPA.
- Claris: Claris FileMaker is a low-code development system for desktop, web, and mobile app development that includes its own database. It features built-in templates, drag-and-drop design, and an intuitive graphical UI. Claris Connect is an automation platform built on the same core as FileMaker.
- Mendix: Mendix Studio is a WYSIWYG, browser-based development environment for citizen developers. Mendix Studio Pro is a desktop-based development environment that includes all the capabilities required for software development, including the ability to add custom code when needed. Mendix also offers an automation platform and a data hub.
- Microsoft: Microsoft Power Apps is a low-code app builder for Windows 10 that uses templates, drag-and-drop design, and Power Fx, an Excel-like programming language. Power Apps includes a language model that can generate Power Fx code from natural language descriptions. Professional developers can extend Power Apps with Azure Functions and custom connectors. Power Automate is a separate RPA platform with a workflow engine.
- OutSystems: OutSystems lets you drag and drop visual elements to create UIs, business processes, business logic, and data models for your web and mobile apps, and customize them with code when needed. It offers some 70 pre-built templates and patterns. OutSystems Forge contains thousands of pre-built code modules that you can drop into your app, and extend in the IDE if you wish.
- Salesforce: Salesforce Lightning is a low-code, drag-and-drop app development platform for the Salesforce Platform. Lightning can also connect to your other applications and data. Lightning App Builder lets business users point and click to create apps; Lightning Web Components help developers to create reusable elements.
Key factors for choosing a no-code or low-code development platform
Remember the long list of questions you asked yourself above? This is where you need to consult your answers. There is no one-size-fits-all no-code or low-code development system, even though you’ll feel pressure to standardize on one system across your enterprise. You may discover that different departments need different development products, for different purposes.
- Does the fee model make sense for you? For consumer apps, you likely won’t be able to justify low-code systems that charge per-user fees. Many low-code vendors post their pricing on their websites. For others, you need to call their sales departments. This isn’t the time to be shy: Ask them about pricing, and compare the answers among the vendors you’re checking out.
- Does the low-code/no-code platform support all of your desired deployment targets? If it doesn’t, keep looking. If none of your options support all your desired deployment targets, then consider pruning your target list to the most important devices or browsers.
- Does the low-code/no-code platform fit your developers’ skill sets? Think about building an app with a team, rather than depending on one person (the “unicorn”) to have all the necessary skills. If you don’t have all the skills needed for this tool, keep looking, as another tool might be a better fit for your team. If none of your tool options fit your team’s skills, then you are either looking at training, or hiring, or both.
- Will the low-code/no-code platform improve your development timeline? One of the major selling points of low-code development is shorter time-to-market. If that’s an important consideration for you, then you need to figure out how long it will take to really finish your project. Ask the vendor for a timeline based on your requirements and their historical experience. Ask a contract developer that has used the tool the same question. Be careful to include the documentation and testing phases as well as initial development and final deployment in your time estimates.
- Will the low-code/no-code platform scale? Some low-code solutions introduce bottlenecks that limit how many simultaneous users can run your app; others are engineered to handle very large loads. In some cases, you can work around server-side bottlenecks by running multiple servers behind a load balancer. The vendor should be able to tell you how many users a typical deployment can handle, but for your final deployment you should perform a load test.
- Will the low-code/no-code platform meet your users’ expectations? Consumers expect sub-second responses from your apps, a native look, and a native feel. On a smartphone, one of the behaviors to test is scrolling a long list: Scrolling should be fast when flicked hard, but feel like the list has “momentum,” and slow down before stopping.
- Perform a proof of concept. It’s not enough to learn a low-code product passively during your free evaluation period. Pick a simple subset of what you really want to build, and create a proof-of-concept app. I suggest that you do as much as possible of the POC development in-house; only ask the vendor for help when your own people are stuck.
Performing low-code development is a journey that can lead to many rewards. On the one hand, too many companies insist that their mobile apps must be written in native code, and then are shocked when they spend $1 million and a year on an iOS app and another $500K and six months on a nearly-identical Android app. It’s worth exploring the low-code alternatives, both for the cost savings and the reduction of time-to-market.
On the other hand, too many companies think that low-code development can be performed by business users without any help from professional developers or database administrators, and then are shocked when the project fails. If you avoid both extremes and set clear goals, there’s a good chance that you can put together a team that knows (or learns) how to build low-code apps quickly and well.