2 ms·
It depends what you know. There is a productive option in pretty much every language. If you know JavaScript, you’re ahead of the curve simply because you can s
by chatmasta 7y ago
It depends what you know. There is a productive option in pretty much every language. If you know JavaScript, you’re ahead of the curve simply because you can share so much code between frontend and backend. With tools like next.js it’s almost automatic.
The real problem, I think, is that 95% of real business problems are not simple CRUD apps. There is always some complication unique to your domain that burdens you with constraints. Also, it seems like authentication is a problem that is still not solved smoothly without paying for SaaS. It doesn’t take long before you feel like you’re anything but a standard “CRUD app.”
My lesson from the past few years has been this: stay within the guardrails as much as possible. Use frameworks when you can, and try not to deviate too far from their conventions, no matter how tempting. If you stay within these rails, it’s fairly easy to ride the flow of changes and keep your code up to date without losing velocity on new features.
Whatever you choose, you're still going to be using it in three years. The safest option is probably to pick something really popular.
- mrsareen 7y agovery wisely pointed out and I second this based on my own experience
- masukomi 7y agoWhile it may be true that "95% of real business problems are not simple CRUD apps" it doesn't mean that 95% of webapps can't be implemented _well_ as CRUD apps. I've been doing this for a long time. The Vast VAST majority of webapps are "Take some data from a form and shove it in the database. Take some stuff from the database and shove it on a page. Make a form so that people can edit the stuff in the database. Repeat" We've been adding a lot of fancy interactive JavaScript on top of it, but most of it isn't necessary, and most of it doesn't change the core behavior described above. Yes, there's frequently a corner of the app that deals with whatever special sauce the company does, but the rest of the app, the majority of the web app.... is very easily handled with CRUD. Even something like Uber: Request a ride (submitting a form "CREATE"). Check the status of an inbound driver ("READ" data from a db). Pick up a user ("UPDATE" the status of the order in the db). Cancel my account ("DELETE" a record from the DB).