Low-code development is gaining acceptance in organizations looking to empower non-developers to create applications, hoping to eliminate backlogs and overcome the shortage of programmers they face.
But another huge benefit of these frameworks and platforms is in the area of mobile development. These modern solutions have evolved from the RAD tools of days gone by and are being utilized beyond creating basic workflow applications in professional developer toolboxes.
RELATED CONTENT: Low-code’s a rapidly rising sector, but will it disappear?
I had a chance to connect with Altova CEO Alexander Falk on the subject, and he gave his perspective on the rise of low-code tools for mobile application development, and the benefits they provide for both developers and “citizen developers” alike.
SD Times: What is it about low-code tools that make them a good choice for mobile development?
Falk: Given the vast differences between the native SDKs/APIs on the various platforms, and the differences in native programming languages, it becomes immediately obvious that any cross-platform mobile development environment needs to introduce a layer of abstraction that sits between the developer and the native APIs. Therefore, as you are building that abstraction layer, you are presented with the great opportunity to not only provide the developers with a program-once and run-anywhere environment, but you can also help save them a lot of time and effort, by reducing the amount of code that a developer has to type to achieve the same results.
Thus, a really powerful abstraction layer will typically be based on a low-code approach that not only makes classic developers more productive, but also expands the range of people who can write mobile apps by making it easier for power-users, DBAs, IT experts, and citizen developers to create mobile apps using the same environment.
How can low-code tools create an app that can run on all variations of devices and operating systems used in the world today, and how do you deal with display for phone vs., say, tablet?
One of the main reasons is the abstraction layer that I mentioned earlier. That already takes care of most of the operating system differences between devices, and even between versions of the operating system running on those devices. And when it comes to display form factors, it can also automatically compensate for a lot of the differences with built-in scaling, etc.
However, Altova’s mobile development framework, which is called MobileTogether, also lets the developer customize the user experience for each platform, whenever that is needed. This ranges from the ability to use keyboard shortcuts on machines that have a keyboard to the fact that sending SMS messages or using GPS positions is only possible on devices that have the necessary capabilities, as is common on mobile phones, but not on all tablets, laptops, or hybrids.
In addition, the developer can customize the UI presentation based on which operating system the app is running on, as well as whether the display is in portrait or landscape mode, or what the width of the display is (e.g., smaller phones vs. larger phones/phablets/tablets), to maximize the usability and convenience of the app for the end-user and to comply with device-specific conventions or UX guidelines. This can range from showing/hiding certain columns in a table based on the available display width, to completely re-arranging the presentation for different form factors.
Talk about MobileTogether. I recall an earlier story you shared about how you created the first version, and how it has evolved and grown into what it is today. Can you retell that now? Also, is MobileTogether now Altova’s biggest growth product?
MobileTogether in its first version had a somewhat limited feature set that made it primarily good for really just two kinds of applications: data collection (i.e., forms-based data entry) and data visualization (i.e., dashboards with charts).
Over the past several years we have grown MobileTogether way beyond that and made it into a full-blown mobile app development platform that includes every possible feature and control you could want, including audio recording/playback, video recording/playback, GPS, maps, barcode/QR-code scanning, signature capture, rich text, forms, tables, image capture/display, image manipulation, PDF generation, etc., with deep back-end integration to all major database systems, REST web services, and all JSON or XML data sources.
As such, together with our line of other server products (e.g., MapForce Server, FlowForce Server, RaptorXML Server), MobileTogether Server is part of the Altova Server Software family, which is indeed our largest growth product line.
Is Altova in the camp of “low-code tools are for non-developers” or do you believe that low-code solutions target professional developers as well?
We are firmly in the camp that says: low-code tools are an immense productivity enhancement, and are, therefore, ideally suited for both professional developers as well as non-developer technical users, such as DBAs, IT experts, domain-experts, and citizen developers.
While some professional developers may initially have avoided or even ridiculed low-code tools, we see that many of them have now embraced this approach – especially for cross-platform development of solutions that need to support not just multiple mobile operating system, but also classic desktops, laptops, Surface devices, and even web-browser clients.
Some folks are saying that the evolution of low-code tools involves integrating with such things as CI/CD pipelines and other DevOps tools. Will that ultimately help “citizen developers” get more out of the tools, or will all of that work shift low-code tools more to professional developers?
We are huge advocates of supporting developers in tackling every single aspect of the development lifecycle. For this very reason, MobileTogether includes direct support for (a) simulating solutions within the development environment; (b) simulating solutions using a back-end server; (c) connecting to the development machine from an actual mobile device and running the app there; (d) handling full localization of the app; and (e) allowing the developer to record test cases, and later execute those test cases against newer versions of the app and analyze any differences.
So in that sense, several typical DevOps tools from the testing and QA realm are already making their way into low-code tools such as MobileTogether. And further integration with a CI/CD pipeline is certainly possible, too.
All these features together provide for a very robust development environment that supports developers through every stage of the implementation, deployment, testing, and maintenance phase of a project. And as such, they probably play a role in indeed shifting low-code tools more towards professional developers.
However, I would argue that citizen developers also stand to benefit from having better testing tools built into low-code environments, as that will help them create better applications and to maintain quality with subsequent releases.