LOW-CODE
PREFABS
SOLUTIONS
EVALUATE
Wired for Experience*

Worldwide IT spending has been substantial in the last few decades. While these legacy systems are robust, the challenge is in maintaining them and making them relevant to evolving business environments. Especially in 2020, where the priority of investment in technology is more focused on cost optimization and operations. In such times, how do you modernize and extend the capabilities of existing legacy systems?

How do you transform IT infrastructure, cost effectively?

The technology modernization journey is one that demands agility, mobility, and scalability. Given these primary business drivers and with initiatives driven by growth and transformation, there is an increase in IT spending, especially on public cloud services. The revenues from worldwide public cloud services market according to IDC totalled $233.4 billion in 2019, and the IT spending on cloud infrastructure is forecasted by Gartner to grow by 19% in 2020. What makes investment in cloud services promising is that it offers cost optimization, operational resilience and business agility.

The public cloud services market includes Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). Cloud application development and deployment services is a sub segment of this market, referred to as Application Platform-as-a-Service (aPaaS).

The Potential of Cloud Application Development Platforms

A promising proposition in the technology modernization journey

Let's take a look at the core advantages of cloud application development platforms and how they offer cost optimization, collaboration, flexibility to utilize resources optimally, mobility, and accessibility to the latest technology and software.

Time-Sensitive and Cost-Conscious Demands of Enterprise Application Development

The potential of cloud-based, low-code platforms

In the high-speed journey of modernization, enterprise application development projects have become time-sensitive and cost-conscious. Cloud-based, low-code platforms address both these demands. Not only do they help you to develop applications with speed, they also enable you to utilize resources optimally, reduce development cycles, improve time-to-market rates and lower costs.

A cloud-based, low-code platform, could typically be considered as a Containerized Cloud, one which comprises many instances. An instance here can be compared to host computers which do more than just storing and managing data. In a work space instance, users can develop apps independently and they each get a container which isolates their workspace from the other users. In an app deployment instance, when apps are deployed in the cloud, a separate container is allocated for each app, thereby ensuring apps are deployed independent of each other. In a platform, multiple internal services are managed and run using separate Docker Containers and they can talk to each other with REST services. Platform containers orchestrate and direct the Docker engine to perform operations such as starting or stopping a user container.

Rather than relying on expensive, one-time, customized solutions, low-code platforms offer the flexibility to customize, collaborate, integrate, and deploy according to your changing requirements. The important features of low-code platforms include drag-and-drop visual development, ease of integration, multi-device support, extensive customization, granular security, app containerization using Docker technology, and instant one-click deployment to private and public clouds. It's these features of low-code platforms that make them a necessary investment to address the demands of modernization in this cloud-enabled environment.

If you are reading this, you are probably in the phase of considering a low-code platform or you are already using a low-code platform to address your application development needs.

The pace of change in technology adoption is leading to an increasing demand for cloud-ready, enterprise-grade applications. There is a sense of urgency to develop and deliver applications with speed. Application development cycles have reduced from weeks or months to days. While the promise of low-code platforms is to accelerate application development with ease, not all platforms would be suited to your business requirements, scalability and application development strategies.

Despite the pressure, it’s time to pause and take stock of your existing systems and resources to identify how you can adopt technology meaningfully. Understand your business needs, your existing systems and processes, and the skillsets of available resources. To leverage the power low-code has to offer, you should take the time to evaluate and choose a platform that suits your enterprise needs.

Over the years, as low-code providers, we have come across some insightful questions from customers before they decided to partner with us. To understand the evaluation parameters when assessing a low-code vendor, this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker will help.

Let’s take a look at six critical questions every enterprise must ask their low-code vendors:

1. Is the platform purpose-built for developers? Is it easy to use and learn to build web UI or mobile applications?

Ideally, the low-code platform should give your developers the bandwidth to focus on innovation, and the complex and critical functions that would make the application rich.

2. Does the platform support a ‘real code-behind’ strategy? Is the code generated readable and modifiable? Does it allow for interoperability of code changes across IDEs? Customization is a key aspect when developing enterprise apps with real world applications.

Like Deepak said, “You don't have to reinvent the wheel. A low-code platform that supports an open standards-based technology stack gives you the right level of maturity of software that has taken years to perfect. It also gives developers access to open standards libraries and open source frameworks like Angular, Spring or Hibernate. In this way you don't have to reinvent the wheel in using a completely different type of software when you can get access to the same kind of capabilities by leveraging an open-standards based technology stack.”

