Categories
Archives

Node.js Foundation Transparency

The Node Foundation keeps a pretty active presence, on various platforms, keeping a level of transparency that’s almost uncommon. Here are a couple of videos that might be worth taking a few minutes out of your day to have a look at. The Node Foundation has a Youtube Channel and they post videos on a pretty regular basis, including their Board of Directors meetings. We talked about the Board a while back, in any case, it’s a useful source of information about the Foundation itself and Node.

They also publish their Technical Committee meetings, LTS meetings and more. If you check out their playlists you can pick and choose what you wanna check out more easily. Some of them are quite long, like the LTS meetings, which go from 30 to 60 minutes, but as a Node.js developer you can actually see how the Node Foundation works, what do they talk about, what are they working on, and this level of communication and transparency is amazing.

Needless to say, there are a gazillion videos out there on Node.js, tutorials, experiences, setups and whatnot, but these videos are a very real glimpses into the way your language is progressing. That might be worth it. Considering that there are tens of thousands of Node.js developers and only a couple hundred views on these videos, some of you might be missing out.

Here are a couple interesting videos from the Foundation:

2017-01-30 Node.js Board of Directors Meeting -i t might seem dull, but you can see and hear how a meeting is conducted and how they work together and make decision for Node.js

Smarter & Cuter Bots by Rachel White, Microsoft – this is a pretty cool presentation from a technical evangelist

Have a look at the channel and see what they have on for you.

Tweet

Categories
Archives

Node.js developer survey, by Rising Stack

Rising Stack is a Silver member of the Node.js Foundation and an important node.js and javascript user. They handle enterprise grade node.js development and consulting, working on full life cycles of JavaScript applications. This summer, they conducted a survey on 1126 node.js developers from the 11th of July until the 15th of August. The survey covers several aspects of node.js development and tells us a lot about how developers work with node. 55 % of the questioned developers have been working with node for more than two years while 26 % have between 1 and 2 years of experience.

Let’s get to it!

When it comes to databases MongoDB was the clear winner, as more than 63% of respondents chose it as their database of choice. Second was Redis, followed by MySQL/MariaDB.

Source: Rising Stack

The survey also showed that developers with more than 4 years of experience lean towards Redis and PostgreSQL.

Source: Rising Stack

The cache section of the survey led to some surprising results. Although Redis came out as a clear winner with 48%, almost 44% of respondents said they don’t use any!

Source: Rising Stack

Messaging systems didn’t bode well either, as a staggering 58% of developers said they don’t use any. The most popular messaging app was RabbitMW who came in second with 24%. There is something to wonder and investigate here. Why would such a large percentage of developers leave out messaging systems?

Source: Rising Stack

AWS is the most popular choice for running node.js apps with 43%, followed by the option of having your own datacenter with 34%. The third and fourth choices are DigitalOcean with 25.22% and Heroku, 24.51%. If we cross this piece of data with company size, we see that more than 50% of enterprises (with more than 10.000 employees) run their own data center, while self employed individual or small companies turn to DigitalOcean.

Source: Rising Stack

When it comes to containers, Docker is the way to go. At least that’s what 47% of respondents said. It’s very popular in all company sizes, with a small inclination towards developers with more than 4 years of experience.

The survey covers a wide variety of questions and topics, here’s a quick brief up:

  • 59% of developers prefer config files over credentials (38%)

  • Promises are the way to go when it comes to async control, at least that’s what a vast majority, 75% of node developers said

  • Console.log is the primary facilitator for debugging (82%)

  • Finding issues is also a log thing, as almost 90% of node developers report using it, while only 25% respondents use APMs to identify issues

  • 53% of developers use shell scripts to push code or containers, this is the most popular method followed by Jenkins – in house  Travis CI, Circle CI, Codeship and hosted Jenkins.

  • Node developers don’t update dependencies. Most developers update dependencies rarely and very rarely, which is an issue as frequently updating dependencies is highly recommended with Node.js applications

  • Google is the top choice for finding packages for node.js developers.

  • Semantic versioning is used by 71 % of node.js developers, although there are also 15% of them who haven’t heard of it. In this case, usage grows with experience – the more experienced the developers the more likely it is that it will use semantic versioning

  • When it comes to rolling out products fast, node is in good shape as 35% of respondents report that they can introduce a new product or feature in just a few days while 29% of them can do the same in a few weeks.

