<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Lakin Mohapatra</title>
    <description>The latest articles on Forem by Lakin Mohapatra (@lakincoder).</description>
    <link>https://forem.com/lakincoder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F200177%2Fc5fb5e93-9af3-4f77-9365-9900254c5e42.jpg</url>
      <title>Forem: Lakin Mohapatra</title>
      <link>https://forem.com/lakincoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lakincoder"/>
    <language>en</language>
    <item>
      <title>The Curse of Von Neumann Architecture</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Tue, 30 Jul 2024 07:43:56 +0000</pubDate>
      <link>https://forem.com/lakincoder/the-curse-of-von-neumann-architecture-an-in-depth-exploration-53fe</link>
      <guid>https://forem.com/lakincoder/the-curse-of-von-neumann-architecture-an-in-depth-exploration-53fe</guid>
      <description>&lt;p&gt;Ever wondered why cybersecurity is such a critical concern? It all traces back to the foundational design of our computers. Discover how the lack of distinction between data and code storage in Von Neumann architecture can lead to significant security vulnerabilities.&lt;/p&gt;

&lt;p&gt;In this blog post, I discussed the curse of Von Neumann Architecture and explored a real-world example involving CrowdStrike. Check it out. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://lakin-mohapatra.medium.com/the-curse-of-von-neumann-architecture-an-in-depth-exploration-dab08dcf2a42" rel="noopener noreferrer"&gt;Click here to read full article&lt;/a&gt;&lt;/p&gt;

</description>
      <category>crowdstrike</category>
      <category>cybersecurity</category>
      <category>architecture</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>When to Approach CTO and Product Manager</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Fri, 15 Mar 2024 08:50:55 +0000</pubDate>
      <link>https://forem.com/lakincoder/when-to-approach-cto-and-product-manager-5857</link>
      <guid>https://forem.com/lakincoder/when-to-approach-cto-and-product-manager-5857</guid>
      <description>&lt;p&gt;As a software developer working in a team, it's essential to know when to approach the Chief Technology Officer (CTO) and the Product Manager for guidance and collaboration. This post will help you understand the scenarios for each role:&lt;/p&gt;

&lt;p&gt;Approach CTO when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Making major technology choices or system design decisions.&lt;/li&gt;
&lt;li&gt;Planning long-term technical strategies and roadmaps.&lt;/li&gt;
&lt;li&gt;Facing significant technical challenges that need leadership guidance.&lt;/li&gt;
&lt;li&gt;Managing technical debt and prioritizing code refactoring.&lt;/li&gt;
&lt;li&gt;Hiring technical talent or reallocating team resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Approach Product Manager when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clarifying product requirements, user stories, and acceptance criteria.&lt;/li&gt;
&lt;li&gt;Prioritizing features, bug fixes, and development tasks based on business needs.&lt;/li&gt;
&lt;li&gt;Discussing user experience design and ensuring user needs are met.&lt;/li&gt;
&lt;li&gt;Providing feedback on requirements or suggesting iterative improvements.&lt;/li&gt;
&lt;li&gt;Coordinating release planning and aligning development with the product roadmap.&lt;/li&gt;
&lt;li&gt;Conducting user testing and validating that features meet user needs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Remember, CTO and Product Manager work closely together, and their roles may overlap in certain areas. Effective communication and collaboration between these roles and the development team are crucial for successful product delivery.&lt;/p&gt;

&lt;p&gt;By understanding when to approach each role, you can ensure smoother project execution, better alignment with business objectives, and ultimately, a higher-quality product that meets user needs.&lt;/p&gt;

</description>
      <category>cto</category>
      <category>projectmanagement</category>
      <category>developers</category>
      <category>productmanager</category>
    </item>
    <item>
      <title>Micro frontend frameworks in 2024</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Wed, 13 Mar 2024 18:03:16 +0000</pubDate>
      <link>https://forem.com/lakincoder/micro-frontend-frameworks-in-2024-265f</link>
      <guid>https://forem.com/lakincoder/micro-frontend-frameworks-in-2024-265f</guid>
      <description>&lt;p&gt;Micro Frontends are becoming an increasingly popular approach for building modern web applications. As opposed to building a monolithic app, micro frontends allow you to break down an app into smaller, independent pieces that can each be developed, deployed, and scaled separately. &lt;/p&gt;

&lt;p&gt;This modular architecture brings a lot of benefits - easier maintenance, better team collaboration, faster iteration, and improved resilience. As more teams adopt this approach, the tools and frameworks ecosystem around micro frontends continues to grow.&lt;/p&gt;

