Remix first impressions
Just finished working through the most basic of basic Remix tutorials: the blog. Remix is building hype so I wanted to give it at least a cursory look so that I can hold forth with Opinions when next I'm prompted for opinions on modern JavaScript frameworks. It happens all the time.
And: Remix feels nice! It feels like the closest thing to a JavaScript Rails/Laravel that I've tried so far (disclaimer: I haven't tried BlitzJS). I like the first-class support for databases, the emphasis on testing in the examples, and the friendly attitude towards web standards: win win win all round.
I'm not quite sure about the loader
/action
APIs for pages. As I understand it, the ActionFunction
exported from a route file is a generic handler for POST requests to that route—but it doesn't have the explicit clarity of e.g. SvelteKit, where the handlers are called get
/post
/patch
/etc and all live in an "endpoint" file that handles requests. I'm generally a fan of colocating code that all works together, but I like keeping templating separate from logic, and SvelteKit does a better job on that front. That's just personal preference, though.
Beyond developer ergonomics, though—it feels like Remix is trying to edge in on MVC app territory, and I don't think that any amount of effort is going to be able to chase down Rails or Laravel. JavaScript frameworks do best when they keep concerns separate and stake out a bit of territory to absolutely dominate—see for instance NextJS, which provides serverside-flavoured logic only insofar as it calls some other data-handling API, but which has become the go-to recommendation for building reliable and performant frontends.
Remix is officially on the tech tool carousel, so I'm keen to see where it goes in future. But I don't think I'm going to reach for it when scoping out new projects.
Next
Strava's new(-ish) privacy controls allow you prevent other users from viewing your data. But what about the privacy controls to prevent the application itself from viewing your data?
Previous
Busy month: lots of long weekends, lots of driving, sun's back out, bring on the summer already.