Ren Xianghui, founder of Mingdao Cloud
Building software with no code, or very little code, is not a new concept. In the early days of enterprise software development in the 1980s and 1990s, there were influential benchmarking products. Microsoft added Access database applications to its Office suite in 1992, for example, and FileMaker, which Apple acquired, launched in 1985. Both apps are still in operation today.
Early low-code development tools can only run in a single machine or LAN environment, mainly aimed at enterprise IT professionals, to help establish a variety of flexible business database requirements, to achieve routine add, delete, check and change application scenarios. Many of Access’s skilled users are non-software developers who can design and publish their own business data sheets so that a department can share a database.
The real Application platform-type products emerged around the turn of the century. In 1999, Intuit, a well-known financial software manufacturer, launched QuickBase, which, as its name implies, is to build database applications quickly. The product remained tepid for a long time until it was spun off as a separate business in 2016. But it did open up a new way of implementing software, allowing applications to run on a packaged platform without having to compile and distribute code. This is a key step in unlocking user productivity and expanding the user base, as the application platform takes over the prosperity and expertise of a very limited number of enterprises and users who can fully master software development and deployment. As a result, this category has been referred to as APaaS (Application Platform as a Service) in recent years.
With the development of cloud computing technology, this category has gained new life. Building cloud native applications becomes easier and more straightforward. All applications built based on APaaS are Serverless, which even blurs the boundary between development and use. The user is the developer, and the developer can also be the direct user. In 2014, The market research company Forrestor formally proposed the concept of low-code and called the related category low-code Application Platform (LCAP). Gartner then named this category high Productivity Application Platforms (hpaPaaS). In the past two years, industry wide category definitions of zero-code/low-code platforms have focused on the term APaaS.
During the development of this category, nature evolved two basic technological paths.
1. Rapid development platform based on IDE framework
This technology approach fully visualizes the traditional integrated development environment (IDE), allowing developers to use configuration panels and consoles instead of a significant percentage of code writing. Developers can define front-end interface components, data source binding mode, data model, business logic and workflow freely. The system automatically generates the corresponding source code, and developers can even further modify the source code. Typical products along this technology path are Outsystems in the US and Bettyblocks in Europe, both leading in their respective markets.
IDE mode of application platform can provide higher flexibility, especially for the front-end interface can have autonomous control ability. However, IT still involves more complex application development process management, and a large number of technical language, generated applications still need to compile, publish and deploy, so the main target is still IT professionals, and even need to have a certain code development foundation, learning and master a relatively long time. Its main value lies in improving developer productivity and reducing duplication of effort. Strictly speaking, a platform that generates code and compiles it is not an application platform, but only a development platform.
2. Model Driven application platform
In the application platform market, another branch of technology has become the new mainstream choice in recent years. It also further reduces the code development effort, and even implements zero code altogether, allowing business people to directly complete or participate in application implementation.
Model-driven, as opposed to code generation and compilation. Once the user constructs the data model, view form, permission role and so on in a visual way on the application platform, the application can run directly in the runtime environment provided by the platform, and there is no need for additional compilation and distribution. Application platforms in the form of SaaS only need to complete user registration to directly set up and use applications, and do not need to configure an independent application running environment.
By abandoning the traditional DevOps process, a model-driven application platform exponentially improves implementation efficiency and expands the user base. However, it also has to sacrifice the freedom of application implementation, the user can not design the front-end interface arbitrarily, and the complexity of back-end logic has certain limits. On the other hand, most enterprise software, especially CRUD applications, has a fixed interaction paradigm.
Airtable, Smartsheet, Zoho Creator and Monday.com, domestic Jiandao Cloud, Partner Cloud, Tritium cloud, and our own Mingdao cloud are all application platforms for model driven technology routes. These products will be closer to an end-user application than a development tool.
3. Integrated design
While there are generally two distinct technology paths for application platforms, specific products can learn from each other. For IDE mode application platform, it may also provide preset templates, so that the data model design is fully visible, to reduce the user start learning cost; For model-driven application platforms, it also introduces low code capabilities, allowing users to increase flexibility with scripting languages, expressions, and functions. It can be said that the competition in this category is a balance between product capability and ease of use. No matter how powerful the application platform is, it is impossible to match the native development mode. No matter how simple and easy to use the platform, if it cannot meet the needs of users, it is also not competitive.
Compared with the early products of more than 20 years ago, the main advances of modern application platforms are as follows:
1) Integration with cloud computing environment, so that users can directly access cloud native capabilities at a very low cost.
2) Advances in Web application technology frameworks allow browsers to host complex front-end interaction requirements.
3) Integration with mobile technology, so that users can directly generate cross-platform mobile applications.
4) The level of interaction design for complex logic is improved, making it possible to realize complex application logic with visual configuration.
5) The supporting technical framework is increasingly rich, including database, cache, object storage service, search engine, container technology, operation and maintenance orchestration automation, so that the application platform can provide completely consistent performance with native application development.
In the foreseeable short term, application platforms are poised to replace a significant percentage of native code development and dramatically increase productivity in the enterprise software industry. Market expectations around user experience and logic implementation will soon be better met.