&lt;p&gt;Here are some of the most promising micro frontend frameworks to watch for in 2024:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Single-SPA Framework - One of the most popular choices. It has a large community behind it and offers robust routing and lifecycle management for microapps.&lt;br&gt;
Ref - &lt;a href="https://single-spa.js.org/"&gt;https://single-spa.js.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Piral Framework - Focused on developer experience with features like a visual UI editor, live previews and hot module replacement.&lt;br&gt;
Ref - &lt;a href="https://piral.io/"&gt;https://piral.io/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Luigi Framework - A very lightweight framework built by the folks at SAP.&lt;br&gt;
Ref - &lt;a href="https://luigi-project.io/"&gt;https://luigi-project.io/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OpenComponents Framework - Strong focus on componentization and making components reusable across different microapps.&lt;br&gt;
Ref- &lt;a href="https://opencomponents.github.io/"&gt;https://opencomponents.github.io/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mosaic Framework - Built by BigCommerce. Designed specifically for ecommerce use cases. Comes with pre-built config and best practices.&lt;br&gt;&lt;br&gt;
Ref- &lt;a href="https://mosaic.js.org/"&gt;https://mosaic.js.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ara Framework - Build Micro-frontends easily using Airbnb Hypernova&lt;br&gt;
Ref- &lt;a href="https://ara-framework.github.io/website/"&gt;https://ara-framework.github.io/website/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Voltran - a micro frontends framework which is developed by Hepsiburada Technology Team&lt;br&gt;
Ref- &lt;a href="https://github.com/hepsiburada/VoltranJS"&gt;https://github.com/hepsiburada/VoltranJS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;qiankun - enables you and your teams to build next-generation and enterprise-ready web applications leveraging Micro Frontends. It is inspired by and based on single-spa.&lt;br&gt;
Ref- &lt;a href="https://github.com/umijs/qiankun"&gt;https://github.com/umijs/qiankun&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microfrontend</category>
      <category>javascript</category>
      <category>developers</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Angular vs React: A Comprehensive Comparison of Pros and Cons</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Tue, 24 Oct 2023 15:44:17 +0000</pubDate>
      <link>https://forem.com/lakincoder/angular-vs-react-a-comprehensive-comparison-of-pros-and-cons-1kao</link>
      <guid>https://forem.com/lakincoder/angular-vs-react-a-comprehensive-comparison-of-pros-and-cons-1kao</guid>
      <description>&lt;p&gt;Hey folks 👋&lt;/p&gt;

&lt;p&gt;I wanted to share a quick comparison. I wrote up some of the key pros and cons of Angular vs React.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Angular Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provides more out of the box - full featured framework with routing, state management, testing tools etc built-in&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Strongly typed with TypeScript - detects errors during compile time&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Detailed documentation and learning resources&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better for complex enterprise applications and teams with clear structure&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More scalable and maintainable codebase with OOP approach&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easier dependency injection and services&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Angular Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Steeper learning curve especially for beginners&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More complex overall with abundant features&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bootstrap time can be longer due to size of framework&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More effort needed to customize things outsideAngular ecosystem&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;React Pros&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Easier learning curve for simpler apps with just the core library &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More flexibility - use with various state management, build tools, etc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Faster performance with Virtual DOM, lighter weight&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ease of integration with other libraries/frameworks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Great for progressive web apps (PWAs)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Active open source community with ecosystem of tools&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;React Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Less opinionated structure - more decisions needed for code organization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No built-in services, more glue code needed to integrate external state management etc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Less strict discipline for things like mutability which can cause bugs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSX HTML-JavaScript mix can confuse some developers initially&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Angular provides more built-in structure while React offers more flexibility. Both have pros and cons depending on the needs of the specific project and team.&lt;/p&gt;

&lt;p&gt;Whether you're an Angular or React developer, hopefully, this gives a balanced view of both ecosystems. Let me know if you have any other thoughts on Angular vs React comparisons!&lt;/p&gt;

</description>
      <category>react</category>
      <category>angular</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>React vs Next.js — Understanding When to Use Each</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Fri, 08 Sep 2023 13:18:15 +0000</pubDate>
      <link>https://forem.com/lakincoder/react-vs-nextjs-understanding-when-to-use-each-33ld</link>
      <guid>https://forem.com/lakincoder/react-vs-nextjs-understanding-when-to-use-each-33ld</guid>
      <description>&lt;p&gt;React is a front-end JavaScript library for building user interfaces. Next.js is a framework that augments React with server-side rendering, routing, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you use plain React vs Next?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use React standalone when:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 Building a highly dynamic single-page app that relies heavily on client-side routing and state.&lt;/p&gt;

&lt;p&gt;👉 Integrating React components into an existing server-rendered app for hybrid rendering.&lt;/p&gt;

&lt;p&gt;👉 Only part of the UI needs to be reactive - Next.js is overkill.&lt;/p&gt;

&lt;p&gt;👉 You want client-side control over routing, data fetching etc.&lt;/p&gt;

&lt;p&gt;👉 Page SEO is not a major concern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use Next.js:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 Building a traditional website with server-side rendering and SEO requirements.&lt;/p&gt;

&lt;p&gt;👉 You want automatic code splitting and prefetching.&lt;/p&gt;

&lt;p&gt;👉 Easy routing and fetch handling appeals.&lt;/p&gt;

&lt;p&gt;👉 Fast refresh and DX matters - Next.js accelerates dev workflow.&lt;/p&gt;

&lt;p&gt;👉 You need hybrid server-side and client-side rendering.&lt;/p&gt;

