# Talking Points for Marko * Origin of Marko * Perl => C++ => Java => Node * Performance inspired by Dust / Facebook BigPipe * Component model inspired by frameworks of the day * Performance * Compiler => { server, browser } * Opt into loading JavaScript * Streaming (in/out of order) * Developer experience * Declarative control flow * As if JS and HTML were designed at the same time * TypeScript! * Marko/Run * Learning Curve * Should be easy to learn for developers who are new to JavaScript * Comminity / Adoption Challenges * Designed for MPA experiences / ecommerce * Small performance-focused community * Owns the whole world (tooling/bundler integration) * eBay uses Marko for most of the frontend experience. * Future of Marko * Tags API * Variables & Parameters from tags * "One-way two-way binding" sugar * Controllable components * Composability (all syntax available to user land) * Easy refactoring. * Fine-grained * Fine grained execution (client runtime performance) * Fine grained code splitting * Fine grained serialization * All through compiler * Resumable * Marko 6 release * We've missed many deadlines * Scope creep is a problem * Bike-shedding is a problem * Marko team has grown * Ecosystem & Tooling & Bundlers are slowing us down * Need to maintain backwards compatability * Looking to have a BETA RELEASE this summer ## Other Frameworks * Marko vs. **Astro** * Marko has a single authoring experience for client & server side. * Astro only has in order streaming (and is blocked at component level). * You can bring in your favorite framework to Astro (unless it's Marko) * Astro templates do not have a top level api (makes it harder to test and integrate with other tools) * No Storybook support for Astro * Can't integration test a single Astro template * Marko vs. **Qwik** * Qwik has explicit boundaries for code splitting * Qwik VDOM rendering at the component level * Qwik only has in order streaming * Qwik has code splitting based on events * Marko vs. **Svelte** * Svelte doesn't have partial hydration * Svelte only recently has something approaching streaming. * Marko preserves _all_ JavaScript behavior * Marko vs. **React** * Marko has superior TS support than JSX now??? * No hook rules in Marko * No dependency tracking * If there's infinite time * Server components * Optimized Micro-frontends