#15: The web platform isn't so bad after all.
π¬ Moulton is now once a month, sent during the first week of the month. Please share your thoughts about this change by replying to this email or tweeting @readmoulton.
Bringing home the bacon.
A little over one year after Remix announced three million dollars in seed funding, Remix has been acquired by Shopify. In conjunction with this announcement, Shopify also detailed their plans for Hydrogen.
By most accounts, this is probably the best thing that could have happened to Remix. At some point, the project needed to find a better source of funding. The original seed funds were likely running low. The United States economy is teetering on the edge of a recession. Venture capital funding isn't flowing nearly as readily as it was a year ago. Speculatively, the team faced a dilemma: Sell Remix, divert attention away from the framework to focus on developing profitable products, or pack up and go home. At least they sold to a company that indicates the Remix team will remain in control of the project.
While a more stable funding source for the Remix team is a welcomed development, there are some legitimate hesitations from the community. For example, this news comes just three months after Shopify fired approximately one thousand workers. In addition, employee priorities are subject to the needs of the company. As the Remix team becomes more integrated with the Shopify organization, it becomes more likely that they'll conflate internal priorities with the needs of the community at large.
Hopefully, the community will look back in a year or two and remember this as an inflection point for extreme growth and stability for the project instead of the day Remix became an E-commerce-focused framework. For more information, you can read Shopify's acquisition announcement here or listen to Ryan (Remix), Michael (Remix), and Dion (Shopify) discuss this topic in their recent Twitter Space.
How old are you again?
It seems some of the Remix team have been experimenting with Web Components as of late. Ryan posted a recreation of Linear's menu button and Combobox on replit, showing that you don't need a framework to handle complex and accessible interactions. Jacob created enhance-remix, demoing Enhance with Remix conventions.
While Web Components have suffered many false starts, they look like a strong contender for certain areas of a web app. Perhaps we can become less dependent on frameworks, at least when it makes sense.
There's no need to get emotional.
In an interesting turn of events, one of the most active maintainers of a popular CSS-in-JS library, has decided to break up with CSS-in-JS. The tragedy of all tragedies, Sam Magura, Emotion's 2nd most active maintainer, admitted to the world that CSS-in-JS has some serious problems. Namely, the runtime overhead, JS bundle size bloat, cluttered dev tools, poor browser performance, and incompatibilities with component libraries.
As it turns out, even the React team is willing to admit the web platform is the best option:
Our preferred solution is to use statically extracted styles and plain inline styles for dynamic values. - React 18 Library Upgrade Guide:
<style>
While this comes as no surprise to proponents of the web, it's important to recognize that CSS-in-JS had a point. It was intended to help locally scope styles, colocate styles with their consumers, and allow for dynamic styling. These innovations likely accelerated the development of utility CSS frameworks and other tools that aim to tame the CSS dragons.
We'll get there when we get there.
In March of this year, the Remix team announced they were Remixing React Router and subsequently published their strategy for accomplishing this goal. We've already seen Remix features come to react-router and now it's time for Phase II: React-routering Remix. This drastically reduces the complexity of Remix itself by delegating router-related tasks to the react-router project and letting Remix focus on the server features that augment the router.
Thank you, Next.
Next.js 13 was released recently, bringing Remix-esque nested layouts to the Next community. Next still lacks a strong mutation story, but it's nice to see the cross-pollination of some features across the ecosystem.
Even as the meta-frameworks converge in functionality, their philosophies remain orthogonal. The Next team has doubled down on the React industrial complex and the associated compilation steps with React Server Components and Turbopack. Remix remains dedicated to minimal abstractions over the web platform. The best outcome is for Next to remain a worthy adversary, pushing the Remix team to greater heights and for Remix to return the favor.
π¬ Do you like the new format? Please reply to this email or tweet @readmoulton with your feedback.
Quick links.
π Fully Typed Web Apps
πΊ Building a Custom Shopify Storefront using Remix and hydrogen-react
π§ RFC:
meta
API for Remix v2π¦ conform v0.4 - Progressive enhancement first form validation
π¦ eslint-plugin-remix
π¦ remix-forms v1 - Now featuring React Router 6.4 support
π¦ zsh-auto-escape - make your
$
routes more convenientπ Playwright Stack
π I know you're making cool stuff with Remix. Why not send it to me? Reply to this email with links to your videos, articles, projects, etc. Shameless self-promotion is encouraged!
Upcoming events.
Meetup: Remix Brasil meets Tuesday, November 8, 2022, at 6:30 PM BRT
Meetup: Remix NYC meets Wednesday, November 16, 2022, at 6:00 PM EST
Meetup: Remix Austin meets Thursday, November 17, 2022, at 6:00 PM.
Remix Conf Europe is a 1-day, 2-track, remote conference focusing on delivering fast and scalable websites deployable to any platform with Remix. The event is on November 18th and tickets are available now.