&lt;p&gt;👉 Scalable performance and static site generation benefits are important.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here are some example apps where React or Next.js may be more suitable:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Good for React:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 A chat app like Slack with highly dynamic UIs, fast state updates, client-side routing for channels/messages.&lt;/p&gt;

&lt;p&gt;👉 An e-commerce site's shopping cart and live preview - rapidly changing state and interactions.&lt;/p&gt;

&lt;p&gt;👉 A stock trading dashboard showing live-updating graphs and notifications.&lt;/p&gt;

&lt;p&gt;👉 An in-browser IDE with complex text editing capabilities.&lt;/p&gt;

&lt;p&gt;👉 An interactive game with advanced animations and dynamic UIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Well-suited for Next.js:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 A marketing website for a SaaS product with SEO-friendly pages.&lt;/p&gt;

&lt;p&gt;👉 An online course marketplace with course profiles, student dashboard, payment pages.&lt;/p&gt;

&lt;p&gt;👉 A company website with a mix of static and interactive content.&lt;/p&gt;

&lt;p&gt;👉 A blog with post overviews, tags, server-rendered articles.&lt;/p&gt;

&lt;p&gt;👉 An e-commerce site's product pages, search, checkout flows.&lt;/p&gt;

&lt;p&gt;👉 A documentation site with MDX, navigation, and search.&lt;/p&gt;

&lt;p&gt;The key differences come down to dynamic UIs versus more static content with SEO needs. SSR and simplicity help for traditional websites while React facilitates advanced interactivity.&lt;/p&gt;

&lt;p&gt;Overall, use React directly when you want pure client-side power and control. Use Next.js when you value SEO, simplicity, performance and don't need full frontend control.&lt;/p&gt;

&lt;p&gt;As with any abstraction, understand the tradeoffs. And know you can always mix and match - using React for dynamic widgets in Next.js pages.&lt;/p&gt;

&lt;p&gt;What's been your experience using React vs Next? When does each shine? Please share your thoughts and advice below!&lt;/p&gt;

&lt;p&gt;Thanks for reading my article so far.&lt;br&gt;
Connect me on &lt;a href="https://www.linkedin.com/in/lakin-mohapatra/"&gt;Linkedin&lt;/a&gt;, &lt;a href="https://twitter.com/lakincoder"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.instagram.com/lakin_codes/"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If this article provided you value in some way, you can show your support to me here by clicking on the below link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/lakinmohapatra"&gt;Buy me a coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>nextjs</category>
      <category>react</category>
    </item>
    <item>
      <title>PHP: Tackling Limitations, Boosting Performance, and Enhancing Maintainability</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Thu, 07 Sep 2023 07:27:19 +0000</pubDate>
      <link>https://forem.com/lakincoder/php-tackling-limitations-boosting-performance-and-enhancing-maintainability-39ih</link>
      <guid>https://forem.com/lakincoder/php-tackling-limitations-boosting-performance-and-enhancing-maintainability-39ih</guid>
      <description>&lt;p&gt;Here are some of the main pain points and limitations developers experience with PHP:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt; - PHP interprets code at runtime rather than compiling so it is slower for intensive tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Memory usage&lt;/strong&gt; - The PHP engine's memory handling is not as efficient as languages like C, so apps can require more resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Concurrency&lt;/strong&gt; - PHP does not have native multiprocessing capabilities. Workarounds exist but can be complex.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code execution&lt;/strong&gt; - PHP waits until code finishes executing before returning a response, blocking the server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code maintenance&lt;/strong&gt; - Dynamic typing, global state, and inconsistent function naming can make PHP apps harder to maintain.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resource intensive&lt;/strong&gt; - PHP apps often require more infrastructure scaling to handle load compared to other languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Weak typing&lt;/strong&gt; - Lack of type safety can lead to bugs and coercion issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Built-in libraries&lt;/strong&gt; - PHP's core libraries lack robustness compared to other languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Verbose syntax&lt;/strong&gt; - Lots of boilerplate compared to languages with modern syntax like Python.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key problems are performance, scalability, and difficulty maintaining large complex applications. But PHP's convenience and approachability are why it remains popular despite these downsides.&lt;/p&gt;

&lt;p&gt;Here are some ways to mitigate PHP's limitations by integrating with other technologies:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use HipHop VM or PHP compilers like Phalanger to convert PHP into optimized bytecode&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offload intensive processing to background workers powered by Swoole, ReactPHP, or Amp &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implement caching with Redis or Memcached to reduce database queries &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use FFI to invoke high-performance C libraries directly from PHP code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Horizontally scale PHP using a load balancer and reverse proxy like Nginx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enable autoscaling groups on cloud platforms like AWS Elastic Beanstalk &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adopt asynchronous and event-driven architectures via Swoole &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use services like Cloudflare to absorb network load&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Maintainability:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Improve code quality by adopting standards like PSR-12 coding style&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leverage static analysis tools such as PHPStan and Psalm to catch bugs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use PHP 7+ features like strict typing to identify issues early &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Refactor into reusable components and libraries for modular code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Utilize design patterns more systematically&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Integrating PHP with other technologies like caches, queues, and high-performance libraries/services can help overcome some of its limitations.&lt;/p&gt;

