Archive for month

December, 2022

Basics: Micro-frontend

What is a Micro-frontend?

Micro-frontends have been a hot topic over the last few years. An increasing number of organizations have been using micro-frontends, and looking at its popularity, it might be the future of frontend web development.

Micro-frontend is an architectural style of breaking down a large application into simple, small, and manageable pieces.

In November 2016, ThoughtWorks Technology Radar first used the term micro-frontends and mentioned that organizations should assess this technique.

Why Micro-frontend?

As we all know, frontend development is highly complicated. Over time the frontend layer, often developed by a large team, grows and gets difficult to maintain. That is what we call a Frontend Monolith. This monolith leads to communication overheads, making frontend cycles longer.

Micro-frontend breaks down this frontend monolith into smaller portions, each owned by an independent team. Each team has a specialization, and the team members are cross-functional.

Benefits of Micro-frontend

In a nutshell, micro-frontends make frontend development simple, quick, and risk-free like microservices do for backend development.

Components of Micro-frontend:

Our “how to create micro-frontends” will be more detailed in the next blog. For now, let us understand the main components of micro-frontend projects:

Micro-frontend, a small project which will be imported into a parent/container project.

  1. A container/host, the parent project where all micro-frontends will be hosted.
  2. Micro-frontend framework, Webpack 5 Module Federation Plugin

The most critical aspect of Micro-frontends is the integration between the host/container and Micro-frontend applications. Micro-frontend applications can be integrated in one of two ways:

Deploying Micro-frontends:

Deploying Client-Side composition micro-frontends created with Webpack Module federation is extremely easy, efficient, and inexpensive.

Webpack Module Federation:

In June 2019, Jack Jackson, a JavaScript architect, released his masterpiece “Module Federation plugin.” This plugin allows developers to do a dynamic import to a specific file built and deployed by a separate webpack. This is often confused with loading a bundle on the page, but it’s not that; if you load the bundle without the webpack, it will load the entire react application, which is more than 1MB. The Module Federation gave a whole new level to micro-frontend development. As a developer, it lets you import a foreign code into your application, share codes in a straightforward way, and be more independent. It might sound complicated, but in reality, all the heavy lifting is done by the webpack.

Every micro-frontend application must have a Continuous Delivery Pipeline (CDP), so it can be built and tested separately. It should also be able to get into production independently without any dependencies. Multiple smaller micro-frontend applications in the production can then be composed together into one large working application.

In the next part, we will learn more about creating micro-frontend architecture and deploying micro-frontend applications in AWS.

Leap of faith – My learning from the NWPC Summit

Alex Thompson Culture December 27, 2022

My colleague and I received the opportunity through TVS Next to attend the NASSCOM Women Product Champions Summit (NWPC). As a product owner in the product space, developing roadmaps and ensuring value delivery, I did not want to miss this opportunity. Women leaders from different sectors were present there to exchange their stories. Seeing these women leaders come together to share their journey and give their time to our questions was very inspiring.

Research shows that 33% of women are in entry-level positions. Yet, as we climb the ladder to c-suite positions, women’s representation is less than 10% in India. NWPC aims to build a community of women in product and nurture women professionals pursuing a career in product. Several organizations have come together to make this program run.

The event touched on our need to learn and upskill in emerging technologies such as Big Data Analytics, Artificial Intelligence, Robotic Process Automation, Cyber Security, Blockchain, Internet of Things, and Cloud Computing.

Speakers from different areas of expertise shared their experiences of their journey up the corporate ladder with insights into what worked for them. Education, Exploration, and Exposure are the three essentials in one’s journey.

There were entrepreneurs for niche products who addressed us. For example, there was an entrepreneur of healthcare product focusing on women’s health issues like PCOS, menopause, etc. It connects people with similar issues, building a forum for them to discuss their problems. It connects them to doctors, nutritionists, physiotherapists, etc. A founder of a popular job portal that focuses on mentoring and placing women who wish to return to work after a career break shared her bit. They have some bridge programs and also part-time employment opportunities. It was interesting to hear about a cab service exclusively for women in Bangalore with women drivers. They empower women with driving lessons and encourage them. The cabs service primarily started for the safety of women travelling alone by cabs. Listening to each of them bring forth their experiences and outlooks was exciting. It was eye-opening to hear their stories and achievements.

NWPC focuses on training, mentoring, and creating a network for opportunities. This insightful day got me pondering about my life and career. The understanding I gained from this day is practical, but there are a few things I will need to figure out.

Women are natural multi-taskers, better communicators, and more empathetic because of our various roles. Despite this, we hesitate to take risks and often prefer to keep ourselves reasonably low in the corporate hierarchy. We fear failure and disappointment. Even if we are 50% confident, we should take that leap!

Let's talk about your next big project.

Looking for a new career?