The survey also covered the pain points of node.js development, which consist of:

  • Debugging / Profiling / Performance Monitoring

  • Callbacks and Callback hell

  • Understanding Async programming

  • Dependency management

  • Lack of conventions/best practices

  • Structuring

  • Bad documentation

  • Finding the right packages

This a great opportunity for the community to get pertinent data from developers themselves. From node.js developers for node.js developers. You can check out the full survey on Rising Stacks blog.

Tweet

Categories
Archives

Community based code learning

There was a question on Quora a while back, “Should I learn Node.js or Ruby on Rails?” and one of the answers was: “Both of the technologies are modern and have good communities behind them, and are used by big names in production, and both of the technologies will get you a nice job.”

As a beginner, when you choose a certain language you think of the 3 reasons mentioned above, about who is using this technology, about how easy will it to get a job in it (how much will it pay of course) and how easy it is to learn. That’s what the community part brings of the table after all, a group that offers mutual support.

We might be bias, but the Node.js community feels more compact, united and involved making it a space where you can learn Node.js through active involvement and dialogue. This is a great asset for new developers (who are just starting out or already know another language). Communities have an intrinsic educational value that shouldn’t be overlooked. When learning how to code in a given language, you need more that just data and information about that given language. Coding is something that you learn through practice and experiences, not just by consuming a certain amount of information.

The community way of learning allows you to get help from people who were in your shoes, who can answer questions and help you grow faster. And it’s not just a way for problem solving, the community also produces plenty of articles that detail useful information, experiences, projects and so on. These offer plenty of support for learning.

We try as much as possible to offer useful material, by presenting companies that use Node, by following up on news related to the community and so on. If you’d like to contribute with an article about your Node.js experience you can join our blog as a writer. Think about how your experience and knowledge represents a lesson for other Node.js developers.

If you have any thoughts you want to share, feel free to drop me a line at [email protected].

Tweet

Categories
Archives

12 people to follow for Node knowledge

You read articles, you check out social media, you pay attention to trend setters and authority figures to stay in touch with your field and get the latest first. Node.js is the largest open source community in the world so you can be sure that something is always going on. Here are a few people you might want to hit that follow button for. Listed in no particular order.

Myles Borins, a Node.js Collaborator at IBM

Yunong J Xiao, a Senior Software Engineer, Netflix and a guest speaker at Node Summit 2017

Scott Hammond, Chief Executive Officer at Joyent. Yes, that Joyent.

Alex Liu, Senior Software Engineer at Netflix. Because Netflix is big on node.

Michael Dawson Senior Software Developer at BM. Will also speak at Node Summit 2017

Danese Cooper, chairperson at the Node Foundation, working also at PayPal

Azat Mardan Tech Fellow at Capital One. The man who changed things at Capital One. Also started Node university.

Mícheál Ó Foghlú,  CTO at Red Hat Mobile

Ashley Williams, works at npm and is an individual director on the Node Foundation board

William Kapke, creator of node.green and the newest individual director on the board

Adam Baldwin, founder of Node Security (not one of the Baldwin brothers), currently works at Lift Security

(not an actual picture of Dan Shaw)

Dan Shaw, CTO and co founder at NodeSource. Also Node.js evangelist.

These are just a handful of people that could change your timeline and get you more connected to what’s happening in the Node world. If you follow other accounts or individuals that bring great value to you, please share them, we’ll edit the list accordingly.

Tweet

Categories
Archives

