The Ultimate Low-Code Development Platform Guide
Over the last few years, companies have invested a lot of time and energy in software development. Agile working methods such as Kanban and Scrum have gone a long way to make the process of app development a smoother ride, yet developers still face the challenge of meeting their customers’ and/or stakeholders’ demands quickly and easily.
Enter “low-code” platforms, which promise to bring projects to fruition more quickly and incorporate client feedback into the agile software development from the get-go. But what is low code, and is it all that it’s cracked up to be?
If you’re asking yourself these or related questions and want the lowdown on low code, you’ve come to the right place. This article will provide you with everything you need to know – and maybe even a little more.
Definition: What is Low Code and What Does it Mean?
Low-code platforms are still a fairly new phenomenon. The term itself dates to 2014, when Forrester Research coined it to describe this particular form of software development.
In a nutshell, low-code development platforms (LCDPs) are alternatives to traditional, object-oriented computer programming that enable application software to be created through graphical user interfaces and configuration.
The benefits should be obvious: low-code platforms allow developers to create applications at more or less lightning speed. At the same time, they require significantly less source code than old-school software development techniques.
The creation of the user interface, the data model, and the business logic all happen via visual design tools, i.e. an interface. Software developers also have the ability to supplement business logic with hand-written code. With the mere click of a button, applications can be deployed into a public or private cloud environment.
Although, as already mentioned, the term “low-code app development” is a recent coinage, the concept behind it is not new.
There’s long been a notion in companies of the “power user” or “citizen developer.” These sobriquets denote business users who see an opportunity to optimize a process and take it upon themselves to create their own apps.
To do so, they used technologies such as Microsoft Access, Excel, and/or Visual Basic. Low-code tools are inspired by, and build on, such users’ intentions. The philosophy behind them predicates a world in which everyone – from the most proficient of programmers to a tech-savvy employee who sees a business problem that a simple app could optimize and solve, can set out to build an app themselves.
Does that sound like the kind of world you want to live in? If so, keep reading and watch this world take form.
Low-Code Platforms as High-Productivity Application PaaS (hpaPaaS) and Rapid Application Development Tools
According to Gartner, high-productivity aPaaS (hpaPaaS) provides rapid application development (RAD) features in the cloud for development, deployment, and execution.
While Forrester coined the term “low code development” and as such was instrumental in propagating the technology, Gartner refined its niche by classifying all low code vendors as part of the hpaPaaS category in its Magic Quadrant.
Low-code platforms, one can argue, form a subcategory of hpaPaaS.
Low code has an obvious affinity with such rapid application development tools of the 1990s as Access, Power Builder, and Oracle Forms. One could also call low code the next step in the development of RAD tools. It could also evolve into the standard means of development.
In contrast to RAD tools, a number of low-code platforms are suitable for use by trained employees from specialty fields. These “citizen developers,” as it were, open up new possibilities for the implementation of software projects – and also expose new risks.
The hpaPaaS developer experience focuses on no-code and low-code capabilities:
- No-code users include citizen developers and utilize graphical modeling experiences.
- Low-code users have more development skills and augment graphical development tooling with scripting or more sophisticated model types such as entity relationship diagrams, business process model and notation, and decision model and notation.
The Most Popular Vendors
OutSystems
OutSystems offers an hpaPaaS solution that supports cloud deployments including AWS, Microsoft Azure, and OutSystems’ own options of public cloud, virtual private cloud, and on-premise implementations. The OutSystems platform uses a metadata-driven model, where applications are developed using an extensible, low-code visually integrated development environment. The OutSystems platform offers a comprehensive visual modeling capability, including business processes, integration workflows, UIs, business logic, data models, web services, and APIs. These enable high-productivity development and a faster time to market for relatively advanced applications. The platform also includes many other services, such as project management and analytics.
Mendix
Mendix is an established (2005) pure-play, low-code hpaPaaS provider offering cloud-native architecture and capabilities. The Mendix Web Modeler together with the Atlas UI framework offers both professional developers and, to a lesser degree, citizen developers interested in high-productivity, a model-driven visual development environment generating metadata that is interpreted at runtime. Mendix also offers an additional integrated development environment (IDE) for professional developers to complement and extend the low-code development tools. Mendix’s low-code modeling tool supports sophisticated data-driven, event-driven, and process-oriented applications. Mendix is deployed on AWS and supports Cloud Foundry and Docker images. The company has distribution partnerships with SAP and IBM. The Mendix platform is well-positioned to support hybrid computing models — due to its support of on-premise, virtual private cloud, and multi-tenant public cloud.
VisionX
VisionX, as a low-code platform, enables users to visually build entire applications without relying on software developers. Applications created with VisionX use Java open-source frameworks only and therefore avoid vendor lock-in.
VisionX combines the simplicity of low code with the flexibility of Java to facilitate easy, efficient software development.
VisionX is well suited both for small operations and as an enterprise application for use by many large teams. Development can start small, with just a handful of users, and scale quickly to thousands of concurrent users in a high-availability environment.
The real-time sync between VisionX & Eclipse allows a seamless experience. Everything you change in VisionX will be automatically changed in the Java code or in the data model in the database. And vice versa.
Microsoft
Microsoft is a new entrant to hpaPaaS based on its PowerApps tool, launched in late 2016 for development on Office 365 and Microsoft Dynamics CRM. PowerApps provides a drag-and-drop, citizen developer-focused canvas to build apps that access the Microsoft Common Data Service as the hpaPaaS back-end. PowerApps is also tightly coupled with Microsoft Flow for simple integration SaaS (iSaaS) integrations, and connects with Azure Functions for more complex, external business logic and event-based workflows. PowerApps runs on the Microsoft Azure public cloud, which has global locations and supports localization in 42 languages. The tool offers a rich development canvas on which to build, starting from the UI layer, with ability to easily add app logic, validation, and expressions without coding. PowerApps works seamlessly with Microsoft Flow iSaaS for data integration with external applications and systems via JavaScript Object Notation (JSON) and XML, and with more than 200 out-of-the-box connectors. It also works with Power BI for citizen data analytics. PowerApps can also incorporate Azure Functions as building blocks in the design canvas in order to build event-driven and composite apps.
Appian
Appian offers a low-code hpaPaaS solution, which enables application authors to create both process- and data-centric applications through its strong BPM and case management capabilities. Appian applications can be developed and executed both on premise and on its aPaaS offering. Appian has positioned its Appian Cloud platform for general-purpose application development, which includes robust process orchestration, decision management, application life cycle management, and integration capabilities that compete with both hpaPaaS and BPM vendors. Appian provides per-user, per-application-and-user, or per-application pricing models, regardless of cloud or own infrastructure usage. Appian has a strong focus on vertical markets and a strong international focus for delivery into markets worldwide, including Asia/Pacific.
Zoho
Zoho offers Creator, a database-centric hpaPaaS offering that complements its CRM, sales force automation, and business productivity SaaS offerings. Zoho Creator targets business citizen developers with a drag-and-drop experience for forms and app creation, and also supports complex workflows through its proprietary Deluge script builder. Zoho Creator is available as a public-cloud-hosted offering. It is licensed at a monthly subscription rate, based on either a per-user model or for unlimited users, with tiered apps and capacity. Zoho Creator is well-suited for citizen development use cases by providing drag-and-drop configuration of the metadata model used to build applications. Although not the most powerful hpaPaaS solution, citizen developers can build modestly complex business applications within the confines of the model. Zoho Creator shows robust multichannel capabilities through native iOS, Android and Windows Phone apps deployed through its native app container. It also has out-of-the-box integrations for sending SMS messages using popular SMS providers.
Low Code in Software Development: More Than Just a Trend
Low code is not a mere side niche. Analysts from Forrester view it as one of the most important emerging technologies to watch through 2020. The low code industry is exploding before our eyes. Analysts predict that it will grow from $4.32 billion in 2015 to $24.23 billion by 2022.
To put these developments in perspective, it’s important to remember what makes low code special.
What is its USP?
Low code lets business professionals create applications that are customized to their organization’s needs – at a much higher speed than usual development processes.
Another main benefit is the strong focus on visual development, which makes it easier to use, especially for professionals with no strong background in IT. It does this while requiring minimal spending on infrastructure, deployment, and maintenance.
There are more benefits, however. Low-code development tools can also help enterprises improve customer experiences and fuel operational efficiencies.
In addition to the above advantages, low-code platforms offer the flexibility to meet customers halfway, and the ability to streamline business processes.
The low code ecosystem continues to expand and thrive, and has seen many new developments in recent months. One of the more high-profile of these was Siemens’ acquisition of Mendix.
Furthermore, the following recent events illustrate the growing market demand for low-code development:
- Goldman Sachs investing 360 million USD in Outsystems
- Google and Microsoft entering the marketing of low-code apps
Why Go Low Code? The Benefits of Low Code
Aside from the aforementioned experiences in efficient collaboration between departments, IT and IT service provider, there are additional advantages for software development.
Faster Deployment. Better Software.
According to a recent CIO report, 89% of CIOs think they will be required to release new updates even faster in the future. Today’s digital businesses are forced to innovate. Constant updates to apps and systems to create new experiences for end users and customers has become the new normal. Therefore, software development teams require a new era of building, deploying, and maintaining software. Higher software quality also reduces the efforts for maintenance in the company. Low-code platforms standardize the development approach and reduce the complexity as well as the error rate of the source code. As a result, less-qualified developers can quickly take on tasks and reliably realize them. By using a centralized platform that can be managed in a standardized way, individual solutions will be reduced and the costs for shadow IT will be lowered.
Visual Software Development
In general, it can be said that visual development is a more intuitive way to build applications. Using model-driven development concepts to visually define the user interface, logic, and data model, a low-code platform can be used by a variety of user groups. From developers to citizen developers, to senior developers, those groups can easily build native web, mobile, or desktop applications. Because the development environment is visual and model driven, users gain proficiency in a fraction of the time it takes to master a traditional language.
Through a combination of drag-and-drop user interfaces, form builders, and visual process modeling, users can leverage low-code development platforms to produce a working app that you can download, open, and start using in hours or less. And if hand coding is required, professional developers can encapsulate logic and functionality into modules for the rest of the development team to reuse in their projects. In VisionX it is possible to directly edit the code in the preferred IDE, which is a unique feature compared to others. On average, customers realize six to ten times productivity improvement using a low code platform over traditional hand coding approaches to application development.
A Solution to Developer Shortage, Less Backlog, Greater Speed
Using low code, the overall developer shortage can be surmounted – at least for a while. Since there are simply not enough qualified developers on the market to meet the increasing demand, companies can have a hard time completing their projects in time. Low code can be the solution due to its simplified operating system. Also, the backlog in development teams can be processed and delivered more quickly without using any additional developer resources. Low-code platforms support bottlenecks of resources and increase the quality of the delivered software as test cycles can be executed in a comprehensive manner. This is especially important at a time when it’s getting harder and harder to find developers (a problem that will only increase in the years to come).
Cross-Company Collaboration = Digital Transformation
Currently, software development is too slow to handle customers’ complex needs in our digitized market. Digital transformation has conditioned businesses to expect immediate results and direct benefits. New technologies such as IoT, big data, machine learning, and changing customer behavior in the decision-making and buying process are forcing companies to rethink and transform their place in the market. For a growing number of companies, low-code platforms offer a means of accommodating the demands of a digitally transformed market and promptly incorporating customer feedback.
Departments, IT professionals, and external service providers have to coordinate closely to reach their goals in the desired timeframe. The main challenge here is to get people from a variety of backgrounds and with varying mindsets, from across the company, working on the same page.
For example, low-code platforms allow that templates can be created in minutes instead of days. This allows the department to immediately test the fully functional applications with their use cases and give their feedback. This instant feedback process makes department employees feel to be fully integrated members of the development process.
Agile Software Development Using Low Code
Low code offers clear advantages for agile software development – so many, in fact, that these advantages merit point-by-point exploration.
Goodbye to Mockups and Click Dummies
Low code renders mockups and click dummies a thing of the past. Instead, it offers users a consistent application that begins as a single screen and grows from sprint to sprint as the full enterprise application takes shape. Rather than comparing inconsistently rendered pictures – be it wire frames or design mockups – scattered hither and thither, users can glean real data as well as quickly identify and solve problems from sprint to sprint and version to version.
The difference is monumental.
Low-code platforms help companies transform their business – especially those who are struggling with customized packages or aging systems that are expensive to maintain and slow to change. Low-code development gives back agility to large organizations for those who actually make the decision to switch out of the ERP environment. One challenge in handling development teams in organizations is the development cycle.
Most corporations can handle the basic functionalities but never seem to be agile enough to handle more advanced application development designs. This is where low code comes in handy: most low-code platforms are so agile so there is no need to even develop a single line of code. It’s like a car that drives for you, the only thing you need to do is to tell it where you want to go.
Low-code platforms can help you rebuild large systems in months instead of years. By combining fast visual development, easy integration, and rock-solid scalability, you can digitally re-platform with confidence and speed.
Legacy Application Modernization
Legacy application modernization is designed to create new business value from existing, aging applications by updating them with modern features and capabilities. By migrating legacy applications, the latest functionalities that better align with specific business needs can be included. Keeping legacy applications running smoothly while still being able to meet current day needs can be a time-consuming and resource-intensive affair. That is doubly the case when software becomes so outdated that it may not even be compatible with modern-day systems.
Legacy modernization strategies can include the re-platforming, re-hosting, re-coding, refactoring, re-architecting, re-building, or the replacement and retirement of your legacy systems. It is about taking the bones, or DNA, of the original software, and modernizing it to better represent current business needs. This can be invasive and involve heavy re-coding, or noninvasive by linking the app via a modern cloud service or web-based front end.
Thanks to some low-code platforms, however, the effort can be reduced considerably. In the case of VisionX, for example, this happens via screen generation based on the data model, the reuse of the logic from legacy databases (Oracle and PL/SQL), and the clever transfer of existing screens/persistence layers into Java.
How to Build Modern Enterprise Applications Using Low Code
Low-Code platforms enables development teams – from the most senior software engineers to citizen developers – to build enterprise-like applications at speed, collaborating across teams. You’re probably at least familiar with applications such as Drift, Slack, Jira, and Asana. What is it that has made them so successful?
For starters, low-code platforms make application development decisions, e.g. what database to use or which programming language to write the backend, irrelevant. Before we can give you an insight on how to build an enterprise-like app using a low-code platform, we must talk about the components of low-code platforms.
In every low-code development platform, new applications can be created with just a few clicks. All functions of the low-code platform are provided either in a web application in the browser or via a local development tool. Some manufacturers also offer both. The local variants usually have advantages for larger projects due to faster development speed or larger functionality. A low-code platform typically consists of the following areas:
- data modeling tool
- GUI designer
- business logics / workflow editor
- deployment / lifecycle management
Data Modeling Tool
To create screens, a data model is required. This can be comfortably created in a visual editor. The data types, domains, relations, keys, etc. can be specified here. In many tools, this feels like well-known data modeling tools that can only be used by software developers.
Instead, some of the low-code platforms use a simplified variant to enable data modeling for users from specific departments. There, tables and all associated fields can be recorded by name and the data types can be selected. By defining a combo box or a master/detail relationship, the relevant tables and relations are automatically created. For example, the master data table for the selectable values or the detail table for detailed data records.
Optionally, excel sheets can also be imported. The data model is derived from the structure of the excel file and the data is imported.
Alternatively, existing data models from different database manufacturers can be used. Depending on the tool, the metadata of the database – such as data types, foreign keys for master data, foreign keys of master table details – can be used to generate the matching UI elements in a template.
GUI Designer
After a data model has been created, the first screen can already be built. Different templates are available to easily create a list view or a detailed view. Depending on the tool, there are a variety of possibilities, such as typical lightweight web or mobile list views or powerful, editable tables for management systems. Depending on the tool, these templates can be flexibly changed or defined in order to develop even large, complex applications with little effort.
Of course, all created screens can also be changed with a visual GUI designer or created from scratch. The UI elements can be dragged and dropped into the screen. Data bound elements can also simply be dragged into the screen or being linked to the data model. The UI elements can be adjusted via various textual or graphical property editors. Depending on the tool, a wide range of layouts can be selected to position the elements. Some tools are very flexible and powerful in this area, while especially the web variants offer fewer options here. Nevertheless, due to their level of complexity, some of the tools should only be used by citizen developers with intensive training.
The GUI designers are always the starting point for the logics and processes. That is why a wide variety of events can be set up for UI elements – such as button click on business logic or workflows. In addition, many model events such as CRUD can be set up and used.
Business Logic/Workflow Editor
With low-code platforms, business logic can also be created visually. There is the well-known solution of workflow tools, where the logic is assembled by flowcharts. This makes the implementation of simple logic or the integration of REST services easy. However, complex logic, in practice, is not as easy to implement. In most cases, citizen developers can do very few things on their own and professional developers are needed. For business logic though, there are more creative approaches, such as a drag-and-drop editor to insert predefined functions – visually – into the source code.
Deployment/Lifecycle Management
The created screens can be deployed and started in one click. With the web-based, low-code platforms, the developed application runs in a few seconds in the browser. In the case of locally installed variants, the changes usually have to be transferred to the server, the source code generated, the application formed, and deployed into the cloud. This usually takes several minutes. For some of these local tools, live previews are offered or the entire deployment process can be carried out locally in just a few seconds.
Many manufacturers already offer a great deal on lifecycle management – such as version management and ticket management, as well as agile or scrum tools. With almost all providers the created applications can also be installed right in the in-house cloud and/or at selected cloud providers.
5 Myths About Low Code
Myth 1: Low-Code Platforms No Longer Need Development Teams
Low-code platforms use visual modeling tools to represent logic and translate the underlying code into a visual format that both developers and business users can understand. Since building enterprise-ready applications at speed and scale requires a continuum of developers, a cross-functional team that can participate in the development process fulfills the best conditions for the implementation of app development into a business. Great business ideas can be turned into applications much faster, and software teams can stop worrying about technical debt and resource constraints. Sure, some low-code platforms enable business users to build simple applications, but the applications that support digital transformation are not so simple. They’re high-visibility, enterprise-wide, and enterprise-grade applications that need to be built rapidly and integrated with the enterprise information systems — by expert developers.
Myth 2: Low-Code Development is Only for Simple Applications
From small- to large-sized companies, low-code platforms are a step forward from traditional software development when it comes to building applications for web, mobile, and desktop. That makes low code an attractive alternative approach to building large-scale enterprise applications for digital transformation efforts. Low-code platforms are able to scale and are suitable for thousands of users and millions of data sets. Most applications built via low code are enterprise-wide or scaled for multiple departments. Low-code platforms make it easy for enterprises to build robust, unique, and intricate applications more quickly than conventional development tools. Many organizations that have experienced low-code development are scaling up their rapid development teams to cope with growing demand and are delivering mission-critical enterprise applications. Low code is about gain – not pain.
Myth 3: There is No Custom Coding in Low-Code Development
Software engineers can use code to develop reusable code extensions. By leveraging client and server-side APIs, engineers are able to build, package and distribute new functionalities, such as connectors to external services like machine learning and AI. Enabling developers to push beyond the boundaries of the core platform to build better solutions even faster will be possible by extending the native features of the platform with code.
Therefore, created applications can be adapted up to code level. In VisionX, the code is always open, so it can be adapted to the user’s needs quickly and easily, which ensures maximum flexibility.
Myth 4: Low-Code Platforms Create Lock-In Effects
While some low-code platforms do have lock-in effects, causing customers to effectively become hostages of a company’s software or services, VisionX and some others provide full vendor independence. Such low-code platforms generate applications that exclusively use open-source frameworks, hence there is no need for a lock-in. They can also be changed and extended with any Java IDE, so no VisionX is needed. The modus operandi with these low code platforms is freedom, because that’s what they give to the users. They are freely compatible with any major database, any java application server, and any cloud, on-premise environment, or operating system that Java is running on. As you can see, low code gets high marks when it comes to independence, flexibility, and compatibility.
Myth 5: Low-Code Platforms are Browser-Based WYSIWYG Editors
Low-code platforms are often not browser-based solutions. They rather run natively on your OS, meaning they integrate seamlessly with your Windows, Mac, or Linux system. Also, it needs to be stated that browser-based, low-code platforms offer a limited array of features. Whereas locally run, low-code platforms – such as VisionX – allow you to access source code and give you a better development experience.
Low Code Development for Enterprises
When looking for the right low code development platform for one’s enterprise, it is wise to keep
in mind the following benefits, features, and use cases. The main point of using a low code platform is to empower your organization to develop complex and functional applications in a simple and intuitive interface that demands less technical know-how. A unified development process makes maintenance easier and more accessible for all developers.
Development teams should look for their following features/elements when choosing a low code platform:
Model-Based Development
In other words, the platform should be configurable visually rather than via code. This always increases the speed of development. Moreover, it makes it even easier for business users, as they know and understand the logic of what they want to create.
Drag-and-Drop Interface
Drag-and-drop should be at the top of your list when it comes to requirements in low-code solutions. This isn’t a convenience, but a necessity.
Re-Usability
A big part of low-code platforms is that most major functionalities are already pre-built into modules that can just be dragged and dropped wherever required. That’s a big part of reusability.
Cross-Platform Accessibility
It’s a huge asset to remain independent of web frameworks, which change so frequently and will require redevelopment every few years. This is costly, to say the least; in fact, it’s infeasible. Developing via a low code platform places the burden to adapt to technical problems caused by changing UI frameworks on the platform, not on you.
It’s this simple: Building an app with multi-channel compatibility that your staff can access anywhere in the world makes their lives – and by extension, your life – easier. They can even switch from one UI platform to another, i.e. between web, desktop, and mobile interfaces, without having to change the code.
Security
If you find low-code tools that don’t offer proper security for both the platform and the apps that you build, stop using them. There’s no point.
Scalability
Low-code solutions should allow scaling, for both usage in the environment and your app.
Building an app for twenty users is great. But what if that user number suddenly spikes? Low code systems must be scalable.
Licensing
The distinguishing features of low-code development platforms are low initial investments for
setup, training, and deployment. Instead of using classic licensing models, they are licensed via
subscription models (with monthly subscriptions).
Low-code platforms therefore offer an accelerated development and provisioning time of
applications (such as mobile apps or ERP systems). This enables developers to significantly lower the costs for planning a software project as well as creating and providing the
applications.
Overall, typical low-code development platforms offer the following types of licensing:
- Run-time licensing
- Developer licensing
- Package licensing (usually small, medium, large packages (with a combination of user limits, feature limits and run-time licensing))
Download Low Code Guide as PDF for free
Prefer the entire low code guide as a PDF? We got you covered. Download the low code development guide for free.