Authored by Vikram Srivats, Chief Commercial Officer, WaveMaker, Inc
After the grueling stress test of a global pandemic, corporations must now contend with the stresses of war and a weakening macroeconomic environment and yet transform to become modern, composable, and competitive enterprises. Technology executives at the center of this transformation are pursuing bold yet pragmatic strategies, including building and scaling new software-driven business capabilities quickly. For them, the holy grail seems to be democratizing software application development itself – with low-code/no-code (LCNC) approaches – to deliver at speed and at scale to the business.
Professional developers and enterprise architects get involved in governing LCNC development as enterprises become deliberate about policies, processes, and people to scale this movement responsibly. But pro-coders themselves are not yet active adopters of LCNC platforms – they range from interested observers (at best) to those that detest LCNC platforms (for valid reasons).
Based on industry estimates, around 35-40% of a pro coder’s time is spent in setting up, creating guardrails, importing, and integrating with data sources, writing code from scratch, making code secure, testing and retesting applications, managing source control, and versioning, adding internationalization, making them accessible, optimizing for performance, and maintaining or upgrading applications. Another 30% of the time is spent on non-technical or operational activities. That leaves less than half of their productive time for thinking, innovating, and crafting complex and compelling apps and experiences.
Clearly, pro-coders experience pain. So, what should low-code platforms offer to entice pro-coders to adopt and, better yet, embrace them? Let’s dig in.
What if a low-code platform used an open standards-based, popular tech stack (React, Angular, and Bootstrap for UI; Spring for backend; Docker containers)? What if developers could actually see and read real (not model-generated or metadata-driven) code being generated? What if this code was written the way they code?
Pro coders are accustomed to seeing, reading, and understanding real code in a language or framework that is open and widely accepted. So, just give it to them.
Developers need the ability to add fine-grained logic to their applications; that is, writing custom services or creating custom APIs in a code editor alongside the drag-and-drop canvas.
Low-code platforms should offer developers the ability to configure each out-of-the-box widget to a high degree to allow for creating visually captivating experiences.
Imagine if developers could go beyond a standard UI widget library and create their own custom components – building blocks of API-infused UI – and add them to their private library. Sometimes, developers may also need to import pre-built components (React or Angular or GraphQL components exported as standard Web Components) into their low-code development platform and reuse them.
Finally, developers may want to create their own application theme – a combination of fonts, layouts, colors, and styles – to create a differentiated yet consistent branded user experience across one or more applications or products.
Integration and extraction from data sources such as APIs (REST, SOAP, or WebSocket), databases (such as MySQL, Maria DB, PostgreSQL, Oracle DB, SQL Server, IBM DB2, Amazon Redshift, SAP Hana, HSQL, and Mongo DB) or streaming data sources (like Kafka embedded in the app) – must be supported and be effortless.
CRUD operations are usually hardcoded by the developer and take up a lot of time. If a low-code platform could automatically generate all the CRUD APIs once the data source is imported, it cuts down the development time immensely. Similarly, an editable abstraction of the database that replicates the schema of the DB can help developers manipulate the data from within the platform itself.
Once imported, developers should be able to bind their UI easily and quickly to the backend via passing variables. Data from a REST call should then be easily displayed as entities on a page without any workarounds or wordy importing and model definition. Likewise, with a Swagger import, descriptions should be able to handle reusing the same model in multiple endpoints or recursive models.
For user authentication, developers may need to integrate with database, LDAP, Active Directory, SAML, and other authentication providers. SSO should be easily enabled with support for SAML federation and Central Authentication Server (CAS). For authorization, low-code platforms need to support coarse as well as fine-grained permissions that extend across pages, individual widgets on a page, and even individual APIs exposed by the application.
Developers look for protection against OWASP vulnerabilities (XSS, CSRF, brute force attacks, SQL injection) and support of encryption standards such as TLS 1.2+ during app hosting. Ideally, low-code platforms need to be certified by security leaders like Veracode who perform rigorous static and dynamic tests (iAST, SAST, DAST, and SCA).
Through session-less architecture, distributed caching, horizontal scaling through containers, and UI framework-specific performance features (for example, Angular 13 has lazy loading, Brotli compression, tree shaking, Ivy), developers using low-code platforms can build highly performant apps, minimizing chattiness and UI-to-backend roundtrips. As an example, instead of storing the state in a session, it can be backed by a distributed cache (such as Redis) to allow apps to scale horizontally.
Developers cannot be constrained to a vendor-specific app deployment infrastructure. They need the freedom and flexibility to host their apps anywhere – on any public, private, or hybrid Cloud, on K8s clusters, or on bare metal/on-premise infrastructure. Low-code platforms that offer a development model where the UI is decoupled from the backend, can allow UI and backend artifacts to be separately packaged and deployed (UI to CDN; as an example, backend to a standard Java server like Tomcat) using a standard archive or a Docker image.
Developers hand-code some of the most complex apps and systems in use today. They need low-code platforms to step up to the plate and deliver equally complex apps that can be sustainable over the long term in terms of maintenance and enhancements.
For example, low-code platforms need to integrate with 3rd party BPM tools (Camunda, jBPM, Flowable, Activity) that help developers orchestrate detailed workflows/tasks and need to support a full 2-way data exchange with the BPM tool’s runtime engine. Within low-code platforms, developers will expect to easily manipulate complex data (pick a certain number of arrays and use logic to combine them into a new set of arrays) and easily represent complex graphs without custom styling/CSS or tangling with data formats.
Developers may need to conditionally retrieve data using a parent-child relationship, be able to localize and internationalize applications, handle complex core code merges and upgrades with customized apps in deployment, deal with Swagger changes pushed to already imported Swagger files without rewiring all the variables, write and support complex business logic interleaved with visual development, support multiple app themes at runtime, support apps as deep links, set click targets to measure/launch intents or URLs, and so on.
Lock-in is a strict no for developers who value independence and freedom. That starts with access to generated code. Low-code platforms that do well in this space readily offer developers the ability to not only see and read generated code but also to export source code outside of the platform to an IDE of their choice.
Developers also don’t like low-code platforms that force them to use their runtime environment to deploy their apps, effectively locking developers and their employers into the platform through the app’s lifecycle. Lastly, from a licensing perspective, low-code platforms that restrict developers to a limited number of apps, app objects, or end users effectively throttle developers to a commercial model that becomes quickly expensive with usage and more apps.
Developers using cloud-native low-code platforms benefit in terms of collaboration, ease of access, availability, flexibility, security, frequent and easy upgrades, horizontal scaling, and the overall unit economics of the model for their app development and deployment.
Developer-friendly low-code platforms generate code using modern design patterns (for example, a Java maven project) enabling developers to see, extend, and customize code across all layers of the application stack. They enable every user to have a workspace running as a container instance. When an app is built, a repo is automatically created for it in the low-code platform’s source control/Git (and integrated with Prometheus/EFK for logs and metrics).
Finally, developers appreciate low-code platforms that embrace modern standards, say Android Material Design specification for visual design and building interaction across multiple devices using out-of-the-box widgets and themes. They value the ability to create functional, distributable, reusable, API-integrated, and independently testable experience components. Low-code platforms that offer twelve-factor standards assure developers that their apps are trustworthy.
Developers using low-code platforms will want their apps to connect to, integrate with, or be embedded in other hand-coded apps. Beyond iFrame support, low-code platforms that support embedding via a micro frontend approach (such as Single SPA) offer sophisticated functionality for developers to create seamless end-to-end experiences that cover high-code and low-code developed apps.
Professional application development teams tend to use design tools like Figma, Sketch, or UXPin; QA tools like Selenium, Protractor, or Karma for testing web apps; Appium for testing mobile apps; and performance testing tools and app profilers like AppDynamics or New Relic. DevOps teams have a plethora of tools for the build, test, integration, and deployment processes. Post-deployment, developers would like to monitor app performance events, and page tracking via Google Analytics or Adobe Analytics. Low-code platforms that endear themselves to developers will have to play well and integrate seamlessly with these toolsets and design, build, test, release, and monitoring processes.
Lastly, while low-code platforms may provide their own VCS (such as Gitlab), they need to offer easy integration with external repositories like GitHub or Bitbucket. Developers should be able to pull, view, and push changes and merge conflicts between source control systems. They will appreciate low-code platforms that support app versioning from code-level commits to component-level and application-level versioning for releases (including a major or minor version format), allowing multiple versions of the app to co-exist in different deployment environments such as test, stage, or pre-production.
A UI developer or backend developer using low-code platforms should be able to develop a complete application with, for example, a basic knowledge of SQL, JS/Java, and zero DevOps, and transform to full-stack developers. Using the Java world as an example, developers don’t need knowledge of advanced JS framework, HTML5, CSS, Bootstrap, Spring, ORM, REST, advanced SQL, native device programming, mobile integration, building and running Docker scripts, or manual integration with CI/CD pipelines.
For technology stack upgrades for apps built using a low-code platform, developers should be able to open apps in the target version of a low-code platform with the latest tech stack (as an example, Angular 14 for UI). The app upgrade should be automatic, and the transition seamless.
Developers and CTOs/CIOs alike are constantly worrying about creating technical debt for the future. Enterprise-friendly low-code platforms are built on an open-standards-based modern tech stack, shift the burden of tech upgrades to the platform, offer source code that is extensible outside of the platform using commonly available skillsets, and play well with a modern enterprise’s toolsets, practice, and standards.
Originally published in Embedded Computing Design
A freshly minted React Native studio, developer tools, API composer toolkit, Angular 12 update, Azure Repos VCS, MLTS for REST APIs, and the list goes on………
WaveMaker is a composable experience development platform powered by the paradigm of low-code. With every new release, we at WaveMaker, attempt to carve out features that help enterprises and professional developers build captivating user experiences in sync with market demand.
Enterprises can embrace composability only when the tools that they adopt enable it. Keeping that in mind, our team at WaveMaker has built the next big thing for the world of composability through low-code—WaveMaker 11.
Here is what we have got for you this year!
With around 3.8 billion smartphone users worldwide, mobile app builders are constantly looking at ways to drive better engagement, reduce drop-offs and increase in-app growth. In short, mobile app adoption is driven by the user experience that they offer.
On the other hand, ISVs and enterprises find it difficult to create consumer-grade mobile applications with run-of-the-mill tools that are either specific to a device or OS or, simply do not have an integrated platform to create both web and mobile apps. Moreover, customers are not content with responsive web experiences force-fitted within mobile apps. The UI and the associated user experience on web apps are just not good enough.
Building compelling user experiences such as smoother onboarding, faster startup, slick transitions, customer-centric features, native feature accessibility, and contextual awareness becomes easier with an app development platform that is tailor-made to create cross-platform native apps.
These are the factors that our team at WaveMaker kept in mind while crafting the WaveMaker React Native studio. In fact, there is an entire WaveMaker UI component library in the React Native studio that lets customers design and build mobile applications leveraging the low-code productivity that WaveMaker is famous for. Let us look at some of the salient features:
With React Native studio added to its kitty, WaveMaker is raising the bar in mobile app experience development one notch higher. Additionally, all web applications created in WaveMaker can be also made available as Progressive Web Applications, offering a plethora of choices for our customers.
We truly believe that if you are already a WaveMaker subscriber or considering the platform for your mobile app development efforts, the addition of React Native studio to the platform increases the value of your investment substantially.
To know more about the WaveMaker React Native studio, click here.
The application modernization services market size is estimated to grow to $24.8 billion by 2025. A large chunk of this modernization effort can simply be attributed to upgrading the tech stack or modernizing the UI. However, in many cases, the cost of upgradation and the configuration hassles that come with it outweigh the benefits of modernization and as a result, companies are forced to take a step back.
At WaveMaker, we have always promised that upgrading to the latest version of WaveMaker also includes upgrading to the latest tech stack. This is by default.
WaveMaker 11 GA has upgraded to Angular 12 from Angular 11. This simply means that if you open any of your applications previously built on older versions of WaveMaker in WaveMaker 11, they automatically get upgraded to Angular 12. The ROI in terms of cost and time, in this case, is substantially higher when compared to a manual upgrade.
Customers need seamless and smooth user experiences. Building such performant applications needs an API backend that is fast. The new release aims to bring composability to the API layer, allowing multiple APIs to be combined together to create unified experience APIs.
The API Composer Toolkit allows WaveMaker developers to build APIs on top of existing systems that are just right in terms of verbosity and comply with the “Principle of Least Privilege” security rules. Using the Spring framework, this tool allows the creation of unified experience APIs that are designed keeping in mind the ‘backend for the frontend’ design pattern. With API Composer Toolkit, developers can now leverage the use of a single Java Service API that calls multiple APIs(REST/Swagger/Database) and consolidates their responses into one Response Object thereby reducing time and code complexity.
To know more about the API Composer Toolkit, click here.
WaveMaker Studio already comes with a version control system that runs within your platform machine. This is based on Gitlab. Additionally, WaveMaker Teams customers can choose to add an external repo of their choice like their own instance of GitLab, GitHub, or BitBucket. With WaveMaker 11, team admins can configure Azure Repos Version Control System (VCS) for storing project source code. You can now easily set up CI/CD pipelines to build and deploy WaveMaker-built applications on top of your enterprise version control system. Not only is there a reduction in the total cost of ownership of WaveMaker, but it also enables Teams customers to use existing IT infrastructure.
For more information, see Azure Repos Code Repository.
WaveMaker has always stayed true to its promise of building applications that are safe, secure, and easy to run. Enabling an additional security layer by configuring MTLS (Mutual Transport Layer Security) for all REST APIs is a feature directed toward building secure apps. With this feature, when you import APIs into WaveMaker to build your apps, you can now set up the SSL connection between WaveMaker and your APIs to use MTLS.
WaveMaker applications are built to 12Factors.app principles. One of the ways WaveMaker apps can be deployed on horizontally scaled infrastructure is to build them to be stateless. With WaveMaker 11, application sessions can now be configured to use a distributed cache. We already support DB, and REDIS and have now added MongoDB to offer more flexibility during the deployment.
Debugging and monitoring your applications can be a daunting task. Make debugging your application easier with WaveMaker Devtool. Installing this chrome extension will let you debug and monitor WaveMaker 11 applications in preview via the ‘inspect’ mode. To further enhance developer productivity, this browser plugin enables developers to track and profile API invocations, page load times, prefab load/render times, etc.
Take advantage of a simple yet powerful pom.xml and create a clear separation of the WaveMaker platform from application-specific dependencies. The new POM contains fewer lines than before and has been remodeled to inherit from the parent POM making it easily readable and comprehensible.
All WaveMaker projects that are using SAML(spring-security-saml2-core) as a security provider will be migrated to a new version of SAML thus removing the dependency on Spring extensions that have reached the end of life.
Teams, a collaborative development environment is now shipped with WaveMaker Enterprise too. Within one enterprise installation, you can onboard multiple Teams, while giving each Team ability to manage projects, roles, and code repositories, add or remove team members, grant permissions, and more. Read this blog to know more about what Teams can do for you.
Our freshly minted React Native studio brings low-code and React Native mobile frameworks together, allowing mobile app composition using prefabs. For a WaveMaker developer, there is no new learning curve; for a mobile developer, there is the flexibility of low-code, the feature-rich app development framework, and the support for easy composability.
This new release is a milestone for WaveMaker. This release, while offering composability at the API layer, allows unified experience development. Additionally, the API Mock Server increases developer productivity with mock APIs that can be created during development. This enables UI development teams to continue building the experiences using low code without the need for a fully developed/functional API.
WaveMaker 11 GA brings with it a host of other features that increases the value proposition of being subscribed to WaveMaker. From Flex Layout Widgets, Java 11 upgrade, and pagination for imported APIs, to multi-version studios, WaveMaker 11 GA aims to increase the value proposition for WaveMaker subscribers and prospects alike. With this release, we can truly say that composability and seamless native mobile app development is just an upgrade away!
WaveMaker 11 GA - Build Components. Compose Journeys. Differentiate the Experience
To read the full list of features in WaveMaker 11, please read the release notes here.
Low-code means different things to different people. While the industry is exploding with low-code platforms, ours is purpose-built for professional developers. If you are already using a low-code platform or shopping for one, there are many critical factors to consider. Read on..
Will I be the owner of the code?
The code should be yours to mix, extend, customize, transfer or export
What should “no lock-in” mean to me?
No shackles of run-time cost, proprietary architecture, and limited infra options
Will the developers need to be certified to use the platform?
You want quick learning and future-proofing your teams’ skills
Is my vendor’s pricing strategy sustainable?
Scaling up shouldn’t disproportionately increase the cost of doing business
Reduce repetitive development work and save heaps in time and effort.
Accelerate the journey to cloud-native, omnichannel, microservices-based enterprise-grade applications with a composable experience platform powered by low-code.
A McKinsey survey found that in 2021, “companies devoted more resources to their digital and technology capabilities during the pandemic, even as they cut resources from other parts of the business.”
This should come as no surprise given the dramatic change in business models, competitive landscape, and customer behavior seen in the last couple of years. In response, enterprises across the globe are modernizing their application stack to increase agility and performance, and provide compelling customer experiences.
Application modernization is the process of identifying legacy apps—which are typically on-premise, monolithic, and written in outdated languages—and modernizing them into cloud-native, omnichannel, microservices-based, feature-rich digital applications with intuitive customer experiences.
It is important to note that application modernization is not just about upgrading the software. It is often also accompanied by a modernization of processes to be more agile with shorter release cycles and the transformation of the organization itself to be more experimental and innovative.
An application modernization initiative is driven by changes across the three levels of the app: Experience, integration, and architecture.
Upgrading the user experience (UX) layer for a more modern, responsive, cross-platform design to deliver personalized experiences to customers.
Making legacy data accessible through channels like the cloud, mobile, web, etc. via APIs. A well-managed API serves as a mechanism for enterprises to leverage their digital assets and build new products around their core capabilities.
Transforming the architectural foundation of applications by adopting modern technologies to enable agility, scalability, portability, speed-to-market, development efficiency, and ongoing innovation.
Using hybrid architectures including public and private clouds allowing an enterprise to move workloads between the two platforms. Sensitive data can be hosted on a private cloud for security while big data applications can be stored on a public cloud for cost efficiency.
Leveraging modular, distributed, small, single-purpose applications called microservices that deliver services using APIs. Microservices is poised to take scalability and continuous delivery to the next levels in the years to come.
Building portability and reducing infra dependency with containers, which wrap up an application in a complete filesystem that has everything it needs to run: code, runtime, system tools, and system libraries. This enables it to run smoothly regardless of any environment.
Transforming development methodologies from traditional waterfall towards DevOps and DevSecOps models, bringing agility, speed, and efficiency into enterprise teams. It empowers technology teams with experimentation and innovation capabilities, so they can adapt to market needs more effectively.
Traditionally, applications are built around operational efficiency—delivering the best possible service in the cheapest way they can. Today, this is not enough. Organizations need more. They need:
In the rapidly changing world, customers demand their banking app or online shopping app to deliver the same sticky and personalized experience that their social media and gaming app offers. Legacy applications are unable to deliver this. To meet the customers where they are and deliver on their needs, enterprises need application modernization.
Enterprises can not afford to build an internal team or outsource to an external vendor and wait for months to launch new features. For instance, when the pandemic hit and banks needed to sell online, they couldn’t wait a year to develop that capability. Today, taking digital experiences to the market quickly can be the most powerful competitive advantage. Legacy apps can’t enable that. IT modernization has the potential to reduce defects and time-to-market by up to 60%.
Legacy monolithic applications are large and take up significant resources to function. Application modernization breaks them down into smaller, manageable microservices, using only the resources that are absolutely necessary. Additionally, by leveraging composability, enterprises and software vendors can also create a repository of functional components that can be retrofit into existing applications, gradually replacing existing functionalities while not disturbing existing processes and thereby, reducing costs. With containers, modern libraries, and dynamic scaling of cloud platforms, organizations can save both real and opportunity costs of running enterprise applications.
Every day, new threats are emerging online. Monitoring and protecting legacy applications can be a mammoth endeavor in itself. Application modernization enables enterprises to build more secure applications, shifting security left in the development process. Moreover, it also makes it easier to address security threats and deploy patches faster and more effectively.
Legacy applications are often written in languages and follow processes that do not have the talent pool available to develop and maintain them. Containerization allows polyglot teams to function effectively together, setting up dev environments faster and ensuring that the app works on production environments the same way it did on the developer’s machine. With a composable approach, functional components created by IT teams can further be reused by business developers and implementation teams to quickly modernize smaller bits of applications. In fact, with IT modernization, enterprises increase employee productivity by up to 30% and motivation by up to 40%.
More often than not, application modernization is not merely changing the software to a modern environment. It is accompanied by a cultural change towards building smaller services, deploying them in smaller cycles, receiving feedback, and optimizing continuously. To leverage cloud platforms, containers, DevOps processes, etc., the organization needs to transform itself into an agile and adaptive enterprise—a change that powers sustainable growth and profitability.
While the benefits are overwhelming, enterprises continue to struggle to adopt application modernization for a range of reasons.
Application modernization initiatives often involve the transformation of mammoth applications. This not only requires technologists who understand cloud-native, microservices-based app development but also have a clear grasp of business logic and industry acumen. This combination of subject matter expertise and technology skills is a challenge to find.
IT leaders often fear disruption of their mission-critical enterprise applications, and rightly so. Moreover, the enterprise technology landscape can be so complex and precarious that touching one app can bring the entire deck of cards down. Therefore, creating the right application modernization strategy that ensures a smooth transition from legacy to modern applications remains a challenge.
Large-scale application modernization projects can be expensive, whether you’re building with an internal team or outsourcing it to an external vendor. Without a clear view of the return on investment, IT leaders struggle without the budgets to launch app modernization projects.
A recent study found that enterprises use an average of 200 applications, with security, engineering, and IT using the most. While some of these are SaaS products, most tend to be legacy apps. Modernizing them all at once would be a significant burden on the company’s bottom line. Without repeatable architectures and composability, the redundancy of work will also be high.
For any technology initiative to demonstrate value, it needs to meet the needs of the business. When IT and business teams don’t talk to each other, they run the risk of launching application modernization initiatives that don’t drive business results. This affects the organization’s—teams, leaders and the board included—enthusiasm towards application modernization.
For decades, enterprises have attempted to modernize their applications with little success. A recent BCG study showed that “70% of digital transformations fall short of their objectives, often with profound consequences.” Once bitten, twice shy, IT leaders resist taking the plunge again.
Not all application modernization initiatives are the same. To ensure success, enterprises need to adopt an app modernization strategy that works for them. Here are some pointers to keep in mind.
It is not uncommon for enterprises to choose the oldest application to modernize first. This app modernization strategy, even when the project is successful, it falls short of the business transformation it can deliver. Instead, we recommend that enterprises choose applications that offer the most valuable business capabilities. When an app modernization initiative delivers ROI, it makes it easier for the entire organization to get behind it.
Gartner suggests that enterprises evaluate potential apps to modernize on six drivers. Three of them are business-related: business fit, business value, and agility; and the other three are technology-related: cost, complexity, and risk. The best opportunities offer transformation across multiple drivers.
Whether you’re beginning a pilot project, or modernizing your nth application, a clear, strong, relevant, outcome-driven business case shields you against the risks of failure in several ways.
Instead of entirely dumping the enterprise application for a modernized one, organizations must consider a progressive approach to breaking down monolithic apps for microservices-based ones. By integrating legacy systems with modern apps through APIs, enterprises can continue their business as usual without disruption, while building future-proof tech along the way.
We believe that for application modernization to deliver on its promises, it must impact at three levels: Infrastructure, development, and delivery. A strong app modernization strategy must enable multi-cloud leverage, rapid and error-free containerized delivery to create open standards, multi-channel and microservices-based apps.
Time-sensitive and cost-conscious projects can not wait for months to build. They need the speed that can only be delivered through automation, simplified integrations, dynamic scale, etc. They need to minimize redundancies and reuse existing builds. They need a robust low-code platform to accelerate enterprise application development.
Low-code is a modern approach to agile software development. A low-code development platform helps developers create products visually by abstracting and automating commonly used components. Developers can easily drag and drop commonly used features instead of having to code extensively.
Addressing all of the above challenges intuitively, low-code is one of the best app modernization tools available today.
A good low-code platform serves as an app modernization tool that abstracts and automates processes at every stage of the software development lifecycle. How to choose the right platform for rapid app modernization with low-code?
While choosing the low-code platform for your application modernization strategy, ask yourself the following questions.
A good low-code platform can be the app modernization tool of choice for professional coders, who want to build powerful, long-lived applications that offer a differentiated experience on the web and mobile, which can evolve with user needs.
A good low-code platform needs to have the foundation of open standards in order to ensure an open and extensible approach to application delivery. Also, the platform should use a best-of-breed application stack for developing full-stack applications.
A good low-code platform must enable out-of-the-box integrations for data and services. It must offer custom integrations to be built and reused across apps. It must also enable integrations with legacy applications for implementing incremental development.
For instance, the information and digital systems office of the State of Geneva incrementally modernized over 40 applications using WaveMaker while keeping the integrations intact for seamless BAU.
A good low-code platform must offer the ability to create applications using a single code base that can adapt to any native platform or operating system, be it iOS, Android, Windows Mobile, BlackBerry/RIM, etc.
Canadian foodservice distributor, Flanagan, leveraged WaveMaker to achieve this. They reached out to WaveMaker to replace the existing application with a modern and responsive interface that provided a better, more consistent user experience across browsers and devices.
An end-to-end low-code platform will offer the ability to scale applications and handle private cloud needs. This will be in the form of features for rapid and continuous provisioning, deployment, instant scale-ability, and maximum utilization of resources.
A robust platform will take an API-first approach to application delivery, making it easy to import data from any service and bind it to UI components.
A sustainability-focused low-code platform ensures maintainability, where the code generated follows design patterns, is well-organized, uses standard naming conventions, and generates documentation that developers can understand and maintain.
A secure low-code platform will support flexible authentication and authorization mechanisms as well as integration support for popular identity management systems like AD, LDAP, SSO, and OAuth.
A flexible low-code platform will allow customizations in the form of leveraging their existing systems or the ability to allow custom coding or integrations with modern AI and IoT-based systems.
A good low-code platform not only accelerates the development of your first app but also strengthens the foundations of ongoing modernization. For instance, with a composable experience platform, you can create custom user journeys such as completing a transaction or creating a dashboard. This user journey can then be used to build new apps — all it takes is to plug and play. At each new app, users can customize it, if needed.
This is what J.J Richards, a WaveMaker customer, did while building a comprehensive set of 10 critical applications using a lean team within just 18 months!
A good low-code platform should have the latest tech stack that allows you to build a modern responsive UI in your apps. The platform should make it easy to move your workload, i.e your applications to multi-clouds with containerization. Furthermore, the platform should be flexible in integrating or adapting to newer technologies and trends entering the market.
Like the Bank of Social Security, the Netherlands did while transitioning their mission-critical applications from the Microsoft framework to Java low-code in mere months.
WaveMaker is the most open, extensible, and flexible Low-code Platform that complements your enterprise application delivery while keeping in mind the requirements of Software Developers, Citizen Developers/Business Users, IT Architects, and CIOs.
|Bank of Social Security, Netherlands modernized legacy apps and built new ones with WaveMaker.
Read case study
|The information and digital systems office of the State of Geneva built 40+ applications with complex integrations using WaveMaker.
Read case study
|Australian waste management company achieves rapid modernization of 10 critical applications leveraging WaveMaker.
Read case study
|Canada’s largest independent foodservice distributor improved user experience with WaveMaker.
Read case study
Ask for a demo today!
The years 2020-21 will be remembered for the pandemic and the subsequent resurgence. It will also be remembered for the time where over half the world’s population pulled out their mobile phones to buy groceries, order food, get paid for services, shop for clothes, and even pay for healthcare. While the pandemic ravaged nations, humans quickly adapted to new ways of transacting. Financial transactions through almost any app of any industry became a reality and more or less a force of habit.
What made that drastic leap possible was set in motion years ago with the advent of Open APIs. The emergence of public APIs and regulatory changes such as PSD2 spearheaded the ‘Open Banking' revolution. A flurry of fintech companies followed, offering to ‘embed' financial services in non-financial apps. Financial capabilities once considered the privilege of banks, became a necessary touchpoint in the customer journey of any brand. While banks still held dominion over regulatory licensing, fintech was able to squeeze in financial offerings between the layers of ‘bank' and ‘brand' with alacrity: Thus leading to the emergence and rise of ‘embedded finance'.
In fact, according to Juniper Research, in 2021 alone, the ‘embedded finance’ market is said to be valued at $43 billion and is set to soar by 215% by 2026.
Uber and Lyft are some of the most well-known early adopters of embedded finance.. Tackling the simple pain-point of cab riders (searching for cash, taking out a credit card, toggling between apps), Uber introduced embedded payment in its cab booking app. Its early success in alleviating a major pain point in customer experience spawned a rush for embedded payments in large, digital savvy, non-traditional players ranging from e-commerce (Amazon) to food delivery apps (Deliveroo). Fintech with technical know-how and financial acumen followed suit with offerings customizable for banks and brands.
This led to the emergence of another layer between fintech and banks, what is called Banking-as-a-Service (BaaS). Unlike Open Banking that offered only data, BaaS offers APIs for banking services that fall under the ambit of regulatory services. The fact that these APIs could now be leveraged in any digital customer journey opened up a plethora of value propositions for brands, hitherto not possible--retailers providing a ‘Buy Now, Pay Later'(BNPL) option, car dealers offering loans and insurance, and utility providers launching wallets.
The customer-share pie for financial services became open to all.
What started as embedded payments has now evolved into multiple use cases such as embedded insurance, embedded banking, embedded credit, and embedded investment. The use case list has expanded to every industry from retail to HR and has the potential to morph further. While digital-savvy, large enterprises are quick to adopt, small businesses are also jumping into the fray. Uber which was only offering payment services, now offers loans to its drivers and an Uber debit card for a checking account to its users. On the other hand, banks, both new and traditional, are opening up new avenues to reach out to their customers.
For brands, it is the customer journey that matters. For banks, it is high volume and less cost. A win-win in any case.
If we look at banking trends over the decades, the underlying driving force that has spawned thousands of new players in the financial services industry is most surely -- APIs. From Open Banking to now Banking-as-a-Service, companies that have proactively embraced the evolution of APIs have been successful in embedding financial services. However, it is easier said than done.
Banks/ Providers typically have an API-only approach. There is no touch and feel. The graphical elements or abstractions on top of these APIs need to be recrafted and customized per brand, per use case. With virtually every bank jumping into the bandwagon, brands (especially SMBs) look for technical expertise to evaluate and buy from the exhaustive list of APIs. Navigating the labyrinth of APIs would also involve sourcing and integrating APIs from multiple providers, brands, and third parties. To build a digital layer over the APIs, the brand has to either depend on its own IT and available tools, or they have to turn to fintech or ISVs that can help them leverage the power of these APIs on an integrable platform.
Businesses spend inordinate amounts of money and time to consume complex APIs and launch embedded finance services. Traditional hand-coding while integrating with APIs is cumbersome and can lead to latency in time-to-market. Subsequently, many businesses lose their first-mover’s advantage.
Low-code platforms can help businesses in two ways to gain momentum:
A low-code platform can now act as an aggregator of financial and non-financial APIs and provide a contextual layer that is customized per brand/bank.
Battling out on fierce financial terrain, are large and small brands and FIs. Whether it is ‘Buy’ or ‘Build’, businesses, fintech, and ISVs agree that application development platforms need to offer two very important aspects while integrating APIs: flexibility and security.
Low-code platforms that come with inbuilt security and a “whatever-whenever-wherever” facilitation effectively neutralize these two major concerns faced by incumbents of the financial services industry.
Over the past two years, industries have shown resilience and adaptability like never before. Embedding finance into a consumer app has become a norm. A norm that took wings years before but gained momentum in the past two years. The hyper-acceleration of embedded finance in financial and non-financial applications is the phenomenon of businesses reacting to unforeseen circumstances in the most creative manner. Low-code platforms like WaveMaker can assist small and large brands in consuming and integrating disparate APIs with ease and provide a contextual consumer interface abstraction over them.
The synergy created by low-code, embedded finance, rapid application tools, and digital transformation in general, are shaping the face of what creative adaptability looks like.
Forrester finds that, in 2020, over 27% of organizations improved their customer experience (CX) index scores, a big number compared to the few who were making progress in the years before.
“To emerge successfully from this global crisis, brands must build experiences that help them engage with their customers at an emotional level,” wrote Forrester SVP, Sharyn Leaver.
So, how do enterprises engage customers at an emotional level when the predominant
channel of interaction is now digital?
By delivering insights-driven, personalized, contextual, end-to-end digital customer experiences anytime, anywhere, across channels and devices.
To achieve this, at accelerated time-to-value and scale, enterprises need a springboard: A Digital Experience Platform.
Gartner defines a Digital Experience Platform (DXP), as an integrated set of technologies, based on a common platform, that provides a broad range of audiences with consistent, secure, and personalized access to information and applications across many digital touchpoints.
Most enterprises have the business engine and the digital engagement hub, even if some of them might be legacy software. However, the digital customer experience layer needs to respond to rapidly evolving needs, offering opportunities for experimentation and rapid implementation. It is here that low-code can help. Here’s how.
In most industries, IT is designed around the organizational structure, not customer needs. For instance, the technology architecture of a retail organization is driven by the supply chain — divided into inventory, point of sale, customer relationship management, e-commerce, etc. So, if a customer wants to check on the company’s website whether a product is available in their nearby store, it would be next to impossible because the e-commerce engine doesn’t speak to the inventory management system.
A digital experience platform can enable enterprises to address such use cases without elaborate investments in product development. When the business engine is built on customer-oriented architecture, deploying applications as microservices, loosely coupled, and API-driven with functional encapsulation, the low-code customer experience suite empowers you to drag and drop any combination of features and functionalities to create a new app. It effortlessly abstracts the various business engines to create apps with little manual programming.
No customer wants to search and scroll endlessly on their shopping app to find the product they want. Nor do they want to manually drag and drop features into their interface to personalize it themselves. They want personalized experiences that are meaningful, engaging, and, most importantly, efficient.
A digital experience platform can leverage advanced analytics to deliver that. The low-code customer experience suite can form the abstraction over the analytics engine to bring together user, interaction, and business data to create a 360-degree view of the customer. It can enable dynamic user experiences, ensuring continuity of customer relationships, displaying cross-sell/up-sell opportunities contextually.
In the era of ‘hand-off’ between devices, customers demand a smooth omnichannel experience from enterprises. For instance, an e-commerce customer today wants to add items to their cart from any device, anywhere, anytime, and purchase them all together when they’re ready.
Digital experience platforms are built to enable this seamlessly. By integrating various digital business engines, the low-code customer experience suite allows you to build omnichannel customer journeys — effortlessly moving from one channel to another, ensuring continuity of engagement across devices.
Traditional applications are optimized for short-term transactions, while digital experience platforms are built to create long-term customer value. For instance, an e-commerce application is typically built around capabilities like search and checkout, focussing on the efficiency of shopping. But customers today are seeking more engagement. Perhaps why social commerce — blending of social media like Instagram and shopping — is gaining popularity, as it stresses the ‘experience' of shopping.
The digital customer experience suite enables enterprises, especially in industries like banking, media, retail, or fashion to design websites, portals, apps, etc. to deliver personalized, contextual, relevant, and timely content to improve stickiness and loyalty.
Today, saying “you need to come to the store to get this done” is a sure-shot way of losing a customer, especially given that the cost of switching to a new provider is the lowest it has ever been. However, traditional shelf-ware is heavily restrictive in the functionalities they can offer.
Digital experience platforms enable you to deliver end-to-end digital service. With the customer engagement suite, enterprises can:
In 2018, PwC found 32% of customers say they would stop doing business with a brand after one bad experience, even if they had loved it before. On the other hand, customers are willing to pay a 7-16% price premium for a good experience. This becomes even more telling in the post-pandemic era.
Today, just offering a digital avenue isn’t enough. The digital channel(s) is the storefront, relationship manager, customer service, marketing, sales, product catalog — all rolled into one. The true success of a digital channel is in dynamically adapting to customer needs. A digital experience platform helps you achieve that.
With a robust low-code customer experience suite built with WaveMaker, you can accelerate your digital experience platform journey significantly. Its ability to provide features such as a composable architecture, scalability, cloud-native capabilities, customizability, repeatability and security strengths enable your application teams to create differentiated experiences at a fraction of the time and cost.
To see how low-code can accelerate your digital platform journey, try a demo of WaveMaker today.
Authored by Gopi Mishra, Principal Architect - Development, WaveMaker, Inc
Enterprises are increasingly using ‘Direct-to-Consumer’ digital initiatives. They are parallelly digitizing their internal processes with increased velocity. These changes bring with them a tide of security threats. From insider threats to exposed marketplaces, there is always a security hazard lurking around the corner--one that can assume mammoth proportions if security doesn’t become an ingrained part of application development. In fact, according to a report by cyber security firm 'Checkpoint', cyberattacks on organizations worldwide jumped by 29% during the first half of 2021 as compared to the same period in the previous year.
So if an enterprise is adopting the web, mobile, and cloud, and directly selling to the consumer, it would be paramount that the IT team prioritizes the security of its product, and most importantly ingrain the best practices of weaving security into the development process.
Who better to don the mantle of defense than the ‘developer’? After all, when it comes to the security of an application, ‘developers’ are the first line of defense!
A ‘Defense-In-Depth’ approach to security for applications is a layered approach to security. What it essentially means, is that developers should take necessary action to mitigate security risks at every layer, be it the front-end (client), middle-tier, database services, or even the network layer. To do that, developers need to collaborate with various stakeholders: customers, DevOps teams, IT-networking, and the security teams handling the necessary infrastructure.
A developer has to have the same approach while developing secure applications using a low-code platform. WaveMaker comes fortified with SAST tested auto-generated code that is VeracodeTM verified. While developers working with WaveMaker can rest assured of the inherent security of the platform, there are a few best practices that a one can follow while using WaveMaker low-code to develop secure applications.
Developers need to think about security primarily in three areas: Data, Business Logic, and Coding. Data in itself could be static or could be in transmission. Depending on its state, the developer needs to keep an eye out for the following checkpoints:
Secure data in motion from being intercepted
While security best practices can help developers immensely, what is more important, is that they develop a ‘security mindset’. Security must be a priority and not an afterthought. While developing applications using ‘Agile Practices’, security should be a criterion in the ‘Definition of Done’ of user stories. Bigger pieces should be taken up as enabler stories. Regular penetration tests should be performed early in the development stage and should be a part of every sprint release. A security loophole caught early in the game will alleviate future pain points, bring down costs and reduce technical debt.
Being secure is not an option, it is an inarguable conclusion. Developers with a finer sense of security will hold this as their mantra.
Gopi is a software architect with over 15 years of experience in the financial tech and IT domain including 9 years he spent on mastering mobile architecture design. He presently leads a team of low-code developers and mentors them about best practices in software development. In his free time, he loves to read non-fiction, watch history channels or binge-watch movies.
Write to Gopi Mishra at email@example.com
Mankind and the systems that it relies on are in a constant state of flux. From the transportation systems we travel in, to the medicines we take, evolution has been a constant phenomenon in human life. If that were not so, we would still be stuck in stone-age. Development tools are no different. From low-level languages like COBOL to high-level languages like Java and Python, coding has evolved to make application development easy. Similarly, IDEs are constantly evolving to make the developer’s life easy. From text editors to GUI-based IDEs to IDEs that even autocomplete your code, development environments have come a long way. Low-code is the next eventual milestone.
Hi! I am Sagar Vemala, from Hyderabad, India and I work for WaveMaker, Inc. After completing my engineering course, I joined WaveMaker as an intern where I was introduced to low-code development and I found the concept of converting ideas into products rapidly; absolutely fascinating! I had an offer in hand to join a reputed technology company as a developer even before I was offered an internship at WaveMaker, but I must say that the internship introduced me to a whole new world of application development and I decided to stay. When I started as a full-time developer at WaveMaker, I was warned by my peers about being labeled as a ‘low-code developer’ but my gut instincts told me that I was making the right decision. Looking back, am glad I stuck to my decision. A low-code developer’s job is not restricted to simple coding, it is an expansive sea of learning, of thinking outside the box and more importantly, it is a job that solves a problem.
In this context, I would like to share my experiences from my journey, clear some misconceptions and present my point of view about my career as a low-code developer. Here are a few pertinent questions that I get asked about low-code:
I learned Java on notepad++. While it is the best way to learn Java, it is not necessarily the best way to develop faster. Seeing me code on a text editor, my friend introduced my novice self to the Eclipse IDE and it is there that I was introduced to the world of GUI IDEs with cool features like generating import statements, getters, and setters methods automatically.
My ‘world of coding’ just became so much more flexible.
The first time I saw how WaveMaker worked, it was déjà vu--Once again a complicated process had been made so much easier. My life as a developer is made ‘easier’ by WaveMaker. Here is how:
WaveMaker has a real code-behind approach and allows full customization and extension on every level. I consider WaveMaker as an advanced IDE (RAD) which generates open standards-based code following best architectural practices. It offloads monotonous tasks like setting up the project and environment, managing framework, and library upgrades and allows me to focus on the problem at hand. Also, it helps developers by providing configurational code for standard features like multi-language support, security, and scalability. With all that being taken care of by WaveMaker, I can focus on areas where my knowledge and experience are needed, like solving requirements and writing business and integration logic.
Absolutely not! I see myself as a problem solver and not just as a developer. I get to work on so many layers of technologies, right from designing the DB schema to preparing the backend to composing the UI and deploying the app.
In a traditional setup, this would require a large team of dedicated backend and front-end developers working for months to build an app. In today’s world, there is an imminent danger of irrelevance by the time an app is developed. With WaveMaker, a small team does the job in weeks that would traditionally take months and as a plus, I get to dip my toes in every kind of technology.
As development became more agile and the time frame became shorter, I got to work on many applications across different domains. At times, I would digest requirements directly from the client. With total control over development at all layers, I was able to provide accurate estimates. After observing diverse apps getting built, I started to think about another important aspect of development--user experience. This skill that I picked up while using low-code helped me deliver applications even without the help of a business analyst or a user interaction designer. My learning outside just coding, sky-rocketed.
I also got the opportunity to work with DBAs, senior developers, technical team leads, and architects of various enterprises as a WaveMaker SME. All apprehensions about not being ‘technical enough' disappeared after my conversations with them and I believe that I was able to add value to decisions that are agnostic of WaveMaker.
In a nutshell, the horizon of my learning expanded.
I strongly believe that low-code may not be a hammer for every nail but is a necessary tool in the developer kit. Enterprises have and will adopt this methodology into their practices for years to come. Digital transformation has become ubiquitous with every enterprise and if an enterprise is looking at ways to create safe, scalable, and modern products with faster go-to-market, low-code is a safe bet. According to Gartner, the low-code development market is predicted to reach a worldwide total of $13.8 billion in 2021. In fact, the demand for low-code developers has been rising exponentially.
After having worked for WaveMaker for more than 5 years, I find myself with an abundance of choice and skills. I have the skills and knowledge to go the full-stack way, I can lead teams of low-code developers, I can be a solution architect, or I can choose to use low-code for hybrid development. There is a myriad of opportunities and options available. You only have to choose.
Finally, I think I chose the road less taken, even though opinions around me were not as positive about low-code, as they are today, I feel I made an interesting choice that fueled a unique career for me, and that has made all the difference.
Sagar Vemala has been with WaveMaker since 2015 and has implemented several customer projects as part of the professional services team. He has built a variety of API-driven applications in workforce planning, inventory management, finance and insurance. If you are developing an application and plan to use low-code, Sagar can share best practices using WaveMaker. Write to him at firstname.lastname@example.org
Tech-savvy users are swiping left aggressively and swiping right selectively. No, we are not talking about dating apps. We are talking about how quickly the customers of today are changing their banking preferences. Loyalty is a fickle emotion. As Jeffrey Gitomer says “You don't earn loyalty in a day. You earn loyalty day-by-day", by responding to the customer's needs every single day. Otherwise, they just move on.
How responsive banks are to the changing needs of the customer will now decide their longevity. Or else, it’s a swipe left for sure.
With so much at stake, what can banks do to retain their customer’s loyalty?
Going digital is an obvious answer, but then everyone is doing it. Every bank of repute has a digital face--some, more advanced than others. What spruces up the relationship between the customer and the banking app is the customer journey. It is all about how the relationship started and how it sustains--the qualities that keep the customer engaged, the features that make a banking app sticky. So what are the features in a banking application that entices customers, and how does the WaveMaker low-code platform help?
Though a banking application may not necessarily be composed of all of the above, it should at the very least be provided compatible platforms that enable the development of these features leading to the creation of a composable banking app. So the question one may ask is, does WaveMaker as a low-code platform support the integration of these features into a composable banking app?
The answer is a resounding yes!
A developer working on WaveMaker can take two approaches:
One, use the built-in prefabs to quickly conjure up a banking-specific component.
Two, integrate third-party banking components into the application.
This is helped by two factors:
WaveMaker allows seamless collaboration of ecosystem partners with ease--the foundation of a composable banking architecture. It helps banks, BaaS players, fintech, and ISVs respond to what customers ask for--modern experiences, intuitive interfaces with stunning visual components, security, smooth onboarding, and device-agnostic feature-rich applications. WaveMaker with its API-first approach, prefabs, support for all major databases, and vault-like security with VeracodeTM certified code has all the qualities to broker a long-lasting partnership with the bank and the customer with agility.
Banks can expand the reuse of legacy core banking, offer services to brands as a BaaS player, or launch greenfield initiatives; with WaveMaker, the possibilities are endless.
So, this time when the user swipes right, banks can swipe right back at them!
*Watch this space for our next article on our banking software components
WaveMaker 10.8 brings capabilities and features that harness the power of artifacts and prefabs on the WaveMaker low-code platform--especially for teams. Prefabs are custom widgets that can be reused across projects within a team. With this release, the platform consolidates its strength on prebuilt software components by making collaboration across teams faster and easier to manage.
WaveMaker continues to enable enterprise IT teams, ISVs, and all stakeholders to co-create value faster and better with low-code.
Artifacts are reusable components that can be developed and maintained independently. Various components such as prefabs, project shells, template bundles, and themes come under the umbrella of artifacts on the WaveMaker low-code platform. V10.8 allows the sharing of a central repository of artifacts in teams promoting collaboration between team members.
Team members can view a list of all available artifacts providing clear visibility. Developers have complete access to the repository of available components and are free to choose the artifact version that suits their requirements best. This in turn makes activities such as documentation, maintaining change logs, and version control of artifacts a seamless process.
With 10.8, developers creating and using artifacts across teams and projects can manage their workflows seamlessly. Consider a scenario where a developer publishes an artifact and waits for approval from the team admin. The admin can then review the artifact on the team portal and approve the same, making it accessible for all developers to use or reject it and send it back with changes.
Not just that, the same prefab or artifact can be versioned multiple times with each version visible to all team members. Developers can search and view available prefabs under projects, teams, or system prefabs and import specific versions into the projects.
Different projects can use different versions of the same prefab with a scope for upgrading. Developers can choose versions that suit their requirements with the help of changelogs and get real-time notifications of newer versions. Minor patch updates on prefabs can be published independently using branch support. Development teams can update patches and upgrades seamlessly without disrupting the existing environment and projects.
For ISVs, having access to the latest versions of artifacts is of great value. This allows for both forward and backward compatibility with respect to prefabs with minimum disruption. With every new update, WaveMaker continues to bring developers together, fostering collaboration, and helping them build powerful applications.
To know more about WaveMaker 10.8.0, please read the release notes here.