Snyk joins the Node.js Foundation

The newest member of the Node.js Foundation is a security company called Snyk. They fix and monitor known vulnerabilities in Node.js and Ruby on Rails projects. As a company that contributes greatly to the Node.js module ecosystem, its addition as a Foundation Silver member roster is a great step forward for the Node community.

Snyk provides tools to catch various problems in your code, problems that can put entire projects at risk. Although open source is a great way to share code and improve things, it can also lead to issues if the code hasn’t been vetted, or at least create a high risk because of the many dependencies used today. Snyk give the tools necessary to monitor your Node packages and fix any issues you might encounter. Basically, a great company to align with the goals of the Node.js Foundation, to grow node.js as a technology.

As the end of the year draws near, it’s also a right time to look at all the things that the Foundation accomplished, not just this year, but since its inception. It’s been barely a year and a half since the Foundation was founded and Snyk’s addition is just one of many other accomplishments.

Its role was to accelerate the development of node.js and support the growing ecosystem through a managing system resembling open source, marked by transparence and community sharing. Membership of the Foundation grew by 30%, a staggering figure if you take into account the timeline, its members being both large corporation and also smaller ventures like Snyk.

Node.js has truly exploded these past couple of years and the Foundation’s evolution not only matches that trend, but also contributed to it. The number of new contributors doubled compared to 2015 which is fabulous and critical to sustain and grow any open source project.

The Node Foundation also launched, during the second Node.js Interactive North America, its second user survey. You can complete it here, it will remain open until the end of the month. This survey it’s a bit more complex than the last one, offering more information on how developers learn node.js, what are they using it for and how do they mix and match it with other technologies.

Tweet

Categories
Archives

The rise of Node.js in popularity, jobs and company usage

The rise of Node.js in popularity, jobs and company usage

Node is very young, yet it has huge momentum,  because of its characteristics and because of, well, let’s just call it the boost of JavaScript. As server-side JavaScript, Node is very accessible to those who already know JavaScript (and there are plenty of people there) and practical for companies who can work in just one language for development. But let’s not just brag, like the saying goes – put your money where your mouth is, or in this case, the numbers.

Google Trends for popularity

Google Trends shows the search traffic over time for certain terms. By following this graph you can get a good picture on how relevant and popular a certain term/trend is.

The overall trend is positive, no surprise there, but as Node is reaching a more mature stage in its life, it’s also beginning to stabilize. Google trends is a useful resource to check out actual data regarding trend popularity. (the small decrease at the end of the graph is represents the month of July, that is still being processed). It offers a lot of useful data, including a region based graph.

As you can see there is a lot (a lot!) of interest in node.js in Asia, mostly in India and South Korea.  The first three cities are all big IT hubs, Bangalore is actually dubbed the Silicon Valley of India while the next two cities are in the original Silicon Valley.

Indeed for jobs

Most of you, or probably all of you know about indeed, a huge (by size and popularity) job search engine. If you ever hunted for a job you most likely also used Indeed. Well, besides job posts, Indeed also has a trends section where you can see how certain job terms evolve over time.

We took Ruby on Rails as a competitor because it’s in the same ballpark with node when it comes to age, it’s also a relatively young language, they’re only 4 years apart. Also, both Node and Ruby on Rails have a strong relationship with other large and dominant programming languages, JavaScript for the former and Ruby for the latter.

Companies and startups for usage

There are quite a few big names. Big companies that adopted Node in the detriment of other more established programming languages, like Java for Paypal and Netflix, we wrote about both of them, here on our blog. Here are a few big brands that use Node.js.

From apmblog.dynatrace.com

Check out our site to see more companies and startups that use Node.js.

Tweet

Categories
Archives

Node.js V7 Beta

