If you are interested in Web Development and want to pursue your career in it, Node.js is the technology you should know about. In the last couple of years, Node.js has exploded due to its impeccable capabilities to solve all your server-side problems swiftly and smoothly. Companies like Walmart, Microsoft, PayPal, LinkedIn, Yammer and Google all are using Node.js in their production work. In this post, we’ll look into What is Node.js, What can Node.js do for you and where you can learn it??
What is Node.js?
Wikipedia says “Node.js is a packaged compilation of Google’s V8 JavaScript engine, the libuv platform abstraction layer, and a core library, which is itself primarily written in JavaScript”. This is precise and to the point but a geeky definition.
Node.js is an open-source, server-side language build to give you more control over your development phrase which you don’t usually get with JavaScript. You need a browser to run JavaScript. Node.js uses Google’s V8 JavaScript engine, so that you can easily create applications and run it on your computer. Basically, you can do everything that you do in PHP and Ruby on Rails, but Node.js will help you do it more effectively and quickly.
How was Node.js created?
Back in 2009, a Joyent employee Ryan Dahl saw a file upload progress bar and noticed the browser did not know how much of the file was uploaded and had to query the web server every time. Ryan decided to simplify this problem and created Node.js in which you can create applications in JavaScript. Ryan explained Node.js in a JSConf in 2009 and got a standing ovation for it.
In 2011, Node.js got its own Package manager npm (Node Package Manager) which now comes pre-installed for Node.js server platforms. You can use npm to install third-party programs to speed up your development process.
What can you do with Node.js?
One of the cool things you can do with Node.js is, you can create a web-server with less than 10 lines of code.
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
You’ll need the Node.js environment to run this. You can create networking tools using modules that handle cryptographic functions, binary data (buffers), data streams. With this, you can access files on server, communicate with the database directly (MongoDB), handle and respond to HTTP requests, analyze and optimize network traffic and many more things. You can also use frameworks like Express.js, Connect, Socket.IO and configure them to suit your needs.
You can also use npm libraries to use many open-source libraries built for Node.js.
Why should I learn Node.js?
Node.js is the now one of the top paying jobs in Computer Industry. Quincy Larson, one of the teachers at FreeCodeCamp explains why you should learn Node.js if your interests lies in web-development.
- JavaScript is significantly faster than Ruby, Python or PHP (in part because it allows for asynchronous programming).
- JavaScript is significantly easier to code in than Go, Scala, Haskell, C++ or other high-performance languages (you just code in JavaScript, which is a user-friendly high level scripting language)
- JavaScript is undergoing a major investment of money and talent from companies like Google, Facebook and even Microsoft, and thus is constantly improving.
- Node.js can be used from everything from embedded devices (Internet of Things tech) to major APIs (Netflix).
- Node.js is the only tool where you can easily share code between the client and the server (JavaScript is the only language recognized by browsers, and is the lingua franca of the web.) This makes it possible for your back-end developers and front end developers to easily collaborate.
- NPM is the largest open source ecosystem that has ever existed.
Node.js will also help you get a good well-paying job.
You can be a front-end developer in Node.js, if you’re interested in building utilities..
If you want to be an engineer developer in Node.js, your work will mainly focus on web-servers and koa.
How do I start with Node.js?
Great, now you know something about Node.js and you want to learn it. How can you learn Node.js?
First, you need the environment to build and run Node.js applications. You can download it from Node.js’s Official site. Then you need some tools to program. If you want a Desktop IDE, you can use anyone Of:
- Atom (free open-source).
- Brackets (free open-source).
- Sublime Text (commercial).
- JetBrains IntelliJ IDEA (commercial).
- Microsoft Visual Studio with Node.js Tools for Visual Studio (commercial).
- Nodeclipse Enide Studio (free open-source, Eclipse-based).
- If you want online code editors, you can visit:
- Koding (cloud service).
- Codenvy IDE (cloud service).
- Cloud9 IDE (cloud service).
- Codiad (Self hosted service).
Now you have the tools, but you need a place to learn. Some of the courses:
- Be a full stack front-end Web Developer | FreeCodeCamp.
- Building Apps with Node.js JumpStart.
- Bucky Roberts (YouTube Playlist).
- LearnCode.Academy (YouTube Playlist).
- How do I start with Node.js | StackOverflow.
- CodeSchool.
- tutsplus.
- NodeCasts.
- TalentBuddy.
- NodeTuts.
- Udemy course ($10).
- AirPair.
- Books.
So have fun, if you have any resources or have some questions or want to share something about Node.js, feel free to comment below.