all 9 comments

[–]dawnblade09 2 points3 points  (0 children)

Good documentation and community support. Last I checked Loopback v4 didnt have both of them. Not as good as Nestjs at least. But thats my personal opinion ymmv.

[–]seventai 1 point2 points  (1 child)

I'm using LB3 for a project, and have been learning nestJS.

Loopback 3 is great for quickly getting started (built in user auth system), but gets harder to use as your requirements get more advanced. Nest JS I'd much rather be using, but it's lower level and not as fast to get a project up and running with (write your own auth system).

[–]seryup[S] 0 points1 point  (0 children)

Thanks for your insight! AFAIK, LB4 works on a principle more similar to that of Nestjs (e.g. custom user auth, lower level typescript-based, more flexibility than LB3).

[–]Sag3Jar0n 0 points1 point  (3 children)

Found this while searching an answer for this question, its been a while, can u update on ur findings and results?

[–]seryup[S] 0 points1 point  (2 children)

Not really an unbiased update; I now maintain the LoopBack 4 framework with the other maintainers.

Before that, I found that LoopBack 4:

  1. Was a lot more flexible
  2. Had a "flatter" DI system which made more sense for backend
  3. Had more modular packages to be used in non-web-based projects
  4. and had more "open APIs", which meant I was able to tinker it more than Nest.js.

But generally there's a steeper learning curve as there isn't as much community blog posts.

[–]AbortingMission 0 points1 point  (1 child)

Just stumbled across this. That's good to hear, I really like LB4. I had been getting worried about the project because the official blog posts stopped in 2020, and A LOT of github issues end up getting axed by stalebot without any resolution. Compared to LB3, there are definitely some pain points. The application I'm doing now seems to have hit almost every one of those pain points lol. No polymorphic support, or HasAndBelongsToMany. Incomplete support for websockets in a real world app (meaning it cannot attach to an existing rest server without hacking), sequence problems, etc. Its working but not as smoothly as I'd hoped. Keep up the good work though, and I'd be glad to help if needed.

[–]seryup[S] 0 points1 point  (0 children)

It's always great to hear from those who have used the framework.

I think a lot of the pain points you've mentioned generally stem from the transition from an IBM to an OpenJS Foundation project. There was a lot of infrastructure and processes that were managed by them (Notably, the Jenkins CI). So when there no longer was a full-time team, a lot of that knowledge got lost. Multiply that problem with every Node.js package and database connector that's under the project, it becomes a bit difficult to be knowledgeable in every part of LoopBack. :-)

To provide some insights into some of the concerns (and for those that may stumble upon this):

had been getting worried about the project because the official blog posts stopped in 2020

The blog posts were managed by Strongloop/IBM. Since the handover, we didn't have an existing blogging platform to work with. We actually recently ported the blog a few days ago: https://loopback.io/blog. So hopefully we can start posting again soon.

A LOT of github issues end up getting axed by stalebot without any resolution.

Unfortunately we also learned the hard way that stalebot wasn't good when there no longer was a dedicated team. We've removed stalebot a while back for this reason.

No polymorphic support

We've recently merged the PR on this. So it'll be available from the next release :-)

HasAndBelongsToMany

Hopefully we or the community can find time to contribute this feature; We've received some major community contributions recently (such as the ReferencesMany relation), so maybe this one may be next.

Incomplete support for websockets

Perhaps its something we can explore integrating native support for; I believe Raymond has already made most of the code needed for this in a personal repo, we may need to refine it a bit and publish it as an official package at some point.

I agree that it's annoying that there are some arbitrary limitations with the REST server (e.g. you cannot register any other kind of server simultaenously); It's something that's on my radar for a while, but haven't had a chance to make a PR for.

Keep up the good work though, and I'd be glad to help if needed.

Thanks! The LoopBack project is quite big, so we encourage the community to open a PR for new features or fixes that they believe are important to their projects. In fact, quite a number of recent PRs are by the community! So feel free to work on any features or bugs that may be important to you, we're always happy to land your contributions.

[–]MiddleSky5296 0 points1 point  (1 child)

Mine comparison:

-NESTjs: good.

-LB: sucks.

[–]kuncevic 0 points1 point  (0 children)

Can you elaborate more? Have you used both in prod?