Low-code app builders have become increasingly popular recently and many people have questions about how it can help (or even hurt) IBM i development. A Low-Code tool is "software that provides an environment programmers use to create application software through graphical user interfaces and configuration instead of traditional computer programming. The platform may focus on design and development of a particular kind of application: such as databases, business processes, or user interfaces such as web applications. Such platforms may produce entirely operational applications, or require additional coding for specific situations. Low-code development platforms reduce the amount of traditional hand-coding, enabling accelerated delivery of business applicationst," according to Wikipedia.
These low-code apps are quickly taking over as the development method for many applications that would normally be coded by hand. Low-code development tools create useful apps by configuring them interactively with little or no programming required.
Depending who you ask, these low-code apps are either a blessing or a curse. Many directors, managers, and C-Level people love the idea of these low-code apps. Whatever helps get useful apps into their users' hands faster and cheaper... they are all for it. But some IBM i developers have a different thought process on these low-code apps. They have questions about the day-to-day use of low-code app builders, including:
- Will I lose the ability to control the fine details of my app when using a "builder?"
- Will this tool take away my job, or make my job seem less valuable?
- How do I handle those users that are very picky and demand that minute details be built into the app?
Let's discuss each one in detail:
Will I lose control of the finer details of my application?
Many low-code apps builders were created and designed by IT professionals with developers in mind. The goal is to get companies to use low-code apps wherever possible when working on custom coding projects. Many low-code apps allow you to integrate front-end and back-end code wherever necessary to feed or supplement the apps. This gives the developer more time to focus on the business logic of the application.
There are always going to be highly intricate applications that are unique and require hands-to-keyboard coding, this will always be a part of development. But with all the support that needs to go into such a detailed project, using low-code tools to help create those support needs gives you more time to work on the primary application and deliver applications on time.
Will this make me less relevant/redundant?
App building tools can change your job (some say for the better), but they are not going to take it away. People are still needed to understand the databases and handle the analysis involved in business applications. Many IBM i developers are "Programmer Analysts," a job that has a broader skill set than just entering code. A low-code tool can speed up development, but not take it over.
Successful achievement usually brings more demand. Once you figure out how fast you can deliver an app to your users, it will create more requests. Many users would welcome more apps out of IT but hold back their requests due to request backlogs on projects and bug fixes. With low-code tools you could actually be busier then you were before!
3. How do I handle picky users needing minute details?
Many "picky" users, if forced to choose, would choose something over nothing. Users, in general, will be happy with an application that gives them something, even if it isn't 100% aligned with their top-end specifications that they envisioned. But you want to offer your users exactly what they want... and you can still do that. Low-code tools can be used as a stopgap application until your development team can develop a more robust application that meets the exact specification from these users. You can also use low-code apps as a base and introduce custom code into specific points, or even launch other apps where appropriate. You can also design your custom apps to trigger a low-code app to appear as a pop-up at specific data entry points. All that said, low-code app tools can actually help and support those highly detailed and complex applications you are building.
There can be many benefits to having a low-code tool in your development arsenal. When used properly, these tools can help you leverage your knowledge of how your system and business processes work into quality applications. These tools can also help reduce time spent on deploying modern web and mobile applications that your IBM i users are demanding. These tools also help lower the learning curve when it comes to coding modern user interfaces. Finally, most users can't tell when their apps are built with a low-code tool or created by hand. All they see is that you are giving them the tools they requested faster and with high quality.