</description>
      <category>php</category>
      <category>wordpress</category>
      <category>laravel</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Building What Matters, Not What's Fun</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Tue, 22 Aug 2023 18:41:12 +0000</pubDate>
      <link>https://forem.com/lakincoder/building-what-matters-not-whats-fun-172</link>
      <guid>https://forem.com/lakincoder/building-what-matters-not-whats-fun-172</guid>
      <description>&lt;p&gt;We, developers, love to build. It's in our DNA. Given free rein, we'll eagerly construct complex systems just to test our skills. But while technically stimulating, these "&lt;strong&gt;&lt;em&gt;toy projects&lt;/em&gt;&lt;/strong&gt;" done in a professional context can be detrimental. &lt;/p&gt;

&lt;p&gt;On your own time, build whatever you want. But at work, restrain the urge to over-engineer, overbuild, or meander down rabbit holes. No matter how cool the tech is, if it doesn't align with business requirements, you're wasting precious time and resources. &lt;/p&gt;

&lt;p&gt;The hard truth is most business leaders don't care about the elegance of your code or the complexity of your algorithms. They care about delivering business value. Fancy features or architectural flourishes that don't move the needle on product metrics are distractions.&lt;/p&gt;

&lt;p&gt;So stay focused on building what matters to the product and customers. Refrain from overcomplicating things by adding unnecessary features. Refactor mercilessly to keep things lean. Align your work to iterative requirements, not theoretical use cases. Deliver pragmatically. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Great developers deliver the right capabilities at the right time. They don't churn out toys. Build what's needed today, not what might be interesting someday.&lt;/strong&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By maintaining deliberate focus, you will earn the respect of your managers and satisfy your customers.&lt;/p&gt;

&lt;p&gt;What do you think? Have you seen toy project syndrome undermine delivery? What tips do you have for staying focused as a developer?&lt;/p&gt;

&lt;p&gt;I'd love to hear your perspectives!&lt;/p&gt;

&lt;p&gt;Connect me on &lt;a href="https://www.linkedin.com/in/lakin-mohapatra/"&gt;Linkedin&lt;/a&gt;, &lt;a href="https://twitter.com/lakincoder"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.instagram.com/lakin_codes/"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

</description>
      <category>developers</category>
      <category>javascript</category>
      <category>buildinpublic</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Micro frontends: Building In Public From Scratch - Part 3 - Incrementally transitioning to microfrontends</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Wed, 16 Aug 2023 06:36:19 +0000</pubDate>
      <link>https://forem.com/lakincoder/micro-frontends-building-in-public-from-scratch-part-3-incrementally-transitioning-to-microfrontends-4agm</link>
      <guid>https://forem.com/lakincoder/micro-frontends-building-in-public-from-scratch-part-3-incrementally-transitioning-to-microfrontends-4agm</guid>
      <description>&lt;p&gt;Welcome to the third chapter of our &lt;strong&gt;"Build in Public"&lt;/strong&gt; microfrontends adventure!&lt;/p&gt;

&lt;p&gt;No dull moments – Pure action-packed content. Lets get started. &lt;/p&gt;

&lt;p&gt;As you know, many frontend apps face challenges with large legacy codebases tied to outdated tech stacks or rushed code due to delivery pressure. This can lead to a dilemma for project managers and technical architects. They're unsure about adopting the micro frontend architecture, fearing conflicts and despair.&lt;/p&gt;

&lt;p&gt;However, there's a solution that relieves these worries. Instead of a complete app rewrite, the strategy is to gradually replace old app components or modules. This way, new features can be delivered to users without being slowed down by the old monolith.&lt;/p&gt;

&lt;p&gt;Here's the trick: A single team can work on migrating one component/module at a time, while others maintain the existing parts of the codebase. Over time, this incremental approach leads to success.&lt;/p&gt;

&lt;p&gt;Let me explain this process in detail.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Example 1
&lt;/h2&gt;

&lt;p&gt;Suppose you have an old family car that's been reliable for years but is really showing its age. It's time for an upgrade but buying a brand new car would be an expensive overhaul.&lt;/p&gt;

&lt;p&gt;Instead, you can modernize it piece-by-piece - replace the stereo one month, get new tires another month, install updated seat covers, etc.&lt;/p&gt;

&lt;p&gt;This incremental upgrade approach lets you continuously improve the car over time.&lt;/p&gt;

&lt;p&gt;Similarly, for an aging website with old technology, you can incrementally replace parts with new microfrontend features:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Month 1:&lt;/strong&gt; Build a new home page as a microfrontend&lt;br&gt;
&lt;strong&gt;Month 2:&lt;/strong&gt; Extract checkout to a new microfrontend&lt;br&gt;
&lt;strong&gt;Month 3:&lt;/strong&gt; Modernize account settings as a microfrontend&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This lets you upgrade the site gradually to avoid a disruptive rewrite.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Example 2
&lt;/h2&gt;

