#6: Recommence
To begin again. (but you probably knew that)
It's been a while since this newsletter was sent and it's time to recommence.
NEWS FROM THE REMIXVERSE
Remix at Reactathon
The Remix team showed up in full force at Reactathon this year.
Kent's talk, Shipping to the Edge, walks through the history of the different stages of web development and gives a glimpse into the future of developing experiences for the web.
Ryan, who couldn't resist making his talk's acronym be "WTF," presented When to Fetch: Remixing React Router. Florence and his machines, err, Macbook, showed off the lovely Remix features coming to React Router. Make sure you 'await' for the ending because Ryan teased some React 18 streaming goodies expected to arrive soonβ’οΈ in Remix.
Remix and "The Edge"
Jim Nielsen, Remix's Director of Design, expounds upon Kent's Reactathon talk. He explains the different ways to deliver content on the web and how Remix takes advantage of "The Edge."
Remix Conf B-Side
The Remix team heard you like conferences, so they made a conference for their conference. It turns out, they received so many great proposals for Remix Conf that they decided to upload some of the extras directly to Youtube. So far, the playlist features three talks great talks. In How to Speak with Remix, Andre Landgraf explains how to use Remix to output things other than HTML, like SSML, for example. Don't worry, I didn't know it existed either. Turns out, the web platform always has more to offer! Migrating a Rails & React SPA to Remix by Diogo Biazus overviews how Seasoned is migrating Rails projects to Remix. It's almost like it's in the title! This is certainly an interesting approach, and it might be exactly what you need to convince your team to start your Remix migration. Purge Per Route by Brooks Lybrand takes CSS optimization to the next level by creating a CSS file per route. This allows you to ship the exact styles your page needs to load. You'll want to add this playlist to your Youtube library and check back periodically. More talks are expected in the coming weeks.
Up and Running with Remix
Kent is at it again! This time, he's released over an hour of Remix training on Egghead. He covers everything you'd need to know to get started with Remix, from creating your first project to deploying it on Fly. This is a great resource to refresh yourself on Remix basics or to help you train the rest of your team.
Articles, Tutorials, and Videos
Why you should lift component state up to the URL - Sam Selikoff explores a cornerstone of the Remix methodology. Grasping this technique will improve your Remix project in many practical ways.
State Machines on the Edge - There was more Remix at Reactathon than we originally thought! Erik Rasmussen presents a unique way to utilize XState to create complex user flows.
How remix-domains improves the (already awesome) DX of Remix projects - Gustavo Guichard details how the remix-domains project helps Remix developers write less boilerplate and create great business logic abstractions.
E2E test Remix with Vitest and Puppeteer - Curious how to add browser testing to your Remix application? Don't like the Cypress approach from the Remix stacks? Sergio shows us how to use Puppeteer instead.
FEATURED PROJECTS
Remix Conf Frames - Tedis Agolli created a website with Remix that allows you to tout your Remix Conf patronage. If you've seen profile pictures with a border saying "Attending Remix Conf," you can thank Tedis. You can also check out the source code on GitHub.
Remix Flat Routes - Michael Carter (aka. Kiliman) continues to make me look like a 0.1x developer by creating a package to help you use and migrate to flat routes. If you like nested layouts, but don't like the nested folder structure, this is a great project to check out. After announcing this package, several developers converted their projects and reported their routes folder was significantly easier to deal with.
K-Pop Stack - Netlify released a Remix stack featuring... Netlify! This stack utilizes the full range of Netlify's products: Deployments to the edge, deploy previews, and CI/CD. It uses Supabase for the database and authentication. The usual suspects from Remix stacks: Tailwind, Cypress, Prettier, ESLint, and TypeScript; are also included.
RockSpec Stack - This stack features Progressive Web App (PWA) capabilities, like automatic offline caching, offline detection, and push notifications. Perhaps you don't need that native app after all.
RELEASES
Remix 1.5 - This release brings the highly anticipated official support for the Deno runtime. And it replaces node-fetch with Remix's own fetch implementation! This brings Remix even closer to the platform and enables better streaming support.
Remix Domains 0.2 - Decouple your business logic from your Remix actions and loaders. With first-class type inference from end to end.
Remix Forms 0.16 - Magically create forms + actions in Remix!
Remix Utils 3.2 - A set of utility functions and types to use with Remix.runβ
HYPE & TEASERS
π¦ β I spent the week building an app in @remix_run πΏ, and let me tell you, it was quite good. - @sambreed
π¦ β Just merged the foundational work for the @remix_run node fetch / server packages to lay the ground for @reactjs 18 #suspense support. Be excited. Be very excited. - @ebey_jacob
π¦ β We are completely rebuilding @remix_run's file upload handling and streaming approaches on top of web streams in node and I'm so giddy about it. It's gonna be siiiiiiiick. - @mjackson
SOME HOUSEKEEPING
π Hey there, my name is Nicolas and I'm the new curator of Moulton! This newsletter was started by Martin and he's recently decided to hand over curation. Thank you, Martin, for all of your hard work to put this together!
As curation changes hands, there will be a few tweaks. For starters, I'm planning to send this newsletter out on the 1st and 3rd Friday of the month. The format of the newsletter should largely stay intact, but there will definitely be some evolution over time.
Please feel free to submit content for the newsletter! The best way to do so is to message @readmoulton on Twitter. There's no shame in promoting your own projects, articles, videos, etc. Please send them my way!