3 ms·
This is what I have always really disliked about many web development frameworks. Their goal is to either a) do things magically in a specific way or b) do so w
by ecshafer 5y ago
This is what I have always really disliked about many web development frameworks. Their goal is to either a) do things magically in a specific way or b) do so with a bunch of configuration files. Spring comes to mind as a particularly egregious case that does both. Spring does things automatically, until you need to add a configuration file for every change. You need to add this wrapper and this library for this other case. I have always wanted a web development framework that works more like a game development framework. Where you still code everything you need but it doesn't hide the part where you make a window or add a listener. Which makes it a lot easier to find where things are going wrong and how to change the configuration as opposed to go to stack overflow and learn you need to add this dependency which then does things behind the scenes.
- emteycz 5y agoNode.js + Express is what you want. I'm not a Go developer, but it seems to me that the Go ecosystem also has what you want.
- gernb 5y agocan you give more details? My understanding is the node + express is really low level providing almost nothing except a set of chainable functions based on routes. To get any actual functionality (storing to databases, authentication, users, sys admin, etc requires writing everything yourself. The reason I like batteries included frameworks is I get all that for free and ideally it's already following best practices so I don't have to worry about security, about account recovery, about versioning new data/features, about scaling, etc
- chii 5y ago> don't have to worry about security, about account recovery, about versioning new data/features, about scaling, etc with the exception of security (i take it you mean authentication), everything else is unlikely to be provided by a framework like spring directly - you'd have to choose something to provide it or write it yourself.
- gernb 5y agoRails provided many of those things. I believe Django does. Meteor used to provide many of tbem
- brightball 5y agoThis is actually why Rails was so successful. The world of Java was frameworks full of configuration files and Rails went with the "convention over configuration" approach. You jump from Rails project to Rails project and they all work the same way. You know where everything is immediately. It's fantastic for teams and long term maintenance between different devs because the learning curve of each project is virtually non-existent. But Rails has gotten bigger and more complicated over the years, which makes it tougher to make the case.
- ratww 5y ago> You jump from Rails project to Rails project and they all work the same way. You know where everything is immediately. Except lots of projects today use very diverse structures and the meat of the code is often on complex libraries like ActiveInteractors, Trailblazer Operations, stuff from the Dry-RB ecosystem, etc, or sometimes (hopefully) simple Service Pattern classes, if you're lucky. Sometimes all of them at the same time. For lots of companies, Rails projects in the real world has ceased being easy to grasp for a while.
- brightball 5y agoYea, this has been my experience as well. That's what I meant by the "bigger and more complicated". Certainly set the standard for a long time though.