Development tools

How are people developing these days?

My situation is that I often do other things for a couple of years now and then, with just an occasional hack now and then. I therefore tend to sit out a couple of hype waves, and then, I also don’t know what people are using.

So, I think I would be using TypeScript, and I usually like writing things test driven. I would probably learn Go somewhere down the road, but not now. My app isn’t going to be that big, but it needs login, logout, and it seems like that’s going to be pretty boilerplate code, so it would be nice to have something creating the boilerplate. I’ve never felt particularly good about express, but I guess a very extensive MVC framework is also probably overkill for now.

Anyone got any hints based on those parameters, TS, test driven, boilerplate well covered?

1 Like

As an iOS dev who only does web dev to play with atproto. I really like the typescript deno ecosystem as it comes with all the test and lint toys included. What put me off a bit in the js/ts universe was the thousand different tools to do the same thing and a new flavor being the it thing every week. But with deno that’s just your runtime and it runs your tests, formatting, linting and you don’t have to think about any of that stuff any more and actually get stuff done. For high performance stuff I might indeed grab a bit of Go. Framework wise I’m not set on anything in particular and also don’t think it matters a whole lot. Express is fine, Next’s is fine, Fresh (which is in the same Deno universe) is fine, Hono is a nice lightweight thing for routing which could be all you need already. Whatever appeals to you I think.

2 Likes

There’s a ton of boilerplate that you get for free if you choose the right TS framework. My favorites currently are Tanstack Start and Svelte (which is not exactly squarely TS, it’s kind of its own thing). I’d push back against Next.js because the DX has gotten bloated to the point that the boilerplate is exhausting. For BE, the fastest way to get started and add features is probably using a managed service like Supabase or Convex. These come batteries included for pretty much anything you’d need to build. Supabase is basically just Postgres with some bells and whistles, and Convex, while SQL based under the hood, is kind of a new paradigm that has an insane sync engine that ensures consistent state across clients. That being said for involving ATProto you’d probably need to use some sort of hybrid of these + ATProto tools for writing records, notably such as TAP.

1 Like

Thanks for the answers! I don’t think I will persist anything outside of the PDS, so I don’t think I will go for the DB-driven frameworks, but I’ll look into the rest. Deno looks cool, but I’m thinking about going for oauth-client-node for now, I suppose that doesn’t work on Deno?

Not sure if you’ve seen what I’ve built for Adonis.js Framework, but it gives you OAuth out of the box, integrating with the rest of the ecosystem of Adonis.

I also have a package for Tap:

If you want to see them in action, the code for the app I’m currently building is open source: GitHub - ThisIsMissEm/questionable-fyi: Questionable is an AT Protocol app for asking questions and getting answers, receiving asks and doing interviews or AMAs

It’s built using inertia + react so is mostly server rendered with the client taking over; but you could also use the above with Edge.js (Adonis’s templating language).

1 Like

Oh, also, whilst Questionable does have a database, it’s really just a cache, to allow more efficient queries — notifications are also persisted by it, and maybe “anonymous” asks, but all the AT Protocol data is effectively just a cache; I’m still working on patterns to make that really nice, but deferred it a bit whilst I do other work