Listen in to Our Real-World Success Stories

3. Does the platform help to build scalable applications to cater to larger user base or growing use cases? No application can be scalable right away. Application scalability is deep rooted into the architecture and technology used by the platform. In terms of scaling applications, modern applications use microservices-based architecture instead of monolithic architecture.

Listen in to Our Experiences

4. Does the platform have architectural best practices in place that include enterprise-grade security? Enterprise grade security has become a critical requirement. And one of the primary reasons for delay in application delivery is getting clearance for security compliance and governance rules.

5. Does using the platform minimize risk and maximize digital transformation efforts? One of the key aspects when using a low-code platform is leveraging existing assets. To succeed in your modernization efforts, you cannot just replace existing technology, you need to integrate them with existing systems and create modern workflows and processes.

6. Is the pricing or licensing model scalable and affordable? There is a lot of confusion and complexity in understanding of licensing models of different platforms, especially when you want to build more applications.

Nothing holds truer today than the statement by Marc Andreessen that “software is eating the world”. In the last decade, software development has rapidly evolved and there is an increase in cloud and mobile adoption. The increasing change in pace at which software is getting delivered is faster than what enterprises and users can keep up with. Given this fact, it can only mean that it's time to pause, assess and improve the technology you have to deliver more with less.

When assessing a low-code vendor, to understand the evaluation parameters and find examples of how low-code can deliver value, you can get a first-hand perspective in this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker.

Watch This Webinar

In 2020 there are 2.7 billion smartphone users and counting. 90% of their time on these devices are spent on apps. This is just mobile applications, there are also web applications used on the desktop for personal and professional purposes.

With the increasing number of app users, developing applications at scale has taken precedence in the market today and low-code platforms are leading the evolution in application development. And these are not just ordinary applications that users demand, companies also need enterprise-grade applications that provide high performance to meet their business needs.

At a time when application development is in demand, high performance and massive scaling are primary business drivers. From an IT Leader's point of view, it's about speed, performance and business continuity. How fast can applications be developed cost-effectively? How to scale applications to meet the demands of business users? How can modern applications be developed to transform and complement existing legacy systems, without disruption?

At the rate at which apps are consumed, the questions arise. What is the breaking point of the applications that your enterprise can build? How scalable is the platform on which your applications are developed? Is the low-code platform you use truly scalable?

While low-code platforms have taken a front seat in terms of scalability, only those platforms thrive that can manage variable workload, support multiple developers, provide resilience in service availability and sustain user experience in production. Only if all this can be achieved by the low-code platform you choose, can it prove itself to be truly scalable. To find out if your low-code platform provides scalability, whether it is dev-time or run-time scalability, use this simple checklist.

The best way to extract the real value of your low-code platform, in terms of scalability, is to make your internal processes and architecture design aligned to your scalability needs.

Meet demands with capacity planning. Scalability is all about adjusting capacity to meet your demands. It is important to first identify the number of developer logins and app deployments permitted on the platform, based on your license terms. For instance, you may have the infrastructure capacity to develop and deploy applications but it may be restricted by your license terms, and vice versa. When setting up, find out the platform capacity and know if it suits your scalability needs.

Use an architectural design suited for enterprise scalability. AD&D teams spend a lot of time to manage, validate and fix large application systems that use different architectural designs. To save time, make teams more agile and create reusable applications at scale, choose low-code platforms that are built to have a microservices architecture model, as it provides the required scalability.

When evaluating a low-code platform ensure that applications built on the platform follow modern application architectural models. A truly scalable low-code has well-defined REST APIs that separates the UI and the backend layers, allowing for developing applications at scale and ensuring that the best practices in terms of performance and design are followed as per industry standards. Ideally, the low-code platform must have fast API creation and binding tools, with automated API documentation, to help you re architect your monolithic, legacy applications to modern, microservices-based microapps.

Streamline operations for faster deployment. The premise of scalability also revolves around the ability to deploy applications with speed. By using a low-code platform that has containerized application delivery, development teams can ensure faster deployment, streamline operations, increase scalability, and portability. With cloud-centric applications pivoting on the scalability factor, low-code platforms that use the Docker containerization model provide a resource-optimized environment that ensures deployment to cloud providers and Kubernetes. Moreover, those platforms that provide auto-containerization also power microservices-based deployments at scale.

