HACKER Q&A
📣 buttocks

Fastest Language for a CRUD App


I need to spin up a CRUD web app that will hit some external APIs. Nothing complicated, but I want to try something new with fast ramp up. My previous work is PHP Symfony and Python Flask. For whatever reason I am turned off by the idea of using these again so looking for a fresh suggestion. Is Rails still a viable choice? At one point it was “the” framework for CRUD apps.


  👤 solumunus Accepted Answer ✓
SvelteKit w/ Typescript.

The front end logic compiles to vanilla JS and ends up lightning fast compared to React/Vue with much smaller file sizes.

The back end framework is extremely light so you need to pull external packages in or build your own solutions. For example there's no built in ORM or such. This can be seen as a huge negative for some but personally I like to use raw SQL and build my own libraries for things anyway.

I've found insane value in using one language for both front end and back end. Reducing cognitive friction and context switching is a huge win and it allows you to share logic in both places.

My validation logic is defined in exactly one place, so if a piece of data will end up invalid on the back end then realistically it has no chance of even getting there since my submit buttons on the front end will be disabled if my inputs fail that same validation logic.

Similarly I have objects with state classes defining allowable behavior. I can use these state classes in both the front and back end. Why on earth would I want to define these things in two separate places, in two separate languages? Defining once reduces potential errors and obviously saves massive amounts of time. For your average CRUD web apps in 2022 I have no idea why you would reach for a solution that doesn't allow code reuse in both the front and back end. It's such an obvious and huge win for me.


👤 xcasperx
Rails is definitely still a viable choice.

While I've never used Symfony, when I've tinkered in Laravel it felt like the frameworks were pretty similar (if you've ever used Laravel).

If you want to do something more 'cloud native' in Ruby, you could use something like Ruby on Jets (at its core it uses AWS's API Gateway and Lambda, but can be extended for other AWS services with events)


👤 berellevy
Python Django is an excellent choice. Look at books by William Vincent. They’ll get you up and running very quick

👤 manibatra
- Django is definitely popular. Though sometimes I feel like it does come up with a lot of baggage for a simple CRUD app.

- I would also suggest FastAPI for writing up your API and using your favourite front-end framework. If you are looking to learn something on the front-end React/Next.js would be a good choice.


👤 bjourne
Nothing is faster than Django for just getting some crud shit up and running.

👤 rtcoms
Ruby on Rails

Add some gems like avo-admin/jumpstart and you'll have fully featured(CRUD operation) app within few hours.


👤 bnchrch
Give Hasura a try. Fastest way to spin up a CRUD backend while not limiting yourself imo.