I've been developing a node.js + express.js web app, but the problem I keep running into is project or blog abandonment. I realize node is still relatively new and going through some growing pains perhaps.
What are some node resources that are still active for learning how to build web apps with it?
You can try these,
http://net.tutsplus.com/tutorials/javascript-ajax/node-js-for-beginners/?search_index=4
http://www.nodebeginner.org/
http://coding.smashingmagazine.com/2011/09/16/useful-node-js-tools-tutorials-and-resources/
http://dailyjs.com/2010/11/01/node-tutorial/
http://camp.nodejs.org/videos/
http://backbonetutorials.com/nodejs-restify-mongodb-mongoose/
http://javascriptplayground.com/blog/2012/04/beginning-node-js-express-tutorial
These are my book marks for learning node. They have been helpful. But ofcourse, node changes alot, and by the time you probably read or watch some of these, there has been a new version of node. Be sure to watch the git page node, and pay close attention the the changes.
Related
I have developed an application which is using REACT for front end and ExpressJS(framework for nodejs) for back-end. Code is running properly in my local machine.
I have no idea about hosting this application so that other people can use it.
Note: Both REACT project and Node project must be running parallel to make this application work
Appreciate your help !!
You can use this one https://www.heroku.com
It's a popular platform. It's free for a limited amount of space, so it's good to try out applications. It's pretty easy to use, you can even auto-deploy your app every time you push it to github repo, if you have one.
I'm a self taught developer and I recently started learning Node.
I've been using Ruby on Rails for a couple of years now, and I learned most of what I know from online courses. The most helpful course I took was one in which I learned the entire process of setting up a development and production server, setting up a database, etc. In this case I was using Cloud9 for development and Heroku for production. I already knew the coding aspect of building a web app, but this course really changed everything for me because I learned how "real" developers work, how to set up a good work flow with a development environment, how to run my code on a real scalable server, etc... Since then I've built a couple of RoR apps on Heroku.
Now I'm learning Node and Express, but I'm not sure what to do with my code. Can I just use Cloud9 and Heroku, the same way I did with RoR? Are there other common services I should know about, similar to how lots of RoR apps use Heroku?
I'm looking for a small push in the right direction - the same one I had when I was learning Rails - to get the ball rolling. Any information will be greatly appreciated! Thanks
You seem to be asking both for workflow and environment pointers, so I'll give you a tiny bit of both
Env
With node, it is perfectly fine to have your dev environment locally and only host your staging and prod environment
If you don't have specific requirements in terms of hosted environment, use what you are already comfortable with:
Heroku is perfectly fine
OpenShift is a great alternative
Pivotal seems to be alright
Google App Engine and Amazon Elastic Beanstalk are most likely overkill
 Workflow
