The purpose of low-code platforms is to enable collaboration and accelerate the speed of application delivery and quickly bootstrap. In addition to that, low-code platforms also empower app developers with pre-built engineering features and reusable components that will help develop and deliver scalable apps
With lots of low-code platforms available in the market to build apps, it is very confusing to choose the right platform that fits your current and future requirements. It is very important to understand the platform features and the learning curve within your organization. IT departments spend months evaluating and choosing the right platform. The general approach in evaluating a low-code platform is training, discovery, estimation, followed by a POC.
This blog provides an overview of the various capabilities low-code platforms should have to build high performing, extensible, and future-ready apps. You can use the following checklist to evaluate various low-code platforms and select the most appropriate platform to serve your current and future needs.
The most essential and minimal set of components that must be there in any low-code platform are a visual development environment with drag and drop utilities, pre-built UI components & binding to a data source.
Role-based access to UI components such as widgets and pages is an essential capability in low-code platforms. Most low-code platforms provide an easy way to hide or show certain sections of the page, or buttons based on the user role. However, you have to pay attention if this matches your use case. If you have a use case, where data has to be filtered based on the role, say you want to show all employees that report to a manager in the organization, ensure you can achieve that without custom coding.
Evaluate the platform for web accessibility if you have strict requirements on UX and visual guidelines to accommodate people with disabilities (ADA compliance etc). Building consumer apps with fancy visual designs need a thorough evaluation.
If you are building an enterprise app, workflow and process requirements are inevitable. Make sure that the platform you choose has a way to quickly build workflows.
Visual drag and drop editor to build responsive web interface
Out of the box widgets such as Table, graphs, buttons, maps etc
Pre built user interface templates for industry specific verticals
Pre built themes
Ability to build custom dashboards
Preview & publish capabilities
In built ALM Tools to build, deploy application to test, staging, and production aided with debugging capabilities.
Role based access mapping to all UI elements , APIS, business rules
Widget mapping to data sources such as RDBMS, No SQL DB
Ability to Consume and map Ul elements to REST and SOAP services without coding
Ability to build mobile apps
Ability to build workflows with drag and drop editors and map them to User Interface
Customizable framework to adapt to your brand pattern and complex business requirements
Ability to build data model visually
Declarative ways to build business rules
Ability to build context aware apps via conversational Uls, ML, loT data.
Data sync ability from external sources
Support Chatbot frameworks
Gentle/Moderate learning curve
While stand-alone apps make a good use case for a POC or an MVP, integration with upstream or downstream systems to share data and events becomes important for enterprise agility. One of the use cases of low-code platforms is to enable IT to build Apps to improve operational efficiency. Most companies use several kinds of software and data systems. The availability of a catalog of connectors is a must-have feature of a good low-code platform.
Integration adaptors for CRM and ERP
Integration with social platforms such as Facebook, Instagram, Linkedin
Integration with project management tools such as Asana, JIRA, etc
Publish/Subscribe & event based models
Ability to leverage Al services like IBM Watson, Microsoft Azure & build machine learning capabilities
Ability to build custom integration adaptor and share SDKS
The reusability principle states that “components should be easy to reuse.” There are plenty of benefits with reuse including, increased productivity and quality. Most Low-code platforms allow app developers to build custom reusable modules/components. For example, if there is address validator functionality that is to be implemented in multiple pages across the app, a UI component with address information & validate button which integrates with APIs provided by vendors such as usps.com or google will significantly reduce the effort (code and quality). The reusable components can be used as infrastructure pieces than be used in more than one app.
Support component-based architecture
Flexibility to build app from scratch or use existing components (templates, themes, APIS etc)
Easy to build custom components & widgets that can be reused across apps
Collaboration is the focus of low-code platforms. Therefore, all low-code platforms support the collaboration of team members throughout of the box support to various version control systems such as Github, bitbucket, etc. Successful development processes require cross-functional teams to be able to independently develop, build, deploy and test crossing technical barriers.
With visual drag and drop editors to build the front end, UX designers can work on the design using the low-code platform and the developers can add the required logic to make the page fully functional. Low-code platforms are tool kits that an entire team can use and productively participate in the app development.
Multi User development & Collaboration
Support VCS systems such as GIT, SVN, bitbucket (Cloud and Enterprise)
Easy to build custom components & widgets that can be reused across apps
As I stated earlier, rapid development and deployment of apps to end-users is the primary goals of low-code platforms. The ability to deploy the app to various environments (dev, QA, stage) and ultimately release to production should happen effortlessly through built-in deployment and life cycle management processes. Most low-code platforms have the ability to configure cloud-based automated deployment. The ability to support container deployment tools such as Docker and OpenShift / Kubernetes multi-container deployment is a must have to build scalable apps.
Ability to run automated tests
Deployment Options to deploy the app on any public orvirtual private cloud, data center
Finally, a few other pointers to consider in the evaluation of low-code platforms are –
- Ensure that the platform you choose has a big enough community to discuss best practices
- If you are considering a low-code platform for legacy modernization, make sure you have a well-thought data migration plan
- Ensure that there is no vendor lock in and you can walk out with the assets you have built at any time.
- Prefer platforms built on open source frameworks to eliminate vendor lock in & allow extensions
- Platform cost, licensing terms in short term and long term
The Mendix-Center of Excellence at coMakeIT has certified Mendix developers with extensive experience in working with customers to help analyze requirements, and rapidly develop/deploy applications. We will be delighted to talk to you and share our insights and expertise should you have any questions.