The increasing demand for applications today has led to large-scale deployments, which need to have low response times for high concurrent requests. What makes a low-code platform truly scalable is when it is built to use architecture that is stateless, one that allows to develop applications at scale for deployment on container-based systems. When addressing the demand for massive scaling of applications, the best way is to align your internal processes and architecture design to the low-code platform you choose.

Software Automation, today, has been the bent of mind in almost all sectors - fast-moving consumer goods, manufacturing, banking and finance, infrastructure, telecom, and more. The post-Covid world has posed serious challenges to both humans and industries. Industries and Plants are grappling with absent migrant laborers with the social distancing exigencies. As a result, plant closures and productivity losses have led to huge losses in businesses. So much so, many businesses are considering automation of their shop floors with robots.

Given the context above, the bare minimum the IT industry can do to foster the pressing need for automation is a speedy and convenient software delivery model to the business stakeholders.

While low-code platforms like Wavemaker have been around for rapid software development, the business logic if automated with workflows further accelerates this.

Wavemaker has been farsighted in this paradigm and has capabilities for integrating with automated workflow engines already in place. A Wavemaker application can integrate with the open-source lightweight BPM product - Camunda.

An organization made up of multiple nations wanted a solution that is completely open source and not locked into any commercial software. So WaveMaker's application architecture of code generation in open source technologies combined with Camunda’s open source Engine was the clincher.[/vc_column_text][/vc_column][vc_column el_class="hide-mobile" width="1/6"][/vc_column][/vc_row][vc_row bottom_padding="30" class="builder-advantages"][vc_column width="1/1"][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]This organization has a Mechanical Plant with thousands of machines, requiring the automation of inspection and assessment of maintenance Tasks for its machines.

This includes

Each of these steps typically requires the intervention, across the hierarchy, of Subject Matter Research Officers (SMRO), Subject Matter Experts (SME), and Maintenance Management Officers (MMOs).

A step like the Assessment of a task has its own workflow.

Implementing the entire business logic to such granular levels using traditional development methods would impede the speed of development, efficiency and tracking and so a lightweight Workflow Engine is a good fit.[/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]The business stakeholders for the plant chose Wavemaker which provided an easy modular implementation along with Camunda.

  1. Wavemaker provides widgets for quick development (using the drag and drop features)  of clean User Interfaces. 
  2. The Workflow Graphical representation is made using the Camunda Modeler. 
  3. The Rules or Decisions are set up in a Decision Management table in Camunda.
  4.  A REST endpoint for invoking the Camunda workflow is created and imported into Wavemaker.
  5. Java code with Spring-based REST APIs for all CRUD operations on each database entity is generated when the Maintenance Task Database (MTDB) is imported into the WaveMaker Application.  
  6. Wavemaker provides pre-processing / post-processing hooks for customizations before and after the DB Calls.
  7. The  Business Rules are externalized to Camunda decision flows so that any change in business rules does not impact the Wavemaker Application.

Here is a snippet of the Interaction Diagram at a high level -[/vc_column_text][minti_image img="23885"][vc_column_text]The Wavemaker Application and the Camunda Workflow can be deployed separately in different cloud instances so as to be able to scale them horizontally. [/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]

Has this happened to you? You want to build an application within weeks. You find a low-code platform that allows you to build an application with speed, using only a small team of professional developers. After building a custom application you decide to move to another platform. That’s when you realize you are “locked-in”!

The low-code platform you used generated proprietary code and it required a subscription to run applications independently. You have problems with data access and control, as the platform uses proprietary technologies, and code maintenance and access to libraries is a challenge.

Being “locked-in” is a challenge many developers, architects, and application teams face while using or moving applications in different platforms. To address this challenge and understand the extent to which you could be locked-in you need to first ask some of these questions:

Lock-In is Not Binary. It’s not Black and White.

In Gregor Hohpe’s book, The Software Architect Elevator, he talks about how modern ‘elevator architects’ are instrumental in aligning organizations and technology, reducing friction, and charting a transformation journey. When they ‘ride the elevator’ from the penthouse (where business strategy takes place) to the engine room (where technologies are implemented) they understand that the common attribute in system design like lock-in is not binary, it’s not black and white.

