Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

General Discussion

Disappointed with Node.js basic

Like Christophe Rudyj in this Treehouse forum thread: https://teamtreehouse.com/forum/disponted-with-nodejs-basic

..I too/also was 'Disponted with Node.js basic'..but for different reasons..

I'm actually coming at node.js from a different place, the Microsoft WebMatrix tool. http://www.microsoft.com/web/webmatrix/

In case those of you stuck in Linux/Mac mode don't know it's a free tool for doing all kinds of web development (not just Microsoft specific).

A while ago, WebMatrix 2 (it's on version 3 now) added node.js as a new starter template option, as you can see from these screenshots on the W3C site: http://www.w3schools.com/website/web_site.asp

Here's an old channel 9 video: http://channel9.msdn.com/Shows/Web+Camps+TV/Coding-Nodejs-in-WebMatrix-2

While it's exciting that node.js has "no block" functionality (it's not the only one as noted in this Treehouse forum post): https://teamtreehouse.com/forum/arent-there-other-technologies-that-are-non-blocking

..it's even more exciting that it's part of a larger trend to make JavaScript more useful on the server side.

In fact there is a even a effort underway to standardize javascript (or at least keep the two from drifting apart) on both the client and the server side called commonjs": http://www.commonjs.org/


However, (here's the big thing), I can not imagine using node.js without Express.js: http://expressjs.com/

Express is a fast, unopinionated, minimalist web framework for Node.js that provides a robust set of features for web and mobile applications

In other forum posts people have asked about MEAN: https://teamtreehouse.com/forum/do-you-plan-to-make-a-tutorial-of-how-to-actually-build-a-web-app-with-nodejs

Of course everyone knows what MEAN stands for:

MongoDB, a NoSQL database;
Express.js, a web applications framework;
Angular.js, a JavaScript MVC framework for web apps;
Node.js, a software platform for scalable server-side and networking applications.

..it's the updated/alternative version of the LAMP stack.

So Treehouse now has courses for 'Node.js', 'Angular.js' and 'Embers.js' but NO Express.js! :worried:


..and this Node.js basic course: http://teamtreehouse.com/library/nodejs-basics

..which is the only Node.js course that Treehouse has as of right now, doesn't really teach you how to build a full web app with node.js.

So I guess I'll just have to wait (ever so patiently) for more content to be created.

Personally I use express.js/node.js with the Jade templating engine and the Stylus CSS Pre-Processor.

Hopefully all of these will be explored in the next (intermediate/advanced) Node.js courses.

Here's a sample project tutorial: http://www.clock.co.uk/blog/a-simple-website-in-nodejs-with-express-jade-and-stylus

Maybe they'll even explore using node.js for developing a CMS (Content Management System): http://hairandbeardguy.com/site/5-nodejs-content-management-systems-cms/

Of those listed in the above page I prefer the express.js/keystone.js CMS.


Not mentioned anywhere in the node.js course (and should have got a mention) is some of the history of node.js:

Node.js was created and first published for Linux use in 2009. Its development and maintenance was spearheaded by Ryan Dahl and sponsored by Joyent, the firm where Dahl worked.

Dahl was inspired to create Node.js after seeing a file upload progress bar on Flickr. The browser did not know how much of the file had been uploaded and had to query the Web server. Dahl desired an easier way.[15]

npm, a package manager for Node.js libraries, was introduced in 2011.

In June 2011, Microsoft partnered with Joyent to create a native Windows version of Node.js. The first Node.js build to support Windows was released in July.

..per the node.js Wikipedia page:

http://en.wikipedia.org/wiki/Node.js

Oh and Joyent is still around...it was in the news in November of 2014 for opening sourcing a lot of it's stuff: https://gigaom.com/2014/11/07/after-years-of-touting-its-cloud-computing-tech-joyent-open-sources-it/


Also not mentioned anywhere in the node.js course is that node.js also has Azure support:

Microsoft is optimistic about the future of Node.js applications on Azure. The growing community, the power of Node.js and the scale of Azure add up to a compelling offering. JavaScript developers are no longer limited to client-side scripting. Node.js is also fueling the adoption of patterns that are becoming a common practice in the cloud, like CQRS (Command Query Responsibility Segregation), which promotes the separation of read and write operations, in many cases through the implementation of an event-driven architecture. Writing a distributed system in Node.js is easy because of its asynchronous and disconnected nature.

..per this page: http://msdn.microsoft.com/en-us/magazine/hh875173.aspx

..related article: http://anderly.com/2012/07/06/why-microsoft-developers-should-care-about-node-js/

Here's a full list of some of the companies that use node.js (including Microsoft): https://github.com/joyent/node/wiki/projects,-applications,-and-companies-using-node

Free open source node.js book: https://github.com/tj/masteringnode

Lastly there should have at least been a mention of 'forever' https://github.com/foreverjs/forever

..it solves a big problem. If you run your app with just node yourapp.js, once your script exits unexpectedly, the server goes down. forever, simply restarts the application

Quote per this page: http://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168

3 Answers

rd. ln.
rd. ln.
7,851 Points

I kind of agree. I am having to resort to the content on Lynda because I am trying to learn the MEAN.js stack and I can't seem to do it with the Node content on Treehouse.

we should team up??

Daron Anderson
Daron Anderson
2,567 Points

SMH lol really guys????