I've used Entity Framework in .NET extensively, and since moving to NodeJS back ends, have used Bookshelf.JS a bit, and researched numero...
I've used Entity Framework in .NET extensively, and since moving to NodeJS back ends, have used Bookshelf.JS a bit, and researched numerous others. In my opinion, an ORM is only worth using if it is very mature. I'm talking third major version mature. My biggest pain point in using an ORM isn't a lack of features, but the inability to easily drop-down a level, and skip the abstraction in order to get something unique done. Entity Framework has been around a long time, and is the standard in the .NET world, probably in the same way ActiveRecord is for Rails. EF not only provides well thought out and proven abstractions, but also makes it easy to just write a complex SQL query when necessary. Bookshelf.JS lacks that maturity. It was helpful at the prototyping stage, but has gotten in the way as things became more complex. Unless there is a clear best practice for your stack, I would stick with a simple library to build parameterized SQL queries (we use Knex for NodeJS), and build a data access layer. If you layer and abstract things well, you can always start with an ORM and move away from it if/when it gets in the way. All that said, if you're just doing CRUD, an ORM will save you time. Just know that nearly every app idea is "just CRUD" in the beginning, but tends away from that as time goes on.
Posted by ismyrnow on Mar 13, 2015, 1:13 PM
Tags
Related issues
- You obviously did this for fun, I don’t want to throw any shade on it and have no criticism, I also make fun things just because.¹ So ta...
- Many devs love to shit on the guy from the 'I just want the exe.
- Now imagine how poor people stress if their smartphone bricks or gets damaged or lost.
- Resuming an extended-thinking session fails permanently with 400 "thinking blocks cannot be modified" (transcript stores thinking text as empty but keeps signat
- I'll preface this with a statement that as a European I want European alternatives to succeed, and MS-owned GitHub to shrivel and disappear.
- Yeah, but there’s a world of difference between “not perfect” and “we rounded a few sliders, and now the modal is a nightmare to use”.
Raise real-world problems, find people facing the same issue, and discuss solutions.7,500 issues0 comments
reliability (SaaS)
You obviously did this for fun, I don’t want to throw any shade on it and have no criticism, I also make fun things just because.¹ So ta...
NewMany devs love to shit on the guy from the 'I just want the exe.
Now imagine how poor people stress if their smartphone bricks or gets damaged or lost.
Resuming an extended-thinking session fails permanently with 400 "thinking blocks cannot be modified" (transcript stores thinking text as empty but keeps signat
I'll preface this with a statement that as a European I want European alternatives to succeed, and MS-owned GitHub to shrivel and disappear.
Yeah, but there’s a world of difference between “not perfect” and “we rounded a few sliders, and now the modal is a nightmare to use”.
I used to write a lot of native Windows corporate software in the 90's and 2000's and my standard login window was a floating draggable o...
App broken with Mosquitto broker 7.0.0
I've used Entity Framework in .NET extensively, and since moving to NodeJS back ends, have used Bookshelf.JS a bit, and researched numero...
I've used Entity Framework in .NET extensively, and since moving to NodeJS back ends, have used Bookshelf.JS a bit, and researched numerous others. In my opinion, an ORM is only worth using if it is very mature. I'm talking third major version mature. My biggest pain point in using an ORM isn't a lack of features, but the inability to easily drop-down a level, and skip the abstraction in order to get something unique done. Entity Framework has been around a long time, and is the standard in the .NET world, probably in the same way ActiveRecord is for Rails. EF not only provides well thought out and proven abstractions, but also makes it easy to just write a complex SQL query when necessary. Bookshelf.JS lacks that maturity. It was helpful at the prototyping stage, but has gotten in the way as things became more complex. Unless there is a clear best practice for your stack, I would stick with a simple library to build parameterized SQL queries (we use Knex for NodeJS), and build a data access layer. If you layer and abstract things well, you can always start with an ORM and move away from it if/when it gets in the way. All that said, if you're just doing CRUD, an ORM will save you time. Just know that nearly every app idea is "just CRUD" in the beginning, but tends away from that as time goes on.
Comments (0)
No comments yet. Start the discussion.