&lt;p&gt;Imagine you have a 1970s-style house that you want to remodel into a modern, open floor plan.&lt;/p&gt;

&lt;p&gt;You wouldn't bulldoze the entire house and rebuild overnight. That would be hugely disruptive for your family's living situation.&lt;/p&gt;

&lt;p&gt;Instead, you would remodel in phases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1:&lt;/strong&gt; Demolish a small wing and build an open kitchen&lt;br&gt;
&lt;strong&gt;Phase 2:&lt;/strong&gt; Take down some walls to open up the living and dining rooms&lt;br&gt;
&lt;strong&gt;Phase 3:&lt;/strong&gt; Redo the closed off bedrooms into a master suite&lt;br&gt;
Each phase focuses on remodeling part of the outdated house into modern style.&lt;/p&gt;

&lt;p&gt;Over months and years, the incremental phases ultimately transition the full house.&lt;/p&gt;

&lt;p&gt;This is less disruptive and gives flexibility to pivot plans based on learnings.&lt;/p&gt;

&lt;p&gt;Similarly, incrementally refactoring a legacy app into microfrontends lets you focus on high value areas first while minimizing risk.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Over time, more of the application transitions in phases. But forcing overnight change is too disruptive.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Process of Incremental Transition:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Start Where It Matters: Get the Ball Rolling&lt;/strong&gt;&lt;br&gt;
Begin by identifying the parts of your application that will benefit most from the micro frontend approach. It's not about a complete overhaul; it's about identifying the key areas that can thrive within this new paradigm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Coexistence with Monoliths: Let's Be Friends&lt;/strong&gt;&lt;br&gt;
Incremental transition doesn't mean waving goodbye to your existing monolith; it means coexisting harmoniously. Consider encapsulating micro frontends within your monolithic architecture. This enables selective migration and paves the way for gradual transformation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Prioritize Use Cases: Time to Get Choosy&lt;/strong&gt;&lt;br&gt;
Prioritization is your guiding star. Choose use cases that align with business goals and user needs. This way, you incrementally improve the user experience and empower teams to innovate within their designated areas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. API Contracts as Connectors: The Magic Bridges&lt;/strong&gt;&lt;br&gt;
API contracts play a pivotal role in the incremental transition. They act as connectors, enabling smooth communication between micro frontends and the existing monolith. Think of them as bridges that ensure coherence and consistency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits include:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade at your own pace&lt;/li&gt;
&lt;li&gt;Isolate riskier changes&lt;/li&gt;
&lt;li&gt;Mix old and new code during transition&lt;/li&gt;
&lt;li&gt;Experiment with new technologies in isolated microfrontends&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So think of microfrontends as a way to modernize an outdated website incrementally, like giving an old car a piece-by-piece upgrade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Considerations
&lt;/h2&gt;

&lt;p&gt;Of course, no transition is without challenges:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Synchronization:&lt;/strong&gt; Coordinating changes across monoliths and micro frontends demands meticulous synchronization to maintain a coherent user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Testing Strategy:&lt;/strong&gt; Transitioning incrementally requires a thoughtful testing strategy. Ensuring compatibility and consistency during the transition is essential.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Communication Overhead:&lt;/strong&gt; As micro frontends increase, so does the need for effective communication. Maintain clear lines of communication to prevent silos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So, there you have it—your roadmap to acing the incremental transition in micro frontends. It's all about starting smart, keeping the peace, choosing your use cases, and building those magic bridges. &lt;/p&gt;

&lt;p&gt;Next part of this series will be based on following topics :&lt;br&gt;
&lt;strong&gt;Brief intro to web components and custom elements&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Please like, follow, and share this post if you found it valuable. The more we can spread the word, the better we can collectively advance the state of web architecture.&lt;/p&gt;

&lt;p&gt;I appreciate you coming along for the ride! &lt;br&gt;
Stay tuned! &lt;/p&gt;

&lt;p&gt;Connect me on &lt;a href="https://www.linkedin.com/in/lakin-mohapatra/"&gt;Linkedin&lt;/a&gt;, &lt;a href="https://twitter.com/lakincoder"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.instagram.com/lakin_codes/"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microfrontend</category>
      <category>vue</category>
      <category>react</category>
      <category>angular</category>
    </item>
    <item>
      <title>Micro frontends: Building In Public From Scratch - Part2 - when to use Microfrontends ?</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Fri, 11 Aug 2023 10:08:41 +0000</pubDate>
      <link>https://forem.com/lakincoder/micro-frontends-building-in-public-from-scratch-part2-when-to-use-microfrontends--48i8</link>
      <guid>https://forem.com/lakincoder/micro-frontends-building-in-public-from-scratch-part2-when-to-use-microfrontends--48i8</guid>
      <description>&lt;p&gt;Today, I decided to explore when it's a good idea to use micro frontends in projects. I usually only try new tech when I'm really sure it's worth it. So, I've started looking into it, and here's what I found. I want to help you all understand when micro frontends could be useful. Whether you're a technical architect, developer, or project manager, this information could prove to be invaluable. It can serve as a significant factor in decision-making processes.&lt;/p&gt;