Node.js 7 is in Beta, boosting more performance, memory improvement, module safety and virtual machine agnosticism. It also features the V8, version 5.4 JavaScript engine, a version that “delivers a number of key improvements in memory footprint and startup speed,” with peak memory consumption of on-heap memory reduced by up to 40%.  Another great improvement is the increase of support of ECMAScript 6 language features which it’s up to 98%, an amazing rise from the 56% in version 5.

“In Node.js v6, which will become the active Long Term Support release in October 2016, there were a number of regressions caused by a file system API that were intended to benefit performance, but hurt modules. Node.js v7 is working to fix these issues while remaining performant.”

Mikeal Rogers, Node.js community manager

A big change is Canary in the Gold mine, this technology will help maintain Node modules during updates in node versions by pulling down modules from npm and testing them to see if they fail in Node.js updates.

“The key focus for V7 was make sure modules in the ecosystem are keeping up with Node Core”

Rod Vagg, chairperson for the Node.js Technical Steering Committee

This method will give a lot of useful information to the team in regards to modules and updates. V7 will also support the Chakra JavaScript engine, although the V8 will still be the default engine. The goal here is to get Node.js an agnostic state in regards to VM. 

This beta release is the first one since the merger between io.js and Node.js, the moment Node reunited all of its resources and people under one roof. There will be several betas before the final and official V7 release, to smooth out any issues that may come up.

Node.js V8 is to be released in the spring, sometime in April 2017.

Tweet

Categories
Archives

5 Node.js frameworks you should look at

Node.js is a runtime environment that has the tools and capabilities to build server oriented apps rapidly and in JavaScript.  It works with Mac, Linux and Windows. It has an amazing package manager with over 200 thousand modules that you can use right now. It’s popularity is shown in pure numbers, it has been downloaded more than 90 million times. And beyond this, it also has quite a few handy frameworks that make it easier to work with. Here are a few of them that you might want to try out.

Flatiron

This is a full stack frameworks that helps you create desktop and mobile apps with reusable components. It has built in templating system, a storage agnostic resource-oriented object to document mapper for building data models and many other features. Check out more about it on their Github page.

Diet

Yes, there is a framework even with this name. It’s a pretty small framework for building APIs mostly. It’s open source so you can tweak it and add on. With Diet you can create multiple hosts, and build clean APIs and URLs. Get it here.

Geddy

This framework is similar to Rails, as in it provides things like authentication modules, SocketIO  and Passport.js integrations, that give you a very flexible environment for building secure apps with very little code. This is a more visible framework than the first two i mentioned, so you can find different opinion pieces on it. You can also just try it yourself.

Rhapsody

The core of Rhapsody is supported by Express  and it’s useful for creating RESTful APIs for models. Among its features we have support for sockets and middleware. It also have other goodies that you can check out while trying out in a real coding environment. You can also choose what database and  template engine. you want to use.

Derby

Derby helps you create complex web application without having to write complicated code. It’s fully compliant with all search engine requirements so you can tap the organic traffic opportunity more easily.  It has quite a few learning resources so you can get a grip on it pretty easily. Have a look at it here!

Share your favorite Node.js framework in the comment section. We’d love to hear what you’re using and how’s it working out!

Tweet

Categories
Archives

Yarn, new open source package manager

Yarn is a new package manager recently open sourced by Facebook, created by a team of developers from Facebook with additional help from engineers from Google, Exponent and Tilde. Just to be clear, this is not a Facebook projects, it’s an open source, community project. It has a standard open source license, the same governance model as Ember or Rust and its own Github organization. You can also check out its website.

It’s compatible with the npm registry, replacing the existing workflow with something faster, more safe and more reliable.

What’s wrong with npm?

5 million engineers use the npm registry, adding up to about 5 billion downloads every month. It works well for all of them, but when you take into account the size of the codebase at Facebook and the number of engineers working together you start to have issues. The problems encountered were related to consistency, performance and security. Many facebook projects depend on the npm registry, but when installing dependencies on different machines they often encountered consistency issues. Fixing one problem in once place, created other problems somewhere else.