The attributes of a “lock-in” come in different dimensions, in the form of a platform, code, or vendor lock-in. The approach to understanding lock-in cannot be in an all-or-nothing manner. It needs to be considered across the application development and deployment lifecycle, at a broader level in terms of business / vendor, platform, and code lock-in. And while the seductive proposition of low-code is to build applications faster with leaner teams, you need to consider the different dimensions of a lock-in to unlock the real value of low-code.

The Real Value of Low-Code is How it Addresses Different
Dimensions of a Lock-In

Platform Lock-In. Can you run applications on infrastructure of your choice?

Once you build an application, the question is does the platform allow you to run applications on infrastructure of your choice, on-premise, private or cloud? How certain are you about the cost of running your applications in say a year or five years from now? To avoid being locked-in to a low-code platform, you must consider how your applications will be run in the future, on what type of infrastructure, and other aspects of accessibility, scalability, and portability.

By supporting hybrid and multi cloud app deployments, low-code platforms allow running of applications on infrastructure of your choice. With the increasing importance of delivering and deploying applications on cloud infrastructure, you can lower infra TCO by leveraging container technology. Docker containerization helps you to manage your IT app infrastructure, faster than VMs, enabling portability of workloads between cloud vendors. Low-code platforms that support cloud-native architecture, and have auto-containerization and application delivery integrated, can help you seamlessly deploy and scale applications on infrastructure of your choice.

Code Lock-In. Can the auto-generated code be extended and customized?

You could get locked-in to a platform in various ways, from proprietary application-level services to control over associated access rights. Moreover, when shifting platforms, exporting and re-importing projects is a tedious affair. With the need to copy-paste code, it makes the development process time-intensive and error-prone.

Given that the majority of the code is auto-generated by a low-code platform, the quality of code, the flexibility to extend and customize is something development teams need to be particular about. Taking a developer-centric stance, low-code platforms adopt a standards-based ‘real code-behind’ approach. This provides extending code in the future and interoperability of code changes across inbuilt editors and external IDEs (Eclipse, IntelliJ).

Distribute applications freely without concerns of being lock-in to vendor-specific frameworks. The low-code platform you choose must be built on an open-standards based technology stack, one that allows you to distribute applications without licensing concerns, and without a lock-in to vendor specific frameworks.

Write and extend custom code in an IDE of your choice. Another aspect of a code lock-in arises when you need to build applications on one platform and use it on a custom Integrated Development Environment (IDE) of your choice.

To optimize application lifecycle management, low-code offers a unique development experience. The IDE sync feature in low-code platforms enables you to mix-and-match custom code written in an IDE of your choice, such as Eclipse or IntelliJ, with the platform components.
To know how you can seamlessly sync project changes between our low-code platform and the IDE of your choice, check out The Studio WorkSpace Sync Plugin. Using this plugin, you can pull the latest project changes made on the platform and ensure they are applied to the IDE code, you can push IDE changes to the platform, and synchronize projects.

Keep in mind that when switching vendors, you are also moving to a new product. You could be locked-in to a product because it becomes difficult to release new features, manage updates, make heavy customizations, configure integrations and setup proprietary extensions.

A low-code platform allows deeper customizations using custom methods and extensions accessible from frameworks, without being locked-in to a product or the platform. With access to an open-source runtime environment and libraries, a low-code platform uses popular frameworks used by millions of developers, making it easier to make customizations and avoid a product lock-in.

Synchronice and track code changes with version control systems. Most development teams also face the challenge of tracking and updating code when version upgrades happen. Every time a version is released, most of the times applications need to be rewritten to maintain the existing extensions and customizations built.

To synchronize changes and track code changes, low-code platforms offer version control services. By using an inbuilt version control system (VCS), you can manage changes to your projects files, including source codes, documentation and web pages. Low-code platforms provide an integrated version control system where you can configure external VCSs such as Gitlab, Bitbucket, and Github.

Business or Vendor Lock-In. Is the licensing and pricing option future-proof?
A business or vendor lock-in is typically what IT teams mean when they say ‘lock-in’. This type of lock-in could happen when you are switching from one vendor to another. Commercials such as support agreements and licensing that you sign up for could get you locked-in to one vendor.
To avoid a business or vendor lock-in, begin with asking whether the pricing suits the requirements and size of your enterprise and if it is future-proof when you want to scale in the future.

Software development platforms have always had some type of proprietary nature embedded. With open source technology like low-code, this has changed. Low-code platforms take an extensible approach to application development and delivery, one that supports open source technologies. That being said, when evaluating a low-code platform, you need to be aware of not getting locked in to the ‘abstraction’. The abstraction of code extensibility, data accessibility, flexibility to customize, and freedom to track and manage components in the application development and deployment process.

