Low Code Development
Guide to Low-Code Development: Demystifying Low-Code Application Delivery
Rano Salieva
July 17, 2024
In a nutshell
A low-code development platform allows developers to build custom applications faster, tailor and scale web applications, and input custom code if needed. This frees developers from repetitive tasks and allows them to focus on more complex and engaging work.
Key steps to start: The process includes defining project requirements, data modeling, UI design, integrating external services, and iterative improvements based on feedback.
Low-code vs. No-code vs. Traditional development: Low-code fits projects needing customization with some coding skills; no-code suits simple, coding-free projects; traditional development addresses complex needs requiring specialized skills.
Top low-code tools: Mentions include OutSystems, Mendix, Kettufy, and Microsoft Power Apps.
Benefits and use cases: Low-code is applicable in any industry. It is regarded for its speed, cost efficiency, and collaborative potential between developers and business users.
Future trends: The future points to GenAI integration, maintaining core platform components, fusion development teams, and enhanced governance automation.
What is Low-Code Development?
The term “low-code” was coined in 2014 and is often used interchangeably with “low-code platform”. Forrester initially described these low code application platforms as tools that significantly speed up application delivery by substantially minimizing the need for manual coding.
In 2021, in a survey conducted by universities in the USA, Australia, and China, a more detailed definition of low-code emerged. Low-code was described by survey participants as “drag and drop”, “visual programming”, “pre-designed templates” and “what you see is what you get”. The participants also mentioned that low-code should be able to “automate unattended operations with minimal human intervention” and “generate CRUD entities through scaffolding”. Therefore, low-code development can be described as a method that utilizes a graphical user interface, enabling users to create applications through drag-and-drop actions with little to no serious coding knowledge required.
Low-code is tied to low-code platforms so it’s a tool-dependent approach that can’t exist without specific technologies or tools.
At the heart of low-code platforms are 4 layers:
- Application layer: the graphical interface where developers define and build their applications.
- Service integration layer: where third-party services are connected typically via an API so they can talk to each other.
- Data integration layer: where data from different sources is integrated, operated, and manipulated.
- Deployment layer: where applications are deployed on cloud infrastructure or on-premise.
Depending on the low-code platform, a fifth layer, known as the Logic Flow layer, could be introduced, where developers define the logic of end-user interactions and build automated workflows.
NO-CODE
TRADITIONAL CODE
LOW-CODE
How to Get Started with Low-Code Development (Step-by-step)
When starting a low-code project, developers or dev teams go through 7 steps:
Step 1. Requirements and feasibility
At this stage, the developer or team checks if the project is viable and defines the requirements.
Step 2. Data modeling
Here, you create the application’s data schema, entity structure, relationships, constraints, and dependencies.
Step 3. UI definition
Here, you design the application’s interface, forms, pages, views, user roles, and security.
Step 4. Business logic and workflows
At this stage, you define and configure the application workflows and business logic.
Step 5. External services integration
This stage is about integrating third-party services.
Step 6. Testing and deployment
This stage is about quality assurance before and after deployment.
Step 7. Iterative improvement based on customer feedback
Here the developer gathers user and stakeholder feedback, makes adjustments, or adds new features and the application goes into the next development cycle as needed.
Choosing a Low-Code Platform: An important step that can happen before the project starts or after requirements gathering is choosing the low-code platform. Selecting a low-code platform depends on project requirements and involves looking at multiple sources, trying out different low-code tools, estimating costs, and engaging with professional developers in the low-code community through forums, tutorials, and webinars to get insights and support.
Choosing the Right Development Approach: No-Code, Low-Code, or Traditional Development
When building in the application landscape you need to know when to use low-code, no-code, or traditional development. Each approach is for different use cases, different users, and project requirements.
No Code
Use Case:
- You or your team don’t have coding skills and need to build simple applications or workflows.
- Speed and simplicity in development are the priority.
- Project requirements are basic, minimal customization and pre-built templates will do.
Features:
- Visual development environment.
- Limited customization and integration options.
- Not for re-architecting legacy systems.
Low Code
Use Case:
- The application needs to integrate with other complex systems or support advanced features.
- There is a need for customization and flexibility to meet project or business requirements.
- The project team has developers with some coding skills.
Features:
- Some coding and customization with visual modeling tools.
- For developers who want to speed up development without losing control over application functionality.
- Integrates with external systems and APIs for more complex project requirements.
Hard Code
Use Case:
- The project requires specialized skills due to its complexity.
- You have access to professional developers and resources even if it means higher costs and longer timelines.
- The application needs to be built for different platforms, mobile, web, different operating systems, or devices.
Features:
- Visual development environment.
- Limited customization and integration options.
- Not for re-architecting legacy systems.
No Code
Low Code
Hard Code
Use Case
Choose when
- You or your team don’t have coding skills and need to build simple applications or workflows.
- Speed and simplicity in development are the priority.
- Project requirements are basic, minimal customization and pre-built templates will do.
- The project team has developers with some coding skills.
- There is a need for customization and flexibility to meet project or business requirements.
- The application needs to integrate with other complex systems or support advanced features.
- The project requires specialized skills due to its complexity.
- You have access to professional developers and resources even if it means higher costs and longer timelines.
- The application needs to be built for different platforms, mobile, web, different operating systems, or devices.
Features
You get
- Visual development environment.
- Limited customization and integration options.
- Not for re-architecting legacy systems.
- For developers who want to speed up development without losing control over application functionality.
- Some coding and customization with visual modeling tools.
- Integrates with external systems and APIs for more complex project requirements.
- Manual coding in multiple languages using many technologies.
- Most flexibility and customization options.
- Time and resource-intensive, requires an established dev talent pool.
How to Choose the Right Low-Code Tool?
Several factors are assessed when reviewing low-code application platforms, but you always start with identifying project and business needs, problems, and user requirements.
1. Identifying project requirements
Includes gathering user data, information on available resources, and the scope of the application. Ultimately, the decision on the low-code platform depends on the collaborative needs of the team, the roles of individual members, and the budget constraints.
2. Low-code platform features evaluation
Low-code platforms are then evaluated on the following:
- Graphical user interface: Look at the features that represent the front end of the platform and how you interact with it.
- Interoperability with external services and data sources: Check the platform’s ability to connect to external services like Dropbox, Zapier, SharePoint, and Office 365 and connect to various data sources for form and report creation.
- Security: Check features like authentication mechanisms, security protocols, and user access control infrastructure.
- Collaborative development: Review the models of collaboration (online and offline) for developers to work from different locations to design applications together.
- Reusability: Focus on the mechanisms provided by the low-code platform to reuse existing assets like pre-defined templates, pre-built dashboards, built-in forms, or reports.
- Scalability: Look at the platform’s ability to scale applications based on the number of active users, data traffic, and storage capacity.
- Business logic: See the platform’s capabilities to define the application’s business logic which may include a business rules engine, graphical workflow editor, and API for inter-application communication.
- Application Build: Evaluate how the application is built, whether through code generation or model-at-runtime. The former generates the application’s source code from specified models for deployment and the latter interprets models to manage the application’s runtime execution.
- Deployment: Look at the mechanisms to deploy the application including publishing to app stores and deployment to local or cloud infrastructure.
3. Additional aspects to consider
- Application type: Low-code platforms can support various application types e.g. B2B (Business to Business) and B2C (Business to Customer).
- Organization size: The size of the organization is important: small, medium, or large. The platform should match the organization’s size so the low-code platform can support the scale of application development you need.
- Cost and learning curve: How long will it take to get proficient in low-code development and how much will it cost if training is needed?
- Platform Pricing: Especially for small to medium enterprises, the cost of a low-code platform is a key factor. Pricing is usually broken down to a monthly fee or pay-per-use.
- Productivity: The productivity gain of low-code development can be measured by the number of applications that can be developed vs the learning time and total cost of ownership (training and licensing fees).
Kettufy simplifies coding
As a low-code platform built by developers, Kettufy helps you focus on creative tasks.
Start for free. Pay only after 100 monthly page views.
Sign-up and get building in seconds - no payment, credit card, or demo required.
GOOGLE APPSHEET
OUTSYSTEMS
MENDIX
MS POWER APPS
APPIAN
KETTUFY
BUBBLE
KISSFLOW
RETOOL
CREATIO
GOOGLE APPSHEET
OUTSYSTEMS
MENDIX
MS POWER APPS
APPIAN
KETTUFY
BUBBLE
KISSFLOW
RETOOL
CREATIO
Top 10 Low-Code Tools
Many sites feature a comparison of different low-code development platforms. Here is our list:
1. Google AppSheet
Works much like a spreadsheet, letting users build mobile, web, and desktop applications without coding. It is often placed as one of the top low-code platforms.
2. OutSystems
This platform is very well-known for its fast development, scalability, and extensive features.
3. Mendix
Known for strong team collaboration tools, fast cycles of development, and vast integration features, making it perfectly suitable for complex projects.
4. Microsoft Power Apps
This platform provides extremely easy connectivity to Microsoft's suite of services, so it is perfect for those deeply integrated with the Microsoft ecosystem.
5. Appian
Specializes in process automation. This low-code platform allows the development of impactful business applications faster.
6. Kettufy
Focuses on scalability, iteration, accessibility, and GDPR compliance. Best fitted for professional development teams in resource-constrained and innovation-geared environments.
7. Bubble
This platform provides an easy way to develop web applications for nontechnical users. It is flexible and user-friendly.
8. Kissflow
Kissflow fits big and complex organizations due to its broader audience beyond just developers. It enables cross-team collaboration through a common language and interface.
9. Retool
This tool features a drag-and-drop environment that helps a developer build applications fast with as little coding as possible.
10. Creatio
AI-powered low-code platform with process management functionality, including a set of templates and solutions. Features ready-to-use applications and solutions of the Creatio Marketplace to extend functionality.
The Best Low-Code Development Platforms article covers well the landscape of low-code platforms.
Use Cases of Low-Code Development
Low-code development stands out due to its versatility, with currently no limitations on its range of applications.
KPMG 2023 survey of 309 companies offers insight into what kinds of applications are most commonly developed with low-code:
- Development of less complex apps 50 %
- Workflows 50 %
- Optical Character Recognition (OCR) 50 %
- Automation 49 %
- Artificial Intelligence, Machine Learning 48 %
Low-code development has gained significant popularity across various industries, including e-commerce, business process management, social media management, customer relationship management (CRM), content management systems (CMS), entertainment (including game development), and Extract-Transform-Load (ETL) processes.
Low-Code Features and Benefits
According to various sources and surveys, low-code development is favored by companies and programmers for the following benefits:
Build applications faster
Visual modeling tools, drag-and-drop interface, and reusable components reduce development, testing, and deployment time. Developers can meet tight deadlines, deliver more projects, and focus on more complex tasks.
Save costs
Low-code doesn't require a single line of code. Reduced costs also come from lower maintenance costs and efficient use of existing IT and business resources.
Business and market responsiveness
Low-code is perfectly aligned with a rapid application development framework with quick iterations and consistent user feedback. You can quickly adapt to changing market conditions and customer needs as you go.
Reduced maintenance effort
Predefined components mean that there are fewer bugs and integration issues. Low-code allows for quick iterations, so the dev teams can spend more time on innovation rather than constant alignment with business requirements.
Better collaboration between dev and business
Thanks to drag-and-drop functionality, anyone can work with low-code, from professional developers to business users, which makes collaboration easy and efficient.
Reduced training
Low-code empowers citizen developers or users without formal programming knowledge to create applications. This helps avoid the misinterpretation of requirements as citizen developers come from business backgrounds.
Eliminate shadow IT
With a low-code license, you can reduce the temptation for non-IT professionals to seek unsanctioned IT solutions, so you mitigate the risks of shadow IT, ensuring security and data governance.
No more boring programming
Low-code eliminates mundane programming tasks so developers can focus on more engaging work. The shift from coding to innovation and strategic thinking means applications are delivered faster and productivity increases.
Best Practices and Future Trends
The four most recent trends in low-code development are the integration of GenAI into low-code development platforms, maintaining the efficiency of the core components, a shift to a fusion development team approach, and more focus on governance.
Trend 1. GenAI Integrated into Low-code Platforms
Experts predict a future where GenAI will be integrated into low-code development platforms. The AI will generate initial proposals for web and mobile app development. However, evaluating these proposals will still require technical expertise.
Trend 2. Fusion Development
Surveys point out the emergence of a "fusion development" approach that integrates the capabilities of GenAI with the expertise of citizen developers and professional developers. This approach is seen as a future direction that leverages the strengths of both humans and AI.
Trend 3. Maintaining Core Low-code Components
According to Forrester, while GenAI shows great potential in low-code development, the foundational components of the platforms, such as workflow automation and data management, remain critical for low-code platforms to sustain. AI is still not viewed as a tool that can substitute it all.
Trend 4. Increased Role of Automation in Governance
Another low-code development trend from Forrester focuses on the increased role of automation in governance processes. Low-code platforms are being used to solve mundane tasks such as risk management, waste reduction, and order maintenance. To help tackle these issues, low-code platforms develop features such as role-based access, workflow automation, an inventory of "in-construction" vs. deployed applications, and collaboration features such as live co-development and version control.
Conclusion
In conclusion, the low-code development landscape is changing how business leaders, users, and developers approach software development in the digital age. We covered the history of low-code development, its architecture, and how to get started with low-code.
We also reviewed the benefits of low-code development and its use cases across industries.
The choice of a low-code development platform largely depends on the project requirements and the scale of the project, though some platforms, for example, Kettufy allow for projects of any complexity to be developed without code. As we evolve in this digital era, Kettufy and other leading platforms will drive digital transformation and make app development accessible to everyone. Whether you’re a seasoned developer or a citizen developer, the future of low-code is exciting and brings the ability to innovate, streamline, and bring your ideas to life faster and more efficiently.
FAQ
Low-code development is a way of building applications and processes with minimal or no code used. It uses visual interfaces and drag-and-drop instead of traditional coding languages. This means faster application delivery, lower costs, and less time spent on building. Low-code development is for developers of all skill levels, as well as business analysts and non-technical users.
Low-code development platforms give you a visual development space where you can drag and drop application components, design logic flows, create data models, and build a functional application with minimal hand-coding. They often come with pre-built templates, data management, and collaboration features that can be customized to your business needs.
To learn low-code and get started with low-code development follow these steps:
- Define your requirements: What problem are you trying to solve or what application do you want to build?
- Choose a platform: Research and select a low-code platform that fits your needs based on features, usability, and cost.
- Learn the basics: Use the platform’s tutorials, documentation, and community forums to get up to speed.
- Prototype: Use the visual editor to start building your application, and try different layouts and features.
- Test and refine: Share your prototype with potential users, get feedback, and refine your application.
- Deploy: Once ready, deploy your application according to the platform’s guidelines.
Developers are divided about low-code. Some love it for the speed, efficiency, and ability to democratize app development, so they can focus on more complex tasks. Others are skeptical about the learning curve, customization, and the “black box” solutions that can be hard to debug. Most agree it has its value in some cases, especially for simple applications and for collaboration between large teams, with different technical skills.
A low-code developer is someone who uses low-code platforms to build, design and deploy applications. Their role is to understand the business requirements, use the visual and collaborative features of the low code development platform to build the application, integrate with other systems if needed, and make sure the application meets the users' needs. They often work with business analysts, UX designers, and traditional developers to deliver fast solutions.
Low-code platforms' popularity can vary depending on the user and the size of the development team and the organization. But OutSystems, Mendix, Microsoft Power Apps, and Kettufy are often mentioned as top choices for features, scalability, and support.