&lt;p&gt;Lets get started . No dull moments – just action-packed content.&lt;/p&gt;

&lt;p&gt;Microfrontends work great for complex sites - but how do you know if your site complexity demands them?"&lt;/p&gt;

&lt;p&gt;Just to remind you about Microforntend architecture , let me share few examples again. &lt;/p&gt;

&lt;h2&gt;
  
  
  Example 1: Office Building
&lt;/h2&gt;

&lt;p&gt;Think of constructing a huge office building - you wouldn't try to build the entire massive structure as one giant block.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdtr8xx0pip4nsxecwlf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdtr8xx0pip4nsxecwlf.png" alt="Building"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead, you separate it into smaller wings and floors that focus on specific functions. Then you integrate these pieces together into the final building.&lt;/p&gt;

&lt;p&gt;Similarly, microfrontends split up a large web application into smaller, focused components.&lt;/p&gt;

&lt;p&gt;Each microfrontend acts as its own wing or floor, specialized for its job. But they integrate together seamlessly into the full application building.&lt;/p&gt;

&lt;p&gt;Constructing a massive office complex using separate wings makes sense - it allows focused specialization and independent workstreams.&lt;/p&gt;

&lt;p&gt;Similarly, microfrontends excel when building complex web apps with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Many complex features and large development teams&lt;/li&gt;
&lt;li&gt;Ability to break the product into specialized domains&lt;/li&gt;
&lt;li&gt;Need for agility on specific features without coordination overhead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, for constructing a small office building, building separate wings may be over-engineering it.&lt;/p&gt;

&lt;p&gt;Likewise, microfrontends may be overkill for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller, simpler web applications and teams&lt;/li&gt;
&lt;li&gt;Apps where shared state and tight integration needs outweigh benefits&lt;/li&gt;
&lt;li&gt;Products where consistent UX is more critical than independent features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In these cases, a traditional monolithic architecture may be preferable to avoid the overhead and complexity of microfrontends.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example 2 :Dinner
&lt;/h2&gt;

&lt;p&gt;Let's say you're cooking dinner. For a simple meal with just a main dish, doing everything in one pot or pan is easiest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25pqxuwk0i1vly9t3wti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25pqxuwk0i1vly9t3wti.png" alt="Dinner Analogy Example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But for a super elaborate 5-course meal, you likely need multiple pots, pans, and utensils working in parallel!&lt;/p&gt;

&lt;p&gt;Similarly, apps with lots of features and traffic often benefit from microfrontends:&lt;/p&gt;

&lt;p&gt;Many features = multiple pots&lt;br&gt;
Large teams = multiple cooks&lt;br&gt;
Divide and conquer complexity&lt;br&gt;
But how big is "big enough"? &lt;/p&gt;

&lt;h2&gt;
  
  
  Some sizing guidelines:
&lt;/h2&gt;

&lt;p&gt;5+ development teams&lt;br&gt;
10+ major site features&lt;br&gt;
500k+ monthly site visitors&lt;/p&gt;

&lt;p&gt;So in summary:&lt;/p&gt;

&lt;p&gt;Simple app and team = one pot&lt;br&gt;
Complex app and team = multiple micro-pots&lt;/p&gt;

&lt;p&gt;Evaluate if your app has grown big and complex enough to justify adopting microfrontends. They really shine for elaborate 5-course meal sites!&lt;/p&gt;

&lt;h2&gt;
  
  
  Key points :
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;When To Use Microfrontends&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Best use cases:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very large, complex frontend applications&lt;/li&gt;
&lt;li&gt;Many autonomous teams and business domains&lt;/li&gt;
&lt;li&gt;Rapid innovation needed on specific features&lt;/li&gt;
&lt;li&gt;App already using component architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When Not To Use&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Avoid microfrontends if:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App is relatively small and simple&lt;/li&gt;
&lt;li&gt;Heavy shared state and data coupling&lt;/li&gt;
&lt;li&gt;Strong UI/UX consistency required across features&lt;/li&gt;
&lt;li&gt;Team is unfamiliar with modular architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pros and Cons
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focused team ownership&lt;/li&gt;
&lt;li&gt;Technology flexibility&lt;/li&gt;
&lt;li&gt;Independent deployments&lt;/li&gt;
&lt;li&gt;Scaling team size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added complexity&lt;/li&gt;
&lt;li&gt;Integration challenges&lt;/li&gt;
&lt;li&gt;Partial UI inconsistencies&lt;/li&gt;
&lt;li&gt;Repeated shared code&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Next part of this series will be based on following topics :&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Setting expectations for incrementally transitioning to microfrontends&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Please like, follow, and share this post if you found it valuable. The more we can spread the word, the better we can collectively advance the state of web architecture.&lt;/p&gt;

&lt;p&gt;I appreciate you coming along for the ride! &lt;br&gt;
Stay tuned! &lt;/p&gt;