How you use your technology will determine its success. Be aware of the types of lock-in.

Unlock The Real Value Of Low-Code

Remote working is not as ‘Instagram worthy’ as it may seem. While it may be a dream to work from anywhere and anytime, there are many challenges for those working remotely. A bigger challenge is faced by IT teams who have to provide support for such a sudden transition. At the outset of this pandemic, the overnight shift of employees working remotely has put immense pressure on IT teams to enable business continuity.

From accessibility of internal applications, sign-in assistance to password generation, IT teams are burdened with requests from remote working employees. Added to this there are other considerations IT teams need to address, from cyber threats, unsecure VPNs, authentication issues to reliability of on-premise servers.

Where to begin? To ease the pressure, IT teams are using emerging tech like low-code platforms to support remote dev teams, from providing cloud-powered IT infrastructure, application-level security, collaboration tools to real-time IT support.

Let’s take a look at how low-code platforms help IT teams support high-performance remote teams and ensure business continuity.

The essence of remote working is digital dexterity and the pressure is on IT teams to materialize this. To meet the demand for flexible IT infrastructure, application-level security, real-time collaboration and support, IT teams need to embrace technology with commitment. Where technology is changing faster than it can be supported, IT teams have to mobilize to keep up with the ‘Speed of Change’. As enterprises embark on the road to digital transformation and modernization, IT needs to shift gears to prevent being a roadblock. With the focus on business continuity, IT teams have become ‘backstage warriors’ and they need to use all available tools to realize their credo of “the show must go on!”

To know how IT teams can support remote dev teams using a low-code platform, take a walkthrough.

Get started with WaveMaker

By Deepak Anupalli,
VP of Engineering, WaveMaker

COVID-19 has disrupted life in many ways, bringing new challenges as well as opportunities for everyone to learn and innovate new ways of coping up with this crisis. Working from home is never easy, amidst daily chores, fetching essentials, keeping the kids occupied etc. staying on top of a product release is an unprecedented task.

A major product update was planned to go out to customers on April 1st week and we were hit by COVID lockdown, from March 18th our teams started working from home. It is a very humbling and commendable effort by the team to come forward to make the release happen. WaveMaker 10.4 is released on April 20th, a big Kudos to WaveMaker Team !

What did we learn?

Amidst the crisis and lockdown, being a software product organization the best way we can help the world is to create better software. In these times, having a clear purpose for our team to achieve something better, learn new things, be closer to one another and keep our morale high is very important. There is nothing better than to work as a team to accomplish more and better.

How did it happen

1. Better collaboration using the right tools.

Collaborating with a large distributed team is very tough, unless we have the right tools to track the tasks, their progress and information needed for the team members at the right time. Understanding where the team is stuck and changing course, making right decisions is the most important job for the product leads. Collaboration doesn’t necessarily mean getting onto a video call for everything and going on for hours, effective communication is the most important aspect of collaboration.

2. Over communicate and share everything with the team.

Team learned to document every detail, summary of the discussions, notes from brainstorming sessions, videos, presentations etc. Having an internal collaboration platform, like Groupe.io helped team members to do this effectively and also engage every member in conversations. Conversations are very crucial as they capture the decisions made in developing the features, which improved collaboration across development, testing & devops teams.


3. Bring the team together, by setting a clear routine

Daily morning stand ups to discuss the priorities for the day and deliverables from each individual. It is very important to be empathetic to each one and understand one another’s personal situation amidst the crisis, alongside working together to achieve the objective.

4. Enabled for remote working

Leaving aside the productivity and collaboration tools like G-suite, JIRA, Groupe.io, WaveMaker started the journey with cloud infrastructure, embracing AWS and container-based delivery model, since the inception. Having all the platform infrastructure and deployment environments on the cloud, enabled us to connect and deliver easily.

5. Most importantly, fun!

Of course, there are Yoga sessions, virtual birthday celebrations, games, and fun!


Check out all the new features in the 10.4 release here

The life of an application is as long as the platform that supports it. Starting April 15, 2020, new application creation on Google AppMaker will be disabled and on January 19, 2021, the App Maker editor and user apps are shut down. As administrators, end-users, and developers using Google AppMaker search for alternatives, Google put this out in their blog post as choices for migration of applications.

