> Markdown version of [/videos/1669-marko-js-unsung-hero-of-scalable-web-frameworks](https://www.wearedevelopers.com/videos/1669-marko-js-unsung-hero-of-scalable-web-frameworks). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Marko.js: Unsung Hero of Scalable Web Frameworks Battle-tested by eBay since 2014, Marko.js quietly pioneered modern frontend architecture. Discover why this server-first framework processes requests twice as fast as React. - **Speakers:** [Eugene Fidelin](https://www.wearedevelopers.com/@eugene-fidelin) - **Event:** World Congress 2025 - **Published:** August 20, 2025 - **Duration:** 16:57 - **URL:** https://www.wearedevelopers.com/videos/1669-marko-js-unsung-hero-of-scalable-web-frameworks ## Summary Traditional single-page application (SPA) frameworks like React and Vue often struggle to achieve maximum server-side performance when scaled into multi-page applications (MPAs). While tools like Next.js or Nuxt wrap these SPA frameworks to support server-side rendering (SSR), achieving optimal core web vitals can remain challenging due to their inherent client-side focus. Marko.js emerges as a highly performant, server-first alternative specifically engineered for building universally rendered multi-page applications with extreme scalability. By acting as a superset of HTML rather than relying on JSX, Marko establishes a familiar, structurally clean syntax. Its native compiler relies on automatic dead code elimination to exclusively ship interactive JavaScript to the client while rendering static components natively on the server. Out-of-the-box progressive HTML streaming guarantees that users can interact with early-loaded elements—like an add-to-cart button—long before the entire page completes loading, requiring zero manual configuration from the developer. Under the hood, Marko applies highly optimized HTML concatenation for backend speed and utilizes a custom, lightweight virtual DOM for the browser, benchmarking at nearly double the server-side request processing speed of React. Pioneered and battle-tested by eBay since 2014, Marko predated many modern frontend trends by early-adopting concepts like server-side streaming, fine-grained reactivity, and partial rehydration (islands architecture). Through the Marko Run meta-framework, developers gain access to Vite-based tooling, file-based routing, and seamless TypeScript integration. However, adopting the framework comes with practical trade-offs: implicit component imports can complicate dependency tracking in massive codebases, tooling heavily favors VS Code over IntelliJ, and an eBay-centric ecosystem means third-party UI libraries and AI code generation models are currently much less mature than mainstream SPA alternatives. **Keywords:** marko.js web framework, scalable MPA development, SSR performance optimization, automatic dead code elimination, progressive HTML streaming, core web vitals improvement, partial hydration islands, fine-grained reactivity, next.js SSR challenges, vite developer tooling, file-based routing, ebay UI widget library, lightweight virtual DOM, universal JS execution, HTML superset syntax ## Chapters 1. **Multi-page application challenges and rendering options** (00:04) — Current approaches for building universal applications demand clear trade-offs between performance optimization effort and ecosystem maturity. 1. **Marko template syntax and core component structure** (03:21) — Using a superset of HTML enables familiar frontend component lifecycle structures natively within custom tags. 1. **Automatic dead code elimination and javascript reduction** (05:23) — The framework compiler analyzes interactivity during build time to actively prevent shipping static component javascript to the client. 1. **Progressive rendering for faster actionable interfaces** (06:37) — Sending functional HTML and asset chunks down the wire enables users to interact with page sections before full load. 1. **High server performance via dual compilation targets** (07:29) — Executing string concatenation for the server build while deploying a virtual DOM to the browser minimizes rendering overhead. 1. **Developer ecosystem and Marko Run tool integration** (09:01) — Standardizing around modern tooling like Vite and TypeScript simplifies constructing isolated components using file-based routing. 1. **History and evolution of advanced performance features** (10:23) — Extensive testing at eBay drove the early development of modern web strategies like islands architecture and server streaming. 1. **Syntax opinions and community adoption visibility barriers** (11:46) — Unconventional global component imports and a lack of mainstream marketing create friction for developers exploring the technology. 1. **Tooling limitations and artificial intelligence generation struggles** (14:18) — A smaller open-source footprint directly restricts integrated development environment extensions and degrades code generation accuracy. 1. **Practical steps for testing and adopting Marko** (15:50) — Leveraging provided node package manager commands and studying the eBay UI widget repository demonstrates production-grade implementation. ## Related Moments - [Expected features and performance defaults in modern JavaScript frameworks](https://www.wearedevelopers.com/videos/118-how-to-stop-choosing-javascript-frameworks-and-start-living) (from "How to Stop Choosing JavaScript Frameworks and Start Living") - [Tracking open source community trends in JavaScript native frameworks](https://www.wearedevelopers.com/videos/1288-wearedevelopers-live-scammer-payback-with-python-grok-goes-unhinged-the-future-of-chromium-and-mo) (from "WeAreDevelopers LIVE: Scammer Payback with Python, Grok Goes Unhinged, The Future of Chromium and mo") - [Summary of modern Next.js web development toolchains](https://www.wearedevelopers.com/videos/766-from-zero-to-hero-nextjs-13-and-tailwind-css-for-beginners) (from "From Zero to Hero: NextJS 13 and Tailwind CSS for Beginners") - [Audience Q&A on framework limitations and specific uses](https://www.wearedevelopers.com/videos/456-writing-truly-cross-plattform-applications-using-flutter) (from "Writing truly cross plattform applications using flutter") - [Democratizing cross-platform development with alternative JavaScript frameworks](https://www.wearedevelopers.com/videos/1445-lynx-native-for-more) (from "Lynx: Native for More") - [Core principles of the modern JAMstack development mindset](https://www.wearedevelopers.com/videos/97-headless-and-jamstack-the-state-of-commerce-today) (from "Headless and JAMstack - The State of Commerce Today") ## Related Articles - [Web Development Best Practices: What The Data Tells us](https://www.wearedevelopers.com/magazine/84-web-development-best-practices-what-the-data-tells-us) - [Dev Digest 133 - Back to Front](https://www.wearedevelopers.com/magazine/474-dev-digest-133-back-to-front) - [Dev Digest 136 - No JS(on) of mine](https://www.wearedevelopers.com/magazine/482-dev-digest-136-no-js-on-of-mine) - [The Best JavaScript Framework to Learn](https://www.wearedevelopers.com/magazine/229-the-best-javascript-framework-to-learn) ## Related Jobs - [Senior Software Engineer, React (Websites & Martech)](https://www.wearedevelopers.com/jobs/ext/1605272-senior-software-engineer-react-websites-martech) at **Bitpanda** - [Staff Frontend Engineer](https://www.wearedevelopers.com/jobs/48313-staff-frontend-engineer) at **SMG Swiss Marketplace Group** - [Software Engineer](https://www.wearedevelopers.com/jobs/ext/1304673-software-engineer) at **Bitpanda** - [Software Engineer](https://www.wearedevelopers.com/jobs/ext/1377585-software-engineer) at **Bitpanda** - [Senior Software Engineer, React (Investing & Trading)](https://www.wearedevelopers.com/jobs/ext/1937625-senior-software-engineer-react-investing-trading) at **Bitpanda** - [Software Engineer, React & Angular (Broker Web Platform](https://www.wearedevelopers.com/jobs/ext/1558399-software-engineer-react-angular-broker-web-platform) at **Bitpanda**