As discussed in the second post, there are 3 high-level actions for the API lifecycle: API publishing, API management, and API consumption. Typically, the activities for API publishing and API consumption are done in an app development platform, and activities for API management are done on an API management platform.
In this post, I will introduce you the world of low-code platforms that have taken the idea of Application-Driven Development (ADD) as a mantra and have made life easier for app developers around the world, including citizen developers. In some ways, these low-code platforms have become the torch-bearers of the new age app development tools.
A good low-code app development platform should be able to enable both the API publishing and consumption and have solid collaboration with an API management platform, as well. Let’s delve into the critical features that will make any low-code development platform great for ADD.
Auto-Generation of APIs
For some time now, low-code app development platforms have been auto-generating code based on the visual app development. It’s time to do the same for the APIs. Some of the most common APIs that can be auto-generated include DB services, integration services, custom-coded business logic, and security services.
For instance, it’s imperative that low-code platforms, at a minimum, should auto-generate CRUD APIs (see Figure 1) for the associated DB entities. More advanced platforms can also API-ify the SQL queries and DB stored procedures, allowing total control for app developers.
Figure 1: CRUD APIs auto generated in the Wavemaker low code platform.
Other services like security and custom-coded business logic are also great candidates for getting
API-ified. For instance, in your CRM app, if you have a custom coded function that returns a list of all users from APAC zone, then that function should have been API-ified automatically.
Automatic Conversion of SOAP to REST
APIs these days are invariably REST-based, but there are still remnants of legacy SOAP-based APIs, and modern low-code platforms automatically create a REST API endpoint. This auto conversion is especially imperative in an enterprise setup in which legacy baggage is seen far too often. The automatic availability of REST APIs is an important step in modernizing legacy apps.
Easy Consumption of APIs in an App
Out-of-the-box integrations and connectors are increasingly making their presence known in various marketplaces. Many app development platforms have these connectors available out of the box. Often, these platforms do not realize that there is always a custom API requirement for an app. Hence, there are all kinds of integrations. Both out-of-the-box and custom integrations should be treated equally and the developer should be able to create a custom connector with as much ease as the use of a readily available connector.
Ease of Design, Testing, and Sharing in APIs
Another pitfall in many low-code platforms is that they tend to focus a lot on API consumption through connectors and forget about API publishing aspects. In a connected app world, it is imperative that your own app has easy ways to create, design, and share APIs. Inbuilt tools that can design your APIs (for example, configure path parameters versus query parameters) with ease, test them (through an integrated testing sandbox), and then publish them (private access and public access) are important features in any modern low-code platforms. There should also be easy integration to publish these APIs into an API management platform so that they're instantly available to the API consumers.
APIs Are Still a Tad Bit Technical
Modern REST APIs, though simplified, are still quite technical in nature. There is still technology involved in understanding path versus query parameters, headers, auth headers, API keys, etc. Many low-code platforms that are positioned as app building tools for business users and citizen developers still find it difficult to work directly with APIs. A smart low-code platform abstracts these API complexities and provides you with a nice UI based connector to work on. This is where the out of the box connectors become really helpful.
ADD is a concept that is still catching up the attention of the developers the world over. However, when ADD becomes easier through a low-code app development platform, we are truly looking at a futuristic app that is developed for the modern connected digital world.