This is a very broad subject. Everyone has their own ways of doing things. At a minimum I would get familiar with the following tools or concepts:
npm (default package manager)
alternative: yarn (faster, shinier)
eslint (linter for javascript, indispensable)
Gitflow (sane way to manage your git repo)
Semver (what is semantic versioning)
Unit Testing with Tape (it's 2017, you need tests)
alternative: Mocha (more functionalities, some you don't need)
Airbnb Style Guide (a decent baseline for style)
alternative: Google Style Guide (I use this one)
There is also this overwhelming but great list, which is a bit too much but should list anything else you might need
Finally, if you want to work more with Express, I would suggest going through this MDN series Express Web Framework. Once that is done, I would installing the Express App Generator, create a test app and looking at the structure of files and folders
I just completed basic tutorial about Nodejs and Express. Where can I find free simple projects to learn and read the code that will cover much of nodejs and express?
Sign up for freecodecamp it's a open source project to learn fullstack Javascript (frontend, data visualization with react.js and backend with node.js and mongodb) it has free tutorials and real world projects to do. Once you complete the all projects you can work on real programming problems for non-profits to build your portfolio.
If you don't know them already, maybe these might be useful:
https://github.com/wercker/getting-started-nodejs
http://amirrajan.net/nodejs-by-example/
Other than that, I am permanently learning tons of stuff by looking at the npm packages in the node_modules folder. Especially by reading the tests.
I using the upcoming weekend to check two things off of my 2013 project list:
Give Cloud Development A Try
Try ANGULAR.JS
My game plan is to set up the MEAN stack on Nitrous.IO and then use the stack to complete one of the many Angularjs tutorial projects available online.
Questions:
I'd be interested in hearing if anyone has set up the MEAN stack on Nitrous or otherwise or if anyone is aware of any good blog post that go through the process for someone with little to no javascript development experience.
Also, if you have setup a MEAN stack are there any things you would do differently or are there any invaluable resources I should be aware of.
Some Resources I Found Useful:
I've been researching online for the past week and have uncovered some great resources, but it would be great to see what others have found or can suggest. Below are some links to some resources that I have come across that may be helpful to others:
Building Angular Start-up Stack - Toronto Meetup Stream
Egghead.io Offers some great Video tutorials on Angular
Google's Angular site has a wealth of info.
USC Linux User Group Youtube video on MEAN on Amazon AWS
Thanks in advance for any resources, insights or guidance.
Since you are starting on JavaScript I would suggest that you start simple. For example
Build a simple web site with Node.js and Express (no Angular, no Mongo).
Deploy it to the cloud.
Then add Angular and see how the structure changes when you use an MVC framework on the client side (e.g. your backend becomes a plain REST API).
Then, play with Node.js and Mongo probably outside your simple Node/Express/Angular app to get the hand of a NoSQL database and database access from Node.js (the fact that everything is async brings some interesting challenges for beginners)
Then integrate Mongo into your app.
Ok, here's how I successfully set-up the MEAN stack on Nitrous.IO.
First, many thanks to Valeri V. Karpov and his The Code Barbarian blog. In July he had a blog post titled Introduction to the MEAN Stack, Part One: Setting Up Your Tools. I primarily followed his article, only making adjustment dictated by the Nitrous cloud platform.
So here are the steps:
Create A Nitrous Box: Go to the Nitrous site and sign-up for an account. Please note the free account does not provide enough storage to accommodate the full MEAN Stack. You'll need at least a "Start" pricing plan - at $9.99 per month.
Create A Nodejs Box: Once you complete your registration and select a pricing plan, its time to create a Nodejs box. Follow the instructions on the Nitrous site. The box comes preconfigured Nodejs.
Install Mongodb: To install Mongodb on your box, go to the shell prompt and type: parts install mongodb You can confirm the installation was successful by typing parts start mongodb. To stop the mongodb server you type parts stop mongodb.
Confirm your Node & NPM Installations: Type node at the command prompt. You should see a > sign if node is installed correctly. You are now in the node shell. Type control-c to exit the shell. Type NPM at the prompt and you should see some usage information
Install Express: type npm install express -g The -g flag means the package will be installed so you can run it from the terminal. Note, if you are using the free box you will likely encounter errors during the Express installation as a result of you exceeded the allocated storage.
From here on you can follow Valeri's article at Step 4 Creating an ExpressJS application..
Good luck and enjoy.
Use Bitnami https://bitnami.com/stack/mean. I like it a lot, pretty simple and concise. In my case it was for Windows and it was a seamless experience
After reading the Meteor official documentation regarding this subjet, I would like to know if it's possible to change my code, deploy the new version, but without restarting the node js server? My idea is to have a development server, where I make my updates, and then after testing commit the changes to the real production server, so that I don't break anything.
If this doen't make any sense, what is the current best approach to accomplish the same results?
Thanks a lot for the help.
You should not need to reset the node js server. Any changes to the code will be injected into the client's browser.
From Meteor main page:
Hot Code Pushes.
Update your app while users are connected without disturbing them. When you push a new version, the new code is seamlessly injected into each browser frame in which the app is open.