Javascript Review


Having dabbled in JavaScript in the early 2000s I believed for a long time that JavaScript wasn’t a real programming language. By real, I mean in comparison to Python, Java, C/C++ etc. As far as I knew it was a thin language that merely existed to manipulate the DOM structure in web pages.

JavaScript consistently grew over the years in terms of support and frameworks. It doesn’t seem too long ago that AJAX was the big new thing, allowing developers to load content without reloading the entire page. Shortly after that JQuery was generating a lot of buzz. While JavaScript was about managing web content and page styling it had yet to cross into the world of solving domain problems. As such, I still could not bring myself to consider it a serious language.

However, recently my attention was brought back to JavaScript thanks to the waves being made by Node.js. Not being entirely sure what to make of it, I started using it as an interpreter for JavaScript. I started dabbling in pure JavaScript when I discovered how powerful it really was. It was a highly expressive language, and to my surprise an object-oriented one.

I also learned that functions were first class objects, and that JavaScript had a function scope instead of a traditional block scope. This was a mind-bender, and while it was initially frustrating – I was fascinated.

MEAN Stack Development

After deciding to learn more about the language itself, I began exploring the packages and frameworks available for JavaScript and was suitably impressed. What I discovered was an end to end solution that allowed you to create a web-application in a single language. I had discovered the MEAN stack.

My recent dabblings in web-application development was from a Java perspective. Thanks to frameworks such as Spring MVC, JSP and Servlets, I was able to create a server-side application in Java. However, I quickly discovered some of its drawbacks. Particularly the size of the application was growing considerable. It felt like I was importing large libraries and only utilizing a fraction of its capabilities. My application felt/feels bloated and I can’t help but think, there must be a better way to do this.

What excites me about the MEAN stack, is that JavaScript is a lightweight language combined with the the non-blocking io of Node.js means incredible processing speeds for handling client requests. Express.js makes web-application development and prototyping incredibly fast, and MongoDB makes for an interesting NoSQL introduction. It also already has support from PAAS such as Heroku, meaning deployment could should be easy. I have never used Heroku before, but it looks like it offers a good solution for publishing web-applications.

Distributed Computing

I am particularly interested in applying Node for a distributed computing set up, thanks to a few hints about utilizing Node’s websockets and http framework to perform inter-process communications (IPC). It could make for an interesting project.

Full Stack Development

You could say that MEAN stack equals full-stack JavaScript development, but I’m not sure it really qualifies. But it definitely covers a lot of ground in getting you there. There’s still some TDD to figure out, and I’m sure there are a few other JavaScript frameworks and tools I haven’t even discovered yet. However, it has got me interested.

So, over the next few weeks/months, I’ll share what I have learned about JavaScript and some of the Tools used. Hopefully, by the end of 2015 I’ll have a new language and tool set under my belt.

Comments are closed.

Powered by WordPress. Designed by Woo Themes