&lt;p&gt;Connect me on &lt;a href="https://www.linkedin.com/in/lakin-mohapatra/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;, &lt;a href="https://twitter.com/lakincoder" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.instagram.com/lakin_codes/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microfronten</category>
      <category>angular</category>
      <category>vue</category>
      <category>react</category>
    </item>
    <item>
      <title>Micro frontends: Building In Public From Scratch - Part1 - What are Microfrontends ?</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Thu, 10 Aug 2023 09:26:28 +0000</pubDate>
      <link>https://forem.com/lakincoder/part1-micro-frontends-building-in-public-from-scratch-2oki</link>
      <guid>https://forem.com/lakincoder/part1-micro-frontends-building-in-public-from-scratch-2oki</guid>
      <description>&lt;p&gt;Welcome to the first chapter of our "Build in Public" microfrontends adventure!&lt;/p&gt;

&lt;p&gt;In this opening segment, we'll be exploring:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;What microfrontends are and the core concepts&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Potential benefits of using microfrontends&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;How microfrontends compare to monolithic architectures&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://dev.to/lakincoder/-2h8a"&gt;Click here&lt;/a&gt; to read introductory post of this series.  &lt;/p&gt;

&lt;p&gt;There will surely be triumphs, stumbles, and tons of learning along the way! I’m grateful to have you alongside as we unravel the microfrontends architecture step-by-step.&lt;/p&gt;

&lt;p&gt;To begin, let’s get grounded in what microfrontends are at a high level...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What microfrontends are and the core concepts&lt;/strong&gt;&lt;br&gt;
Microfrontends are an architectural style where frontend web applications are broken down into smaller, independently deployable units. Each unit owns a distinct business domain, user workflow, or feature set.&lt;/p&gt;

&lt;p&gt;Microfrontends have these key characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Owned by small, decentralized teams&lt;/li&gt;
&lt;li&gt;Independently developable, testable, and releasable&lt;/li&gt;
&lt;li&gt;Organized around business domains and features&lt;/li&gt;
&lt;li&gt;Compose together to form the final product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Confused? Let's explain microfrontends using the example of the Indian city of Bangalore.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtsk4di7uhek6ruub4rt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtsk4di7uhek6ruub4rt.png" alt="Workflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bangalore&lt;/strong&gt; is composed of many distinct neighborhoods like &lt;strong&gt;Indiranagar&lt;/strong&gt;, &lt;strong&gt;Koramangala&lt;/strong&gt;, &lt;strong&gt;Jayanagar&lt;/strong&gt;, etc.&lt;/p&gt;

&lt;p&gt;Each neighborhood has its own unique vibe - but they come together to form the metro city of Bangalore.&lt;/p&gt;

&lt;p&gt;Similarly, a large microfrontends app is divided into smaller "&lt;strong&gt;neighborhood&lt;/strong&gt;" microfrontends. Each focuses on a specific feature or workflow. The microfrontends integrate together into the final application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Potential benefits of using microfrontends&lt;/strong&gt;&lt;br&gt;
Microfrontends excel in situations like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very large, complex frontend apps and teams&lt;/li&gt;
&lt;li&gt;Organization around independent business domains&lt;/li&gt;
&lt;li&gt;Need for technology flexibility across features&lt;/li&gt;
&lt;li&gt;Rapid iteration on specific user workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The modular architecture enables smaller teams to move faster on their area of focus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comparing to Monoliths&lt;/strong&gt;&lt;br&gt;
Traditional monolithic frontend architectures contain all of an application's logic in one massive codebase. As the codebase grows, this creates several challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coordination overhead&lt;/strong&gt; - Large teams trip over each other trying to make changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slower release cycles&lt;/strong&gt; - All changes must be bundled together for deployment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spaghetti code&lt;/strong&gt; - Harder to maintain clean architecture over time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scaling difficulties&lt;/strong&gt; - More developers does not directly speed up delivery&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technology lock-in&lt;/strong&gt; - New frameworks hard to adopt across the codebase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Microfrontends aim to solve these issues by distributed ownership across domain-based teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Focused domains&lt;/strong&gt; - Small teams own specific features end-to-end&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independent development&lt;/strong&gt; - Teams can build, test and deploy their domains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Loose coupling&lt;/strong&gt; - Teams can choose their own technologies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scaling velocity&lt;/strong&gt; - More teams directly speed up delivery&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resilience&lt;/strong&gt; - Changes isolated to their domains&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So while a monolith frontend hits bottlenecks as it scales, microfrontends unlock agility by decomposing into distributed domain teams.&lt;/p&gt;

&lt;p&gt;However, microfrontends add integration complexity. There are tradeoffs around consistency and shared code as well.&lt;/p&gt;

&lt;p&gt;The sweet spot is applications that are large/complex enough to justify the tradeoff. We'll explore guidelines next.&lt;/p&gt;

&lt;p&gt;That wraps up a high-level overview explaining the core concepts and motivation behind microfrontends.&lt;/p&gt;

