Pat, one of our diligent readers, sent us a picture of the perfect WFH setup that we can only assume was made possible with the Deskreen library we featured in last week’s issue. Thanks for the desk inspo, Pat! #Goals 😍.
eBay? I haven’t heard that name in years takes drag
Vintage JS framework, still in mint condition… Ebay just released the first major update in over 4 years to Marko, its most popular open-source project.
Quick review: Marko is an HTML-based JavaScript framework that was first developed to help eBay transition from a Java stack to a Node stack back in 2012. So if you’ve used eBay.com any time since 2012 (to buy Pokemon cards or to cop a pair of Jordan 1s that are probably definitely fake), you’ve already interacted with a Marko site.
The framework’s main selling point is how it “re-imagines” and extends HTML to help you build dynamic and reactive UI’s in a declarative way. You can write your code once using (mostly) standard HTML, and it’ll work across the server and the browser with pretty great performance.
What’s new with v5: Turns out web development has changed quite a bit since Marko’s last relase in 2017 (weird how that works). So v5 is all about bringing Marko out of the dark ages and into the glorious light of the modern JavaScript ecosystem. Two big changes help it do that:
New compiler — Marko 5 now runs on Babel, which brings support for all modern JavaScript features and syntax, along with some smooth interoperability with various third-party integrations (like bundlers and testing libraries).
Better CLI — Running npx @marko/create
generates a project with built-in routing, along with other CLI improvements that make it a lot easier to get started with Marko.
Marko was focused on server rendering and server components long before the rest of the JavaScript ecosystem decided it was the next big thing. But now that Marko’s realized that it’s on-trend AF, they decided to release this major update to modernize the framework and open it up for business again. So grab your old V-neck t-shirt, and get ready to party like it’s 2012.
Everything is fine
It was a slow week, so here’s a re-run from our 3rd edition of Bytes back in July. It’s even more relevant today.
Developers love to throw around “it depends” and “tradeoffs” when making technical decisions. Naturally some frameworks/libraries are better suited for certain projects than others. The goal is to avoid the dreaded “we chose the wrong technology 2 years ago and now we’re screwed because of it” Medium think piece. However, one data point that developers never seem to take into consideration when making this decision is the financing of the company behind the technology.
Remember Famo.us? It was a JavaScript framework that specialized in building a fancy Periodic Table of Elements HTML5 performance. It raised a $1MM seed round, then a $4MM Series A, then a $25MM Series B, then it died pivoted. If you bought the hype and built on top of Famo.us, you, well, probably died with it.
What about Meteor? It raised $20MM, then it died its growth stalled and it sold to Tiny Capital for what I assume was pennies on the dollar. If you bought the hype and built on top of Meteor, you, well, probably died with it.
We’re good now though. It’s 2021, we’re partying like we’re not in the middle of a global pandemic, and all the OSS we use is backed by healthy companies with solid financial fundamentals.
Wait, what’s that? Nothing has changed? Oh.
I’m not saying VC is always bad - Cloudflare, Firebase, MongoDB all come to mind as successful, VC backed tech platforms. What I am saying is that companies backed by VC either grow or die trying and you should consider the current and future financial health of a company when making technical decisions.
Using native ES Module during dev (and in some cases in production) will undoubtedly continue to be more popular; Vite and Snowpack are doing exciting things here.
Separately, I still think there’s going to be a new language designed for the web that will take off like a rocket and, while it won’t replace JavaScript, will give it a serious run for its money. No clear contenders yet—Reason, Elm, and Dart have all struggled to gain ubiquitous adoption, but have made serious strides. Maybe it’s AssemblyScript, once it and Wasm mature.
Remotion is a new framework that lets you make videos in React. Our own Alex Anderson made an 18-minute Intro to Remotion video, so you can see it in action. Watch your back, Christopher Nolan. React’s coming for you too.
Lea Verou wrote about the challenges she’s faced in rewriting Bliss to use ES modules and how she’s tackling them.
On Wednesday, Michael wrote a non-comprehensive guide to YAML and how it compares to JSON. He wrote a follow-up post on Thursday and officially earned himself a fun-and-flirty new nickname: YAML-Camel 🐫.
Dither Me This is a slick image dithering tool that lets you reduce the file size of an image “in a stylish, old-school way.” Same vibes as when Macklemore said, “I’ma take your Grandpa’s Style” (speaking of 2012).
Lex Fridman interviewed Brendan Eich on his podcast last week. It was weird because they mostly talked about JavaScript and web browsers.
Dmitri wrote 7 interview questions and answers on JavaScript Closures. How many can you get right without looking them up? Pretty sure that Brendan and Lex wouldn’t do better than 5/7, tbh.
Rami created Charts.css — a CSS framework that will help you make beautiful, customizable charts. This will be perfect for charting how many YAML articles Michael writes per week going forward.
Last week, we were super excited to learn that the Rust Foundation had been established. We were slightly less excited when we learned that the Rust Foundation’s job is to oversee the Rust programming ecosystem and not to oversee the creation of a Salad Fingers Cinematic Universe™.