Microsoft has been touting its Power Apps and Power Platform as leaders in the low-code development platforms. But what does that actually mean?
What is a low-code development platform?
According to several websites a low-code platform is a “visual approach to software development” and meant to “streamline the application lifecycle”. In my words that means: building apps with a friendly user interface with drag an drop features. The coding is then simplified closer to Excel formulas. In short, it helps build apps with “low” or minimal code written by the user. By getting a graphical interface the application writer spends more time on the business side of the app and less time on the nuts and bolts of making pieces work. It may also help with technical challenges of communicating and saving data. In theory this makes writing custom apps easier, more consistent, and thus cheaper.
Why use a low-code development platform?
If the app is easier to write then it may be possible for a “power user” to be able to write an app instead of needing a professional developer resource on your team. Perhaps initial creation of the app may still need a professional developer but a non-developer may be able to make some updates and adjustments later. MS has a recent article here where they tout dramatic efficiency improvements. Mendix touts here that by 2024 low-code applications development will have reached 65% of application development. One bonus (depending on the platform) is that apps may be able to “upgrade” themselves over time to automatically support a newer OS or new web browser. In theory it should improve application reliability as more areas of the application are automatically generated by the platform.
Who provides low-code development platforms?
Gartner has published a list of low-code development platforms here. Low-code platforms include Appian, Microsoft Power Apps, Salesforce Platform, and Mendix. Not all development platforms cater to the same audience so you do need to look at each as a separate offering with pros and cons to what they offer. For example MS Power Apps features loads of integration with other Microsoft products and partners, but may not integrate well with an Oracle based system.
After working with the MS Power Apps platform, I can see some benefits to maintainability where the app should upgrade to support newer browsers and features over time. However, I did not find the app builder significantly easier to use than writing an app myself (but this is a developer talking). It still took time to learn the application builder tool and I really do not see a “power user” creating a complicated app. There is of course some ROI to consider as well. These platforms will have a regular license fee (and probably a per user access license depending on what it needs) and you will still need to have someone put the time into getting an app put together initially. A classical custom developed app may have the same upfront costs. The real savings is how well one can make use of the platform to reduce development costs/time over the life of the app. So things to consider are lifetime of the app (longer the better for low-code), complexity of the app (simpler the better for low-code), and your internal resource availability (do you have access to developers or power users).