Trying to keep solving every issue as it came up turned out to be unproductive so they moved to build something new and suitable to their needs. The problems wasn’t necessarily npm, but the incompatibility between the workflow at Facebook and npm. Hacking around npm’s limitation wasn’t enough or practical for that matter.

Building Yarn

Yarn came as a direct response to the problems they encountered. Instead of keep trying to fix issues and invest in short term solutions they decided to build a new client that would meet their needs. As development began they realized that they were not the only ones facing the same issues, it became apparent that a new solution could help the whole community. That’s how Yarn came to be. With it you can access the npm registry but in a more secure and consistent environment.

Try out Yarn

npm install -g yarn

Yarn

The yarn CLI will replace npm in your development workflow with a matching command or a new similar command:

  • npm install → yarn. The yarn command will read your package.json, fetch packages from the npm registry, and populate your node_modules folder. It’s basically the same to running npm install.

  • npm install –save → yarn add . The invisible dependency behavior of npm install is removed and split the command. Running yarn add is equivalent to running npm install –save .

Tweet

Categories
Archives

Node and NASA

If you’ve been following our blog you must have seen a few profile articles that we did on several big names that are using node.js in production. We’re talking about PayPal, Netflix, Uber, GoDaddy and there will be more to come. Big companies changing their tech stack to include Node is a big deal as well as startups that work from the ground up using Node or create node frameworks (see Thorin.js). This makes more people be interested and more importantly, be confident in node.js as a main technology. But how about this?

FIY: Collin Estes is the Director of Software Engineering @NASA. And yes, this means that NASA – National Aeronautics and Space Administration, the people who send people into outer space are using node.js.

Node’s journey at Nasa actually began in 2013 when a malfunction in one of spacesuits led to a complete reevaluation, one that wasn’t so easy as the data they had on the spacesuits, maintenance and previous spacewalks was spread out. Collecting the data necessary to figure out what went wrong turned out to be quite a difficult task. Considering they had to know what happened, as fast as possible, this presented another kind of system data problem.

The aforementioned Collin Estes is the Chief Architect at Mathematical Research Institute Technologies, (MRI Technologies). He and his team, together with the company that makes the spacesuits, United Technologies Corporation Aerospace Systems, went in to create a new centralized data system.

We took that on as a challenge, to not just continue to support our systems today, but also to make this conscious migration into the cloud with this web API, and to do that with no additional contract cost. My model centered around creating a an API-driven Node.js enterprise architecture.”

Collin Estes

The old way

Data was usually kept in siloes, organize in individual missions, a practice that was already being gradually changed. It wasn’t practical at all, Sandeep Shetye, NASA’s chief data architect said it took a 28 step process to get to the data you needed. The system created in node by Estes and his team reduced this to just 7 steps.

Choosing Node

JavaScript already was in use by the team at MRI Technologies, so choosing Node allowed them to stay on one platform which was very important. Here are a few of the key reasons why NASA chose node: (from the case study) 

  • The relative ease of developing data transfer applications with JavaScript, and the familiarity across the organization with the programming language, which keeps development time and costs low

  • Node.js’ asynchronous event loop for I/O operations makes it the perfect solution for a cloudbased database system that sees queries from dozens of users who need data immediately

  • The Node.js package manager, npm, pairs incredibly well with Docker to create a microservices architecture that allows each API, function and application to operate smoothly and independently. This encourages each of the three legacy database systems to play nice with each other while the data is transferred to the cloud.

The new way – the Node way

The new way is actually a database arhitectura centering on node, using decoupled data module APIs and applications running as independent microservices. The APIs send document data from the legacy Oracle and Microsoft SQL Server databases to RethinkDB instances running on Amazon Web Services to be indexed via nightly Extract-Transform-Load (ETL) jobs. Read the full case study called: Node.js Helps NASA Keep Astronauts Safe and Data Accessible here.

Tweet