For full-fledged app development, Google is recommending customers to move to AppEngine which is Google’s PaaS platform to build applications in a traditional fashion. This alternative is unlike using a visual app development and delivery mechanism that provides greater productivity and faster time to market. However, the burden will now fall upon development teams to learn, integrate and manage application development and deployment. There are several challenges with introducing new technologies, re-learning takes time and it costs. Finding technical resources such as full-stack developers who will understand end-to-end application development is another challenge that enterprises will have to address. However, if you have a choice of integrating a platform that is user-friendly, requires minimal coding, and ensures upskilling of development teams, migration will be easier.

WaveMaker is positioned uniquely to provide a very good path for application development teams looking to migrate their applications to an open standards-based, scalable low-code platform. With WaveMaker, application development teams are assured of 3x faster productivity, a developer-friendly environment with a fully customized modern code stack, availability of complete app source code, and most importantly no vendor lock-in. Best of all, WaveMaker provides all the enterprise capabilities around web-scale scalability, enterprise security, and CI/CD mechanisms required for continuous and reliable delivery of your applications on any cloud of your choice.

Moreover, WaveMaker has inbuilt support for easy integration with external database SQL sources, RESTful integration, role-based app security controls, widget components library, and the ability to extend them and final deployment options on containers, Kubernetes, or VMs.

To better understand how WaveMaker is easier and better to use, here’s a comparison with Google App Maker:

Features WaveMaker Google App Maker
“No Vendor Lock-in" Applications developed are based on proven open-source technologies and the platform libraries are available under open source license making maintenance of applications easier.. Uses proprietary technologies making the generated code (including platform libraries) difficult to maintain without deep knowledge of how the platform works.
Integrations
  • Supports API and web services integration.
  • Creates and imports databases.
  • Provides a range of out-of-the-box integrations to instantly add powerful functionality to your apps.
  • You can also create custom integrations, called Prefabs, and reuse them across apps.
  • Integrates with Google Analytics and other applications in the G Suite bundle.
  • As multiple tools are used for integration, database integration sometimes requires writing custom Java code.
IDE Interoperability Offers two-way IDE interoperability and an open-source runtime library, making application customization free from lock-in. Its cloud-based IDE does not allow exporting project code to external IDEs and re-import it to the platform.
Customization
  • The platform appeals equally to citizen developers and professional developers or enterprise development teams.
  • Supports the creation of complex, real-world enterprise applications.
  • Supports ‘2-pass development’ that allows business users first to create applications and then enables technical teams to customize, if required.
  • Supports simpler use cases and focuses on citizen developers.
  • Lack of customization and flexibility required by various stakeholders.
Deployment
  • 1-click preview and deployment
  • Packaging for Android and iOS app stores.
  • Supports the flexibility of exporting WAR files of your applications, allowing deployment of applications independently.
  • Provides deployment to a public cloud, private cloud, and on-premise environment.
  • Lacks the flexibility to deploy applications independently.

If you are an existing AppMaker customer, we would love to partner with you on your application development journey!

 

Start Free Trial

By Swetha Kundaram, Senior Technical Writer, WaveMaker

After months of hard work, we have released a new documentation site for WaveMaker app developers. Besides frequent product releases, bug fixes, and new features, we are focused on improving the app development experience further.

The revamped WaveMaker Docs is a complete developer's guide to building enterprise-grade applications with a low-code solution. Our aim with this redesign is to simplify your day-to-day development activities and to comply with global documentation standards. By providing a better user experience, faster load time, and mobile-optimized access, we aim to positively impact the app development experience.

What’s new?

The new refreshing look and feel make the guide user-friendly and visually appealing. Using a well-organized tree-based structure, navigation across modules and related topics is easier. Added to this, to provide more accessibility, we have made our documentation open-source, which is powered by Git with the markdown data source. This means you can directly contribute to our docs. If you have a better solution for an older problem, please contribute to our docs. We will happily accept your pull request.

As we are in the process of continuous improvement you may notice some alignment issues due to recent migration and possibly a few broken pages. Please bear with us as we work on making the docs more stable. If you notice anything broken, send us a report and we will fix it right away.

Only the beginning

At Wave Maker, we believe in the power of modernization and hope our new design helps you find solutions easily and makes your WaveMaker app development process faster and better. As we continue to renovate, we aspire to empower you with all that you need to develop enterprise-grade applications rapidly, in reality.

