Being in the market of application development for almost a decade, my team at WaveMaker has been through some of the big shifts in the application market. In my opinion, one such shift is the magnitude by which IT budgets have been slashed over the years. Although this could be due to many reasons, what is important is that this budget cut has caused a demand growth for low-code platforms, whose promise is to churn out applications faster and in an economical manner. Besides WaveMaker, companies like Outsystems, Mendix, Appian started catering to this market, but I believe there is still more value to be created and open-low-code platforms will be driving it.
Emergence of Open Low-code
A major portion of IT budgets goes into the development and maintenance of core enterprise applications. This includes LoB apps and apps with emerging cloud-native architecture which is built by mainstream developers and not business users. What I have seen is that for developers, code control and innovation are very important. We thought for low-code to be more valuable to developers, it should have an impact on how mainstream developers build and maintain applications. Open low-code platforms do just that.
Let’s understand how open low-code addresses both the productivity needs and key concerns of an enterprise as we have seen.
- Built for professional developers
Professional developers often build applications that are long-lived and have complex business logic. These applications are highly secure and integrated with the enterprise ecosystem and in some cases are fine-tuned for cloud scalability. Open low-code platforms provide developers an end-to-end ability to handle such complex application needs; from best practices around the generated code to cloud-ready deployables. According to me, because the generated code is easily extendable with their favorite IDEs, over and above mere productivity gains, open low-code platforms also have higher chances of developer adoption.
- Long-lasting technology
Proprietary technology frameworks will result in developers hitting a wall sooner or later. Open standards-based best-of-breed application frameworks allow developers to easily learn and adapt the platform as they can find greater learning resources. Working with enterprises we have seen that if your stack is modern, it gives greater runway to your development teams as well as to the applications being built. Look for modern technology frameworks like Angular 7, Spring, REST APIs, OAuth, SQL, etc. that allow the best performance as well as easy integration into your enterprise ecosystem.
- Best practices for code generation
Given that much of the application, code is auto-generated by a low-code platform, we often found developers are concerned about its quality, performance, and flexibility aspects. We have seen many low-code platforms generate proprietary code that is hidden and not easily readable. Open low-code platforms make the entire application code (frontend as well as backend) fully visible. Also, professional development teams like to use tools of their choice (Eclipse, IntelliJ) for code extensions. Open low-code platforms provide the ease of interoperability of code changes across inbuilt editors as well as external IDEs (Eclipse, IntelliJ), etc. The best strategy in my opinion is to adopt a Declarative to Code Behind approach for low-code platforms.
- Pluggable Enterprise Architecture
Application development encompasses the full lifecycle from create, integrate, validate, test, deploy and update. For enterprises, there are existing systems that development teams integrate the code with to take code live production to end-users. Open low-code platforms can seamlessly integrate with the overall enterprise architecture like existing data sources (Database, ERPs, etc), security (LDAP, AD, SSO), DevOps (CI/CD), repositories (VCS), hosting systems (App Servers, Kubernetes) to name a few.
- Cloud-native delivery
Low-code platforms that support continuous delivery mechanism allows code changes to be quickly deployed into production environments. In our experience with customers, we have seen enterprises have a mix of VMs as well as container runtimes. Also, enterprise applications run on the multi-public cloud as well as private cloud setups or even on-premise environments. Open low-code platforms enable deploying the code as well as applications seamlessly into any of the above environments. It also provides the option to deploy/test code directly into custom delivery pipelines. The ability to integrate directly to Kubernetes as an upcoming container runtime gives greater flexibility in terms of portability, scalability, and DevOps efficiency within the enterprise. That is what we at WaveMaker are aiming to provide. With WaveMaker, enterprises can directly deploy applications into the Kubernetes cluster for better scalability and performance at runtime.
Need for Open Low-code
Open low-code platforms, to a large extent, aim to address the pain points of developers trying to build mainstream enterprise applications. It can fulfill both the productivity needs of the developers as well as their key concerns around modern best practices for application development, integration, and delivery. With such platforms, businesses can be sure of better adoption amongst developers and thereby ensure a faster release cycle of quality applications without straining the IT budget.
This blog post is the second of two-part series on developing hybrid mobile applications. In the first part, we looked at what is a hybrid mobile app and why hybrid mobile applications are very popular within enterprises. In this part, we will see how WaveMaker can simplify hybrid mobile app development using visual RAD methodology.
Let us first understand the overall deployment of a hybrid mobile application when using WaveMaker. This will simplify our understanding of the capabilities of a hybrid mobile application developed using WaveMaker.
The figure below shows the overall deployment of a hybrid mobile application.
The Hybrid Mobile Application consists of 2 parts:
- Backend application - The Server-side portion of the application (REST APIs, Custom Business logic, Database Integration logic as well as any other external service Integration) is packaged into a WAR file. The WAR file is deployed on a Java Application Server. WaveMaker provides the default Cloud to deploy the WAR file automatically.
The Device-specific client application communicates with the Backend application using REST APIs. WaveMaker RAD enabled visual drag and drop development of the entire hybrid mobile application (client and the server part). This model simplifies the process of building, testing and running hybrid applications. WaveMaker RAD takes away the heavy lifting of integrating to databases, custom business logic, legacy systems as well as any cloud service that you may need for your mobile application. You also can easily configure security (authentication, authorization) and backend logic for the mobile application.
Hybrid mobile app development using WaveMaker
To get started, you can choose whether to build a responsive web or hybrid mobile application. The reason they are different is you will get UI layouts, Templates, Widgets, etc. specific to the mobile device. Once you develop the application for one format, you cannot transform to the other.
With WaveMaker 8, now you can apply the same Visual Drag and Drop approach to Hybrid Mobile Application development. You get same the simplicity of drag and drop, readymade HTML5 widgets, device-specific widgets, seamless binding, and a 1-Click device-specific build.
WaveMaker RAD provides many device integrations that make it easier to develop hybrid mobile apps. These are,
- Device Widgets: You can just drag and drop these widgets on the Mobile Canvas and you have the ability to integrate device capabilities into your application. Like any other WaveMaker App, you can then associate data to these widgets using the 'Data Binding' concept.
- Device Templates: You have now the ability to choose specific templates for the hybrid Application. WaveMaker provides a number of out-of-box mobile templates that you can choose to use. You also can develop your own custom mobile template using the Template Builder provided in the platform. These out-of-box templates are designed with the right layout, pixels, coloring scheme that resembles the mobile device.
- Device Variables: In addition to the Device widgets, WaveMaker also has pre-defined device variables that can be used to bind mobile data to widgets. The out-of-box variables provided is for fetching data from,“calendar”, “camera”, “contacts”, “device”, “file” and “scan”. See below the device-specific variables provided for mobile hybrid applications.
- Device Themes
WaveMaker provides Device specific look and feels styling for your apps using Themes. There are Themes specifically for each type of device.
Great, so it is easy to Develop, what about my Device specific Build?
WaveMaker provides the ability to quickly build and download the hybrid application to the target device. A ready-made build infrastructure is automatically provisioned for the developer. The developer just needs to configure the mobile configuration required for the build.
When clicking on the Build button, WaveMaker automatically packages the required HTML, CSS, JS, and Apache Cordova files to create the device-specific App file. In the case of an Android device, this is a .apk file. Once the build is done, an automatic email is sent to the developer, with the link to the device-specific application file (.apk for Android), as shown below.
The developer just needs to download this file on the target device and the application is up and running on the device.
Isn't this great, you now have a full-fledged Visual RAD platform to greatly simplify and speed up Mobile Hybrid Application development and deployment. Log in to wavemaker online and start developing your own Hybrid Mobile App.