Tim Caswell

Javascript Ninja, HP webOS

Performance Enhancing Programming with NodeJS
8 minutes, 3.7mb, recorded 2011-06-14
Tim Caswell

Node usage has grown rapidly because it allows people to script their operating system, something that was previously limited to hard core C programmers. It's development was promted by a web need for high concurrent websites where there is a lot of connections that are always active. NodeJS makes it easy for a huge group of programmers to do something they couldn't do before. It's also useful for businesses that previously needed ten boxes to do something on a server that now can be done with one.

Node is based on JavaScript, the language of the web. In the past a JavaScript option did not exist for servers. Python and Ruby and PHP are very practical here but all have the same blocking or predator multiprocess architecture that doesn't scale for highly concurrent things. With Node you get the best of both worlds; it's scalable, easy to learn and use, and the same people can work on front and back end development. However, front-end developers first need to be educated.  Suppose you have a TCP server in Node and you have a data client sending data. That data is delivered in TCP chunks and they can be cut at arbitrary boundaries. It's a unique problem that browser-side people don't have. NodeJS gives them the ability to do these things, but they still need to do some studying.

WebKit also benefits mobile developers by creating a common platform and that's exciting. The bane of all front end developers for the last nine years or so has been IE6. If you work on any significant project you have to support IE6 because you have customers who need it and business leaders don't want to lose them, but it can really hold back innovation. Mobile usage was even more fragmented with all the older browsers. Then smart phones appeared and you could use Web Kit. It is similar to the effect of Node. On top of that we now have app stores and communities so I can just go out and start my own company, write a mobile app in JavaScript, put it in the app store and make money. That's appealing to a lot of people.

For the longest time JavaScript was considered a toy language. It was for silly stuff like sparkles that follow your mouse, or rollovers, but the core app was on the server. Then with the Ajax revolution JavaScript became important because real apps on the web are written in it and now you're also writing the back end: it has closures; it has first class functions; it has things that C lacks. It's a pretty good language for being built in a week and a half!


Tim Caswell has been programming in a variety of languages for about twenty years with the last ten as  a professional software developer.  He is a community leader for  NodeJS and a core member of that community. He builds out frameworks, educates the masses and is an evangelist for the NodeJS platform. He has spoken at three large javascript conferences this year and organized ten or so NodeJS related meet-ups.  He runs the howtonode.org website which teaches about JavaScript techniques and Node in general. He spends his days doing all he can to make webOS the best developer platform in the world leveraging NodeJS and WebKit on mobile devices. He was educated at The University of Texas at Dallas, Texarkana College, and Southern Arkansas University.

Resources

This free podcast is from our Velocity Conference series.

For The Conversations Network:

Photo: http://geekli.st/creationix