Semantically Driven Micro Front-Ends with Semantic Components

Introduction

With more user control over data and interoperability between platforms comes less predictability for platforms. Where formerly they had control over the data structure and what is reflected back to the user, in a more data ownership oriented landscape that assuredness becomes less possible. Different users come with different needs and approaches. It then becomes a platform’s responsibility to be able to anticipate those needs. However, this change also poses as an opportunity for platforms.

With the incentive to diversify platforms to accommodate a more data rich user comes an issue, one platform cannot possibly solve every problem a user throws at them. This is largely true and the reason behind Digita’s development of SemCom; a decentralized network that serves pre-determined templates to help platforms deal with unexpected data. These templates come in the form of modular Micro Front-Ends that offer users a minimal degree of functionality on unexpected data on platforms specialized in a different subset of data.

What’s a Micro Front-End?

Generally, the idea behind Micro Front-Ends is treating different parts of a web page or application as separately managed parts of the same whole. This approach to software architecture developed out of the rising complexity of an application over time, rising the need for re-factoring and maintenance. Additionally, Micro Front-Ends come with the additional hope of interoperability and a technology agnostic approach to adding applications onto a platform.

Interoperability and independence of the differing parts of a web application are necessary conditions for one another. By allowing for a wide range of approaches to be represented on the same page, this approach to architecture also allows the different teams in development to independently update their stack without fear of ruining the whole. These goals are achieved by breaking up the page into small, independently managed parts. The idea of Micro Front-Ends represents a shift in how we think about the structure of the front-end. 

In the past, the front-end was usually organized around pages. However, this structure is no longer able to adequately handle the level of complexity that is now common in web applications. The page-based structure results in a high degree of coupling between different parts of the application. Micro Front-Ends are a way of breaking up an application into small, independently managed parts. 

This approach results in a lower degree of coupling between segments of the application making it easier to apply changes without affecting other parts of the application. Additionally, it allows for a greater degree of interoperability between different parts of the application and creativity and freedom of application developers. Spotify, Zalando both offer support for working within a micro front-end architecture. While Ikea has been reported to use Micro Front-Ends in their private development.

What Are Sematic Components and How Do They Work?

With all the features of Micro Front-End architecture in mind, it becomes evident that this functionality can have great benefits in the growing data-ownership oriented internet. This would primarily be due to the aforementioned fact that eventually, platforms and services will be confronted with forms of data that they are not ready to present. Additionally, expecting a homebrew solution to every dataset a user gives your platform is hardly realistic, and sounds like a nightmare to any developer. Despite the great features of such an architecture, without the proper tools to drive it it cannot go very far.

Digita’s solution to this problem is an open-source decentralized repository that functions as a set of basic tools which plug into a MicroFront-End on the fly without any prior knowledge of the data and what it serves. This assures that although every platform cannot serve every need to the best degree, it can provide a minimally functional solution to a problem outside the scope of the business. Ultimately, this approach provides a smooth transition to the new data ownership driven internet and serves as an empowering prospect for new platforms by providing them with community-sourced solutions that provide a bare-bones library for every need, which itself can be forked or contributed to!

So how does it work? It primarily depends on semantically defined web components, which, based on the Solid specifications, correspond to predefined data types that can then be queried on every node in the decentralized network of Semantic Components. This network is maintained and added to by individual actors, whether they are companies who would like to share their work, or individuals who appreciate the project. The truth is, motivations of users maintaining open source projects for free remain mysterious to many, yet, the community thrives and constantly comes with useful public libraries that aid in large and valuable projects.

Conclusion

Semantic Components and Micro Front-Ends are a match made in heaven. The ability to have a decentralized network of Semantic Components that can be plugged into a Micro Front-End on the fly is an empowering prospect for new platforms. This approach provides a smooth transition to the new data ownership driven internet and serves as an empowering prospect for new platforms by providing them with community-sourced solutions that provide a bare-bones library for every need. Although it depends on open-source contributions, many industries thrive on free and open software, there seems to be no reason why these nodes would be scarce, especially with the added benefit of quick and modular software for your platform.

Continue reading