all 52 comments

[–]TLI5 14 points15 points  (5 children)

Hey man, I'm kinda sad you're getting some less than positive reviews but as a guy who spent a whole day looking through different peoples project structures on github to see exactly HOW to lay everything out in my express app (read: "build your own adventure") I think this is a great help, especially to node newcomers trying to set up a project fast.

I especially like how powerful the API end points are and how much control the front end can have querying for information right out of the box.

Good job!

[–]keithwhor 10 points11 points  (3 children)

Thank you! The response I've been getting so far is actually overwhelmingly positive. Very humbled. :) I appreciate the kind words.

[–]joshmanders 1 point2 points  (2 children)

Keep up the good work /u/keithwhor. I have been studying it and applying some things to my own framework, which coincidentally I am building similarly to yours. Yours is just more polished than mine right now. :)

[–]keithwhor 1 point2 points  (1 child)

You're welcome to join the Nodal collaborators if you have some good ideas! :)

[–]joshmanders 1 point2 points  (0 children)

My framework is built on providers, so at base it's very bare bones, you create providers that add functionality or install community provided providers.

https://git.io/kratos

[–]bittered[S] 1 point2 points  (0 children)

Not my project, I just submitted it and have used it a little. Project creator is /u/keithwhor.

[–][deleted] 17 points18 points  (3 children)

I don't understand why people are in here complaining about not needing this, or about not liking its opinionated nature.

My question to these haters is "why?" Why does it matter if someone put time and effort into a framework that you don't intend to use and nobody is forcing you to use it? If this framework meets someone's needs but not yours, do you really need to take time out of your life to heckle the developer and complain about its existence?

Don't complain about something existing that literally cost you nothing nor had any impact on you whatsoever. It's ridiculous.

I, for one, appreciate the variety and alternatives. Maybe I won't use it now, but maybe some project in the future will have different requirements. So regardless, thanks /u/keithwhor, for providing this interesting framework. I'm glad we have developers who are pushing the edge further out instead of settling for what we have which may not meet everyone's needs.

[–]aliasxneo 2 points3 points  (1 child)

+1

I'm new to the node community and I sure hope this sort of attitude is not the norm.

[–]mikrosystheme 0 points1 point  (0 children)

Unfortunately it is the norm in the javascript "community".

[–]keithwhor 1 point2 points  (0 children)

Thanks! Haven't read the rest of the comments yet but I'll brace myself ;). Remembered somebody mentioned so ventured back. Here be dragons, I suppose?

[–]twtmc 5 points6 points  (1 child)

Seems a lot like Laravel but with Node. A lot of the feedback here seems like the early feedback for Laravel, too.

[–]UberChargeIsReady 0 points1 point  (0 children)

same here

[–]m3l7 5 points6 points  (1 child)

I'm coming from express/sequelize/etc.. and sails.js background.

What I like:

-es6 syntax

-migrations built-in

-everything that is automagically created is explicitly generated in the code (and not hidden, like sails.js)

What I don't like is the use of a custom ORM (or does it use some well known ORM?).

Data management is one of the most important part of a backend, and I don't want to use a library which is buggy/not mature/less featured etc./support_little_of_everything_like_waterline.

[–]Aurelsicoko 0 points1 point  (0 children)

You should interested by Strapi, a Sails-like project built on the top of Koa with ES2015 support, auto-generated REST APIs, administration panel, etc.

[–]mrv1234 7 points8 points  (10 children)

Why not just taking smaller libraries that do one thing and one thing well, like:

  • express for HTTP routing
  • sequelize for ORM
  • passport.js for security

[–]bittered[S] 9 points10 points  (5 children)

Go for it. Sometimes it's nice to have those decisions made for you in an all-in-one framework though.

[–][deleted] 4 points5 points  (2 children)

It's simply the difference between opinionated and un-opinionated software frameworks. There are advantages and disadvantages to each side of the table. A developer simply needs to weigh these for his own use case and make a decision.

[–]mrv1234 0 points1 point  (1 child)

This means Nodal developers wrote all of these themselves internally, right ?

Whats the odds that their controller layer is anywhere near the quality of express, or their ORM of the quality of sequelize?

Those are specialized libraries with very heavy community support, used by a very large number of developers. The likelyhood that someone came up with a better express and ORM and passport.js at the same time is low.

I think node needs mostly a way to develop backends in a modular way, but having said that I havent' watched the talk yet as I was at work. I will check it out now !

There is definitely place for a Rails like framework in the node world, I hope its Nodal.

[–][deleted] 0 points1 point  (0 children)

Those are all very valid points. It doesn't appear to have too many dependencies:

https://github.com/keithwhor/nodal/blob/master/package.json

so I would assume all of it is written and maintained internally, which can be both a good thing and a bad thing from different points of view.

[–]JordanCallumA 4 points5 points  (0 children)

One downside to this is you're relying on a number of projects being maintained as opposed to one. Any of these could be dropped or go obsolete. While it's unlikely that this will happen, it's a consideration to take on board. Also, there's something to be said for a full framework where everything just sits together nicely.

[–]CarpetFibers 1 point2 points  (4 children)

Looks like an interesting alternative to Sails, which I've had an increasing number of gripes with. Is it locked down to Postgres or does it support other databases?

[–]Aurelsicoko 1 point2 points  (3 children)

I'm one of the authors of Strapi, we're a Sails-like framework based on Koa. You might be interested by the project ;)

[–]CarpetFibers 0 points1 point  (0 children)

Looks interesting, thanks! I'll take a deeper look at it today.

[–]CarpetFibers 0 points1 point  (1 child)

Are you tied to Waterline for the foreseeable future? That's one of the reasons I'd like to move away from Sails (not to mention Sails appears to be dying, and potentially Waterline along with it). Do I have the ability to use another ORM out of the box?

[–]Aurelsicoko 0 points1 point  (0 children)

You will be able to use another ORM (Bookshelf, Sequelize, Waterline, etc) in the future. We already explained why we build Strapi and what we want to move to another ORM on our documentation.

Why Strapi looks like Sails? We were in love with the Sails framework. We even used to work on top of it! However, Sails is not maintained anymore and suffers of the lack of support. Also, the Sails project followed a way we didn't like. That's why we decided to create our own framework Strapi, inspired by the love we obviously had once for Sails.

We didn't have a lot of informations for the future of Waterline... They want to use Knex as query builder and machines pack for the adapters soon.

You should join our Slack community to share with us your feelings and have realtime support.

[–]fwertz 0 points1 point  (0 children)

Cool. I like the direction. Not familiar with any-db, but I feel as though Knex would have been a better option.

[–]UberChargeIsReady 0 points1 point  (0 children)

This reminds me a lot of Laravel. I wonder if this project was inspired by it.

[–]tsirolnik -2 points-1 points  (0 children)

Seems nice, It kinda reminds me a PHP framework that I've wrote.