Node.js high level API needed

265 views
Skip to first unread message

Dennis Leukhin

unread,
Sep 30, 2013, 11:36:53 AM9/30/13
to nod...@googlegroups.com
Hello, guys. I want to express my opinion, I know that it does not weigh much, but even more I want to hear yours.

Node.js very important technology now. But it's needed higher level api.

All newcomers will fall in asynchronous black hole. At now many frameworks was created (it's hard to choose. Node.js developer must know all these frameworks to find job? or node.js created by hackers for hackers?)
Recently get the opportunity to use generators. It's cool, but look how many libs was created to work with it: suspend, co, genny, gen-run. galaxy, yieldable and etc.
What newcomer have to choose, what to use?
Clustering and pub/sub etc.. -- it's must be in core by high-level API.


What you guys think? Is there a reason why node.js must have higher-level API?

Thanks all for answers.

Mark Hahn

unread,
Sep 30, 2013, 1:03:39 PM9/30/13
to nodejs
> All newcomers will fall in asynchronous black hole.

Is that flame-bait?  Learning callbacks is a necessary part of using javascript.  It has nothing to do with node.

Is there a reason why node.js must have higher-level API?

No.  The philosophy is the opposite, to make it as lean and mean as possible.  Anything that works well as a module will stay out of node.

Why are you concerned about having too many choices?  Take the trouble to find ones that work for you.  An thank the node gods that there are s many to choose from.


--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Tim Caswell

unread,
Sep 30, 2013, 2:13:11 PM9/30/13
to nod...@googlegroups.com
This is equivalent to asking Linus to bundle a graphical desktop environment with the linux kernel so that there is one common front-end that everyone uses and newbies don't have to build their own linux desktop from scratch.

The difference between node and linux is that there are many competing linux distributions while node's ecosystem is mostly a massive unstructured collection of modules.

What you're looking for is the Ubuntu of node.  I've always said that something like this would be great for the community, but after years we're still using npm and basically a polite anarchy with regards to modules.

There are companies like Strong Loop that are trying to fill this gap, and I wish them all the luck.  But as a library developer, I like it that I can just write a node.js module and there are very few requirements to publishing.

Node core will never constrain it's users to a specific vertical (like say web applications) because it's use is so much broader than that and even with a limited scope such as web development there are many variations and different competing requirements people have.

I've used linux on everything from 64-core servers to tiny $10 mips based routers with only 4 mb of ram.

Node is the kernel of JavaScript development.



--

Dennis Leukhin

unread,
Sep 30, 2013, 2:31:37 PM9/30/13
to nod...@googlegroups.com
I got your point, Tim.  Maybe in the future when the current API is stable, then we can think about a high-level API. Anyway high level -- will be cool feature. I hope someone's can overpower it. It's will be cool for user apps.

понедельник, 30 сентября 2013 г. пользователь Tim Caswell писал:
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/jkJFonkRhKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.

Tim Caswell

unread,
Sep 30, 2013, 2:44:06 PM9/30/13
to nod...@googlegroups.com
Don't misunderstand.  I absolutely agree that we need high-level APIs and conventions and the such for people who just want to solve a well-known problem.  I just don't think node-core is the place for that.

I'm a pretty crazy hacker and am even implementing git in javascript, but I have never in my many years as a linux user, built my own linux desktop from scratch.  I usually use ubuntu or one of the variants.  When I'm feeling really adventurous, I use arch linux.

Don't think of node.js as a high-level framework for web development and you won't be wishing it had high-level APIs to fit your perception.  Instead understand what node is and look for the higher-level abstraction elsewhere.

Stephen Belanger

unread,
Sep 30, 2013, 2:52:57 PM9/30/13
to nod...@googlegroups.com
Just chiming in from StrongLoop here.

I agree with Tim that it shouldn't be up to core to make opinionated decision about how you should be building your app. That's up to userland modules, so you can pick and choose what you want.

That having been said, most projects DO fall into some relatively consistent silos (express + mongo, rest api, sometimes socket.io). At StrongLoop, we provide support for the popular modules and guide new users to the modules they are likely to use. The beauty of the node community is in how well-decoupled things are. You can compose different collections of npm modules in very different ways.

Jarka

unread,
Sep 30, 2013, 3:23:30 PM9/30/13
to nod...@googlegroups.com
You are right, node needs high-level API-s which are separated from the core, but this should be a must for getting nodejs further. Currently there are many libraries out, which behave differently as expected. I can say that there is certainly need for highly tested libraries like data-structures, array manipulations, date and so on.

Trevor Norris

unread,
Oct 1, 2013, 1:10:06 AM10/1/13
to nod...@googlegroups.com
Any "high level" API (think I've forgotten what that even means) definitely belongs in user space. In fact it's been my opinion that Node is too high level already. The introduction of Smalloc in v0.12 is an example of this.

Also coming, hopefully done before the v0.12 release, are AsyncWrap hooks that will allow the user to know much more about the internals of asynchronous callback execution. This will allow the domain module to effectively be a user-land module (though it will continue to be distributed with core).

Anyways. Point is that Node is meant to be as lean and fast as possible, and there is still plenty to do (my list is going to take me at least the next 6 months to complete https://github.com/joyent/node/issues/6252). The focus for the core team is here. Create a fast and stable application with a stable (or at least backwards compatible) API.

I have no foresight to where the community will take us, but as the demand rises for a cohesive framework I'm sure the community will deliver.

Martin K. Schröder

unread,
Oct 25, 2013, 7:52:55 PM10/25/13
to nod...@googlegroups.com
In node, the higher level apis are created by the users (by combining existing modules into a larger project).

And if anyone ever say that async io has to go, then I'm going to shoot that person personally!

Dennis Leukhin

unread,
Oct 26, 2013, 5:01:21 AM10/26/13
to nod...@googlegroups.com


суббота, 26 октября 2013 г., 2:52:55 UTC+3 пользователь Martin K. Schröder написал:
In node, the higher level apis are created by the users (by combining existing modules into a larger project).

And if anyone ever say that async io has to go, then I'm going to shoot that person personally!

Please, don't shoot me, because i don't say any word about removing asynchronous I/O.: 

BTW: Topic is closed for me. I have rethought this and change my mind.
Reply all
Reply to author
Forward
0 new messages