Marko 4.0 is here 🚀 🎉

  • Integrated support for components: seamlessly transition from a plain HTML view to an interactive component.
  • Single-file component definitions with an easy path to multi-file if the code outgrows the single file.
A single file component. No boilerplate, you don’t even reference Marko. Play with it here.
  • Targeted rendering modes: Components compiled for the server render to an HTML stream (yielding 5–50x faster server renders than other UI libraries). Components compiled for the browser render to one of the fastest Virtual DOM implementations.
  • Virtual DOM optimizations: static sub-trees are only initialized once. Diffing of static sub-trees and attributes are short-circuited.
  • An ultra-trim runtime. Compiled components only import exactly what they need from the Marko runtime. This allows us to add new features with virtually no extra bloat for existing apps.
  • Seamless handoff from the server to the browser. All component state and input is efficiently serialized and sent to the browser so that the browser page can instantly boot with no additional re-render required.
  • Smart isomorphic dependencies: views/components know what dependencies they need for rendering vs mounting. If a view only needs to be rendered on the server, it won’t be sent to the browser, but any associated stylesheets or client-side logic will be.
  • 90% test coverage with nearly 2000 individual tests covering Marko, its parser (htmljs-parser) and its DOM reconciliation (morphdom).

Thank you!




Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Michael Rawlings

Michael Rawlings

More from Medium

How to integrate Magnific Popup Javascript Library with Shopify

Presenting my Flatiron Phase 5 Capstone Project! — User/Admin access

MEAN vs MERN Stack Development

3. First steps in React