As web application development evolved, usage of JavaScript skyrocketed. To address the variance in support of JavaScript, HTML across the different browser versions libraries like jQuery evolved to offer a layer of abstraction for the web developers, so that they can just focus on writing their application logic instead of worrying about the vagaries of browser support. Single-page web applications started to become the norm as more code started to be written in JavaScript than ever before. JavaScript has also become the language of choice to deliver applications that run on desktop browsers and mobile phones. So web applications written in JavaScript are now in the run-in environments with huge variations in parameters such as device CPU & memory, network bandwidth, browser support.

Powering this scale of growth needed the emergence of more JavaScript frameworks that provide abstractions over this diversity of hosting environments packaging up the best practices in loading times, memory usage, and responsiveness. There is simply no way to deliver a high-quality user experience without basing application development on top of these quickly evolving JavaScript frameworks such as Angular. Leave it to the smart folks in the Angular team to worry about keeping up with the evolving web application requirements while the application developers’ energies are productively engaged with solving the business problem at hand.

WaveMaker generates Angular code

WaveMaker is the only Rapid application development platform with open-standards-based code generation using Angular & Spring. Our 110+ UI components are implemented as Angular components built into libraries. When the user starts building a page in WaveMaker, the product starts generating Angular code in the background. The generated code imports the UI components user dropped into the page and then wires them up using data binding.

 

The code generated by WaveMaker is fully customizable, allowing developers to write custom business logic in javascript. Using WaveMaker our customers have built a line of business apps, customer-facing portals, and mobile applications in several verticals such as insurance, banking, manufacturing, healthcare, retail, etc.

Build full-stack teams and boost their productivity

WaveMaker offers ready to use and well-tested component library and a visual development environment to drag-n-drop these components to design a page. WaveMaker abstracts away all the Angular concepts like routing, scoping, security (auth guards), i18n, and service integration with REST, SOAP & databases, etc. The developer focuses on building application capabilities like user interface & interaction, representing data with widgets like Forms, Table, Lists or Charts, etc., defining access control for both UI components and APIs.

Mobile-First application development

WaveMaker UI components built using Angular are device responsive and designed to suit mobile-first apps. WaveMaker platform enables hybrid mobile application development, using device-native capabilities through Cordova combined with the power of responsive Angular widgets.

Bring in existing UI components

While WaveMaker has 110+ UI components and this list is ever-growing, we realize that teams may want to build reusable UI components to further decrease the time it takes to build applications in WaveMaker. WaveMaker supports importing reusable JavaScript components that are packaged as Angular.io elements, web components, or jQuery widgets. Using a WaveMaker feature called “prefabs” existing UI components can be imported and these will stay accessible alongside the standard WaveMaker UI components and can be easily dragged and dropped onto the page that is getting developed.

Keep your application on the latest version of Angular

When users develop an app, WaveMaker generates application metadata that does not depend on a specific Angular version. From the metadata the Angular code is generated by the platform, keeping the app agnostic of any specific version of Angular. This means that the app will stay using the latest versions of Angular as WaveMaker rolls out the support for those versions. By simply upgrading WaveMaker versions the application will start reaping the benefits of staying on the latest version of Angular. There is no need to spend time in big stack upgrade projects that consume the productivity of your team.

Build applications that load faster

One of the benefits of Angular is that the framework comes with tools that support very advanced build strategies that reduce your application’s footprint. This is very important to the application's load time as the amount of JavaScript that is getting downloaded from the cloud uses up critical resources such as network bandwidth, device CPU. Smaller the application footprint, the faster the app loads. When you attempt to deploy the WaveMaker app, we internally use ng build --prod mode with tree shaking enabled so that each page includes only the WaveMaker UI components that it uses and not all of the library. Essentially, the WaveMaker platform takes care of all the build optimizations and keeps the application footprint as optimal as possible to give better performance and first-time load experience.

Easy to deploy onto a CDN

WaveMaker builds which are triggered when the Deploy button is clicked can produce different bundles for frontend, backend code enabling the frontend code to be deployed on a CDN. Each of the resources the page depends on includes a fingerprint that represents the contents of the resource. This means that CDN that is serving static assets can be configured to set cache headers allowing browsers to cache the content and further optimizing the load times for returning users. Because of the content-based fingerprinting incremental releases of the WaveMaker application will only link to newer static assets if there was a change. In most cases, WaveMaker UI components for a page are already in the browser’s cache.