Enabling composable architecture with custom-built software components
In WaveMaker, ‘Prefabs’ are customizable widgets that enable composable architecture. They are reusable, distributable, and independently testable micro applications that can be dragged and dropped into any WaveMaker project. They cover a wide landscape of operations and are present in the enterprise repository of every customer. As of now, the WaveMaker studio contains more than 100 different prefabs ready to be plugged into any application canvas of choice.
Prefabs can be rendered for diversely different business scenarios and can be reused by multiple teams within an enterprise. They can emulate commonly used components like ‘Location Indicator’ or can even abstract independent business workflows like ‘Account Management. Prefabs are ideal for blended teams consisting of business users and IT developers within the enterprise
Composable architecture is the ability to create applications with prebuilt software components. It is akin to creating a Lego model. Similar to the model, software components interlock with each other to create a larger artifact – the application. Just like a model, a singular component can be removed, repurposed, or fit elsewhere to suit the changing needs. What’s more, new blocks(read components) can be added to the model to make it larger and stronger. Prefabs are the Lego ‘building blocks’ of the WaveMaker platform. These components could be as fine-grained as a ‘list box’ or as macro as an entire workflow. What’s important is that these various components can be easily placed into the application canvas with seamless synchronization. Simply put, the components can talk to the application. Prefabs are not just abstractions in UI format, they are also components with characteristics and behavior. One that can be easily integrated with the help of exposed methods and events. This plug-and-play model of orchestration is made possible by their respective REST APIs. During application deployment, WaveMaker resolves all prefab dependencies and deploys the app as one single component onto a Docker container. As the application expands, further prefabs can be added to the canvas ensuring scalability and flexibility.
Prefabs can be effectively used to talk to complex API calls. This can be done by abstracting these calls with a UI layer in the form of a prefab. A business user then can simply drag and drop the prefab into their WaveMaker project and set custom properties to suit their application. Their behavior is invoked by the associated events or method calls. From OAuth APIs to third-party widgets, prefabs come to the rescue by encapsulating the complexity in a UI shell.
Developers can create custom component repositories solely for use in a single application (application repository). Additionally, an enterprise can create a custom prefabs repository, one that contains software components customized to their brand. Independent contributors can even publish prefabs to the general repository of the platform that can be reused across enterprises.
Third-party widgets can be repurposed as prefabs on the WaveMaker platform. This can be done easily by just importing the widget-specific files to the platform and then abstracting it with a UI element to create a completely new component. They can further leverage the extended features of the external widgets to customize it even further. Popular prefabs like YouTube, GoogleMaps, Docusign, and QRCode ship with WaveMaker. Additionally, OAuth services for Facebook, LinkedIn, Instagram are rendered through prefabs on the WaveMaker platform. A similar repository for WaveMaker Online is currently being developed.
A multitude of benefits follows the usage of prefabs. Reusability, encapsulation of functionality, scalability, speed of composition, building blocks of composable architecture, and consistent quality are some of the given advantages. WaveMaker customers, especially ISVs and core software builders use prefabs for easy customization and faster implementations.
In the banking & financial software world, prefabs can be domain-specific and an extremely crucial asset to deliver differentiated brand experiences to banking customers. For instance, general workflows such as loan repayment, account management, transaction management, and user management can be developed as prefabs in the enterprise repository which can then be retrofitted into custom banking solutions.
At WaveMaker, we understand the dynamics of the market in terms of the need for speed and differentiated brand experiences. Prefabs enable composable architecture, faster go-to-market, and hyper customization to empower core software builders developing modern applications and platforms.
You can find a detailed guide to prefabs here.