Naked JavaScript

Taking the DOM off JavaScript 
« Back to blog

Preface

JavaScript is a multi-paradigm, prototype-based, functional scripting language or in short it is one of the most advanced languages that nearly every one knows, but very few know deeply. It combines the elegance of functional programming with the ease and rapid development capabilities of scripting languages. While it is most commonly thought of as a client side scripting language confined to the browser environment, JavaScript has far more to offer the world than just being the widest deployed language in the computer world. In the traditional model of JavaScript, the Document Object Model or DOM is often the focal scope or reason for working with the language in order to update elements within a web browser. This series is not going to deal with the DOM at all - I recommend reading JavaScript: The Good Parts by Douglas Crockford and JavaScript: The Definitive Guide by David Flanagan if you are interested in the DOM, well actually just read those books regardless. This series will introduce to some of the deep concepts touched on by those authors as well as introduce you to some of the most exciting and cutting edge concepts in JavaScript. We will go through how to install JavaScript and use it outside the browser, but you can also follow along directly in your browser if so inclined. This series is being done in blog posts in order to keep up with the rapidly changing world of JavaScript. 

Why Should I Learn JavaScript as a Language?

Consider that nearly every computer since the mid 1990s has come equipped with a some form of a JavaScript interpreter and that since that time period nearly every major technology vendor has heavily funded the further development of the language, both in terms of speed and functionality. That fact catches most people off-guard, because JavaScript is often thought of by developers as a necessary evil and by some as just plain evil. This misconception has evolved over the years from being burned by the wide variety of implementations, each with their own oddities, issues, and functionalities; much of which has been resolved, fixed, or handled for the developer by frameworks, libraries, or improvements in the interpreter. The JavaScript community has progressed towards a set of standard APIs and language definitions, most of which conforming to the ECMAScript ECMA-262, Edition 3 standard. At this point, the world of JavaScript is not only stable, it is also extending well beyond the browser and into the desktop, mobile, and server environments, each of which is stabilizing on appropriate APIs and domain specific definitions.

The best part about all of these advancements is that you most likely know enough JavaScript to start programming for all of these environments right now. JavaScript is one of the more approachable languages for both developers and non-developers alike and that is one of its strong suits. The language has evolved over many years; sometimes for the better, sometimes less so; hopefully we will journey through the JavaScript language with ease and grace while learning many amazing things that will hopefully positively re-enforce or change your view of this advanced language.

By working through the concepts and examples in this series, you will learn a wide variety of techniques and programming practices for JavaScript, may of which will be applicable in other programming languages. Even if you never use JavaScript outside the browser, the concepts that you will be exposed to as part of this series will help you with in-browser JavaScript programming. If you do any programming for the web, you are most likely going to be using JavaScript somewhere, somehow.

Why Naked?

JavaScript without the DOM is a beautiful thing. This has been said by some of the most influential JavaScript developers, but has until now been kept as a deep secret. With the increased interest around JavaScript technologies fueled by products from Adobe, Apache, Apple, Google, Microsoft, Mozilla, and Palm that do everything from browser scripting to full mobile OS development to server and database programming; there is a strong trending toward this language as more than just a browser scripting language. By learning JavaScript stripped of its DOM clothing, you can easily get to the best and most overlooked parts of the language. Also the world outside the browser is rapidly expanding and growing, which makes it rather hard to keep tabs on all the newest and most exciting updates while trying to code in-browser JavaScript (or other languages).

A Note

This series may not always "flow" from one idea to a similar idea and that is on purpose since new technologies, products, or concepts come to light in the JavaScript world all the time. We may have guest writers that can dive deep about new concepts or provide preview details about technologies, or just bounce around from technology to technology - either way it will be a fun ride. 

Enjoy

Comments (0)

Leave a comment...

 
Got an account with one of these? Login here, or just enter your comment below.