ckportfolio.com - Introduction to JavaScript

Introduction to JavaScript

Flash and HTML5

First introduced to the public in the early 1990s, HTML has undergone numerous revisions over the past few decades and now sits at version 5 --- and the name HTML5 serves as a buzzword that represents more than the original markup language. Accompanied by the stylesheet technology (CSS3) and the common programming language (JavaScript), HTML5 is an umbrella term that signifies a new paradigm of creating web-based projects, as well as the death of another then-popular technology: Adobe Flash.

Apple's iOS-based products never supported Adobe Flash, which was a massively popular tool to create interactive website experiences. While Flash was a proprietary technology, it made possible what HTML and CSS were not capable of handling: animation and complex interactivity. With Adobe Flash being a major player in the Web industry at the time, Apple was a target of criticism from business pundits and iOS device users.

In response to public outcry, Steve Jobs published an open letter titled "Thoughts on Flash": a brief article that outlined the tool's various shortcomings and labelled Flash as buggy, slow, and unreliable. Jobs, predicting that open web standards will prevail in the rise of mobile devices, expressed support for HTML5, CSS3, and JS, which had little market share as a relative young set of tools. Adobe retaliated with its print advertisement campaign titled "We Love Apple," where the company warned that Apple is actually looking to limit developer freedom, but HTML5 quickly gained its traction as Apple's mobile devices dominated the market.

Google quickly identified the strength of HTML5 and embarked on a number of experimental projects under the name "Chrome Experiments": a series of web-based interactive experiences optimized for Google's latest browser, Google Chrome. "The Wilderness Downtown" provided a personalized music video experience based on the user's location, set to Arcade Fire's music; The follow-up collaboration with Norah Jones and Danger Mouse, "3 Dreams of Black," featured a large number of 3D objects displayed in the browser. JavaScript was the core technology behind these exciting developments.

JavaScript

JavaScript is another standard technology (alongside HTML and CSS) that serves as a common programming language for the web. Designed to augment HTML ("markup") and CSS ("style"), responsible for static website experiences, JavaScript allows the developer to manipulate browser behaviour, animate website objects, and make the website generally more interactive.

Originally ridiculed by old-school developers for sharing the same name as the popular Java language and being amateurish in design, JavaScript is now the dominant language on the Web, with major stakeholders looking to bring JavaScript to platforms beyond web browsers. Google especially embraced the early surge in its popularity, and built many of its applications using JavaScript and optimized Chrome for JavaScript performance.

Despite its rather shaky foundation (due to its origin as a niche gimmick for Netscape Navigator) compared to other popular programming languages, JavaScript enjoys its popularity as an easy-to-learn language --- and a gateway to other programming languages. JavaScript is no longer confined to front-end development, as Apple is looking to allow developers to publish iOS applications written in JavaScript syntax and web servers and back-end needs can be now met with only JavaScript, without the use of other languages.

Current State of JavaScript

JavaScript remains an integral part of modern web projects, but the industry around it remains a heavily abstracted mess. It is natural for new technologies to emerge in order to perform more complex tasks, and abstraction helps the developers to be productive. However, with corporate interests (Facebook's React, and Google's Angular) at play and code bootcamps favouring specific tools in their curricula, the market deceptively feels difficult to enter and even hostile for newcomers.

The reality is that these abstracted frameworks, still built on JavaScript, are subject to a brutally short lifecycle --- with frameworks quickly garnering popularity upon inception, only to decline as developers look for the newest technologies. Sadly, skills gained from one specific framework is not easily transferable to another, and it is much more beneficial to work more closely with technologies that stand the test of time.

JavaScript Frameworks and jQuery

Despite its reputation as a powerful, easy-to-learn language, JavaScript presents a number of challenges to newcomers with complicated syntax and lack of cross-browser support --- and is often best learned using a framework: a collection of preset code that does plenty of "heavy-lifting" for developers. However, each framework does fall into a trap of often providing too much handholding and forcing the user to adopt a rigid principle specific to the framework, allowing little freedom to explore.

In this competitive market where different industry giants offer and maintain their own frameworks (Angular by Google, React by Facebook), jQuery remains the most popular framework of them all. Initially designed to reduce interpretation discrepancies between various browsers as per its slogan "Write Less, Do More," jQuery continues to maintain its 95%+ market share around the world due to its ease of use.

Fin