With several spawling, monolithic Rails apps under my belt, I had the opportunity to go a different route. Bulging models, obtuse controllers, and views chock full of logic were my world. When I came up for air, all the cool kids were writing thick clients with svelte backends. Perhaps Sinatra and some hip Javascript framework were the way? Here's what I learned...
I started my career writing assembly language firmware for disk drives. Since then I've done C, some C++, then some SQL and Java, and for the past several years, I've been a Rubyist. Given that background, I really don't consider myself to be a "Ruby Expert." I've presented talks at various events, but this would be my first Ruby talk.
I've led a few teams for large-ish Rails projects from their inception to production support. When I and a few developers had some downtime for an internal project, we decided to try out Sinatra and Angular. Here are some of the challenges we ran into:
- How do we set up a project?
- What do we do for an ORM?
- Reading more source
- Wait, JSON parameters used to "just work," what now?
- OK, what is Rack really?
- Oh, we need to worry about sessions too?
- Yikes! Yeah, security, we probably need that.
- You know, debugging this is a pain, what can we do about loggin?
- CORS with Rack, the lowdown on that.