• image
  • image
  • image
logo logo
  • Home
  • View Jobs
  • Services
  • About Us
  • Blog
  • Contact Us
img img

Low code platforms

August 19, 2021 The Editorial Board- Teamware Solutions

Developers without code!!

picture courtesy- https://dri.es/low-code-and-no-code-tools-continue-to-drive-the-web-forward

Low code platforms (LCP) are mushrooming everywhere. It is perceived as an exotic development paradigm with heavy marketing words like “Citizen Developers” being flashed wherever such platforms are being marketed. Beneath all this fad; seasoned technologists not just developers will know they have been talked about for more than decades. Programming languages like COBOL have been promoted in their era for the so-called “Citizen Developers” they used to call them business folks. We all know the reality as it unfolded, no business folk ever have written a line of code using COBOL. Only few daring business folks would have ever modified a COBOL code to get something done quickly.

For the new generation of developers, the question lingers what is that they are supposed to do in an environment where there is no code. Developer = Code is established fact. Now in Low Code there is minimal code. So, are developers no more required for building applications for such runtimes?

The answer is No. In this dispatch we will look at our interpretation of the common denominator amongst many LCP solutions in the market and those which are sprouting as we write this.

Do not get tangled with difference between Low Code and No Code. There are subtle differences which gets discussed but for all practical senses the line is too thin and does not deserve separate categorization. If at all you are comfortable you could address them in unison as Low/No code platforms.

Architectural perspective

 

We are not going to talk about the architecture of the application which is built using LCP. We are rather going to present our view of how a LCP would have been built. We will get there after busting two major apprehensions about the LCP that hinder acceptance of new facts –

1. LCP’s do not generate code for developers
2. You cannot port an application built using LCP to pro-code approach in future

Behind the LCP one can expect a system of the sort –

There are two dominant solution elements in this architecture – Designer surface and Production runtime. Designer surface is a portal that makes the app creator create the app. This is the magic surface which removes much of the complexity involved in developing an app. Needless to say few companies excel in this capability whereas few others struggle. Much of success of LCP development depend on the success of this surface.  Offered in a browser interface the designer surface has maximum reach to different operating systems.

Production runtime on the other hand is responsible for servicing the users of the app. Interface for the users is again rendered in a browser to ensure maximum reach. The runtime is typically light weight façade to the much of heavy lifting that is performed by the Runtime UI Generator. Production runtime is typically geographically distributed to ensure maximum coverage.

Before we dwell on Runtime UI Generator, we must understand the critical component of LCP is the Proprietary intermediate UI Representation. This is the format which helps a specific LCP trade off between performance and ease of creating the UI via designer surface. In couple of platforms, we explored – Microsoft Power Apps and unqork this proprietary format is stored as JSON. This format we noticed is not documented. Thus, leaving even a skilled developer to use the Designer surface in a browser to develop an app.

Configuration data is a storage medium where these JSON files with lot of other meta is stored. This need not be a relational system. This could be a file storage. That is left for the speculation of curious ones. For a creator the knowledge of Designer Surface is more than enough to get the job done.

Runtime UI Generator is the heart of LCP that translates a proprietary JSON to HTML which can then be delivered via the Production runtime. This also takes care of applying custom styles, including custom or app specific script snippets, and drafting the page layout for browser to render the application.

That brings us to the question does LCP target only web-based applications? The answer will be a resounding Yes for now. However, these web-based applications can be viewed in variety of form factors – Desktop/Laptop, Mobile and Tablets. Native desktop/laptop and mobile/tablet applications are a thing of future as we stand in the current state of LCP development.

We did not talk much about the non-functional elements in the architecture like – Security, Telemetry of apps, DevOps etc. We do not intend to indicate they are absent. Rather they are omnipresent in almost any LCP you select. They are more in-depth topics which we believe can be picked up once we comprehend the beast in the playground – LCP. That is why we took a simplified approach to visualize how an LCP would have been built.

This knowledge or thought drives us towards finding right fits i.e., right kind of requirements that could be built using LCP. Please do not rush to use LCP for every requirement. LCP is no silver bullet for lowering the application development complexity.

We highly encourage you as organization to consider developing an LCP policy where you could define the kind of business requirements that will be developed using LCP, the kind of governance required and more importantly the role of developer in this endeavour.

Developer contribution

 

This is highly contentious topic. What will developer do if the complexity of application development is reduced so much that anyone with basic computer literacy could build a reasonably working app? Devil is in the detail is what we will say.

Basic computer literacy will only get you to “reasonably working” app. To get to the level where a citizen could develop an app that is robust enough functionally to serve can only come with experience. Citizen developers are pitched only to offload developers work load. Thus, developers should focus on high throughput and complex development tasks. One example we experimented with that worked wonders for us was to let citizen developers build user interface and let developers build the API’s that are required to fulfil the functionality.

Mature organizations can leverage from the LCP policy to guide developer engagement to ensure right mix of developers to citizen developers in a project.

As developer you cannot neglect the potential that LCP has for the IT. You should watch closely and build special skills on how to debug particularly when you could not place breakpoints and hold the flow of execution. You could also use LCP for situations where you are building tools that help you to deliver tasks quickly.

We asked few developers to demonstrate to themselves on how they will use LCP for their own use. To our surprise following strong use cases in the format of apps emerged

1. Admin portal for any bespoke application
2. Insurance premium calculators for speciality lines
3. Credit rating prototype for business health
4. Project execution risk manager

The message that we intend to broadcast is keep an open mind towards this platform and don’t look / evaluate it using the typical developer mindset. Afterall the goal for LCP

 

 

 

Post navigation

Previous Article
Next Article

Recent post

  • The Swiss Army Knife for developer
  • Time Management Techniques
  • Habits of Successful Leaders
  • Error in probabilities
  • Another gem from the past

Archives

  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • October 2023
  • June 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • January 2021
  • December 2020
  • October 2020
  • August 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • Home
  • View Jobs
  • Services
  • About Us
  • Contact Us
img img