&lt;p&gt;I hope this post has provided a solid foundation for what microfrontends are all about and why they may be a useful evolution for certain applications.&lt;/p&gt;

&lt;p&gt;Excitingly, this is just the start of our microfrontends journey together.&lt;/p&gt;

&lt;p&gt;Next part of this series will be based on following topics : &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;When it makes sense to use microfrontends&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When not to use microfrontends&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The pros and cons of a microfrontends approach&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setting expectations for incrementally transitioning to microfrontends&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’d love for these posts to reach developers across the world who could benefit from learning about microfrontends.&lt;/p&gt;

&lt;p&gt;Please like, follow, and share this post if you found it valuable. The more we can spread the word, the better we can collectively advance the state of web architecture.&lt;/p&gt;

&lt;p&gt;I appreciate you coming along for the ride! &lt;br&gt;
Stay tuned! &lt;/p&gt;

</description>
      <category>microfrontends</category>
      <category>vue</category>
      <category>react</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>𝐌𝐢𝐜𝐫𝐨 𝐟𝐫𝐨𝐧𝐭𝐞𝐧𝐝𝐬: 𝐁𝐮𝐢𝐥𝐝𝐢𝐧𝐠 𝐢𝐧 𝐏𝐮𝐛𝐥𝐢𝐜 𝐟𝐫𝐨𝐦 𝐒𝐜𝐫𝐚𝐭𝐜𝐡</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Tue, 08 Aug 2023 07:53:22 +0000</pubDate>
      <link>https://forem.com/lakincoder/-2h8a</link>
      <guid>https://forem.com/lakincoder/-2h8a</guid>
      <description>&lt;p&gt;Micro frontends are one of the hottest web development trends right now, allowing teams to break apart monolithic codebases into independent features.&lt;/p&gt;

&lt;p&gt;I'm excited to announce that over the next few weeks, I'll be sharing my hands-on journey of building a micro frontends architecture from scratch!&lt;/p&gt;

&lt;p&gt;Follow along as I tackle topics like:&lt;br&gt;
👉 Micro frontends basics - what are they and when to use them&lt;br&gt;
👉 Implementing micro frontends - code splitting, routing, and integration&lt;br&gt;
👉 State management across micro frontends&lt;br&gt;
👉 Testing strategies for micro frontends&lt;br&gt;
👉 Deployment and scaling considerations&lt;br&gt;
👉 Lessons learned - the good, the bad, and the gotchas&lt;/p&gt;

&lt;p&gt;I'll be documenting my successes and failures, showing real code examples, pitfalls to avoid, and tips I pick up along the way.&lt;/p&gt;

&lt;p&gt;It will be a transparent, no-holds-barred look at the micro frontends approach from the trenches.&lt;/p&gt;

&lt;p&gt;Whether you're already using micro frontends or just curious about them, I think you'll find value in coming along for the ride. There will be plenty of learning for developers of all levels!&lt;/p&gt;

&lt;p&gt;Stay tuned over the next few weeks as I build out this micro frontends application in the open. Click follow so you don't miss an update!&lt;/p&gt;

&lt;p&gt;Let me know if you have any other topics you'd like me to be sure to cover related to micro frontends. I'm excited to dive in!&lt;/p&gt;

</description>
      <category>microfrontend</category>
      <category>react</category>
      <category>angular</category>
      <category>vue</category>
    </item>
    <item>
      <title>Power of AI: Turning LinkedIn Data into Captivating Music!</title>
      <dc:creator>Lakin Mohapatra</dc:creator>
      <pubDate>Fri, 28 Jul 2023 14:03:09 +0000</pubDate>
      <link>https://forem.com/lakincoder/power-of-ai-turning-linkedin-data-into-captivating-music-1n7k</link>
      <guid>https://forem.com/lakincoder/power-of-ai-turning-linkedin-data-into-captivating-music-1n7k</guid>
      <description>&lt;p&gt;I fed my LinkedIn profile data to an AI Model, and the result is mind-blowing! Weird but Interesting.&lt;/p&gt;

&lt;p&gt;Introduced myself via AI Music&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lyrics Generated by AI &lt;/li&gt;
&lt;li&gt;Music Video Generated By AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thinking of an innovative possibility - AI's ability to take your LinkedIn profile data and transform it into an extraordinary musical creation!&lt;/p&gt;

&lt;p&gt;Picture this: AI carefully analyzes your career milestones, accomplishments, and aspirations from your LinkedIn profile. Then, like a musical maestro, it weaves a mesmerizing melody that echoes your unique professional story.&lt;/p&gt;

&lt;p&gt;But it doesn't end there! AI brings your journey to life through a visually stunning Music Video. The result will be a masterpiece that showcases your career in a way you've never imagined!&lt;/p&gt;

&lt;p&gt;Don't miss this unique experiment - check out the video now!&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Vh4LCOzZwNc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Connect me on &lt;a href="https://www.linkedin.com/in/lakin-mohapatra/"&gt;Linkedin&lt;/a&gt;, &lt;a href="https://twitter.com/lakincoder"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.instagram.com/lakin_codes/"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>gpt3</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
