JavaScript

FacebookTwitter
JS engine

Writing Modular JavaScript With AMD, CommonJS & ES Harmony

http://addyosmani.com/writing-modular-js/ When we say an application is modular , we generally mean it's composed of a set of highly decoupled, distinct pieces of functionality stored in modules. As you probably know, loose coupling facilitates easier maintainability of apps by removing dependencies where possible. When this is implemented efficiently, its quite easy to see how changes to one part of a system may affect another. Unlike some more traditional programming languages however, the current iteration of JavaScript ( ECMA-262 ) doesn't provide developers with the means to import such modules of code in a clean, organized manner.
http://wiki.ecmascript.org/doku.php?id This is a wiki for the ongoing specification work of Ecma TC39 , the technical committee tasked with standardization of the ECMAScript programming language. Most of the wiki is world-readable, meaning that anyone can view the pages.

start

Minification (also minimisation or minimization ), in computer programming languages and especially JavaScript , is the process of removing all unnecessary characters from source code , without changing its functionality. These unnecessary characters usually include white space characters , new line characters , comments , and sometimes block delimiters , which are used to add readability to the code but are not required for it to execute. Minified source code is especially useful for interpreted languages deployed and transmitted on the Internet (such as JavaScript ), because it reduces the amount of data that needs to be transferred. Minified source code may also be used as a kind of obfuscation , though the term obfuscation may be distinguished as a form of false cryptography while a minified code instance may be reversed using a pretty-printer . http://en.wikipedia.org/wiki/Minification_(programming)

Minification (programming)

I would like to thank Rebecca Murphey for inspiring me to open-source this mini-book and release it for free download and distribution - making knowledge both open and easily available is something we should all strive for where possible. I would also like to extend my thanks to the very talented Alex Sexton who was kind enough to be the technical reviewer for this publication. I hope that it helps you learn more about design patterns and the usefulness of their application to JavaScript. Volume 2 of Essential JavaScript Design Patterns is currently being written and will be more detailed than this first edition. http://addyosmani.com/resources/essentialjsdesignpatterns/book/

Learning JavaScript Design Patterns

So you write JavaScript. That’s pretty much a given for today’s modern web apps. Unfortunately, JavaScript doesn’t always get the organization it deserves and ends up being a procedural mess of jQuery on ready statements. http://blog.newrelic.com/2012/10/09/helpful-javascript-patterns/

Helpful JavaScript Patterns

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_and_function_scope/Strict_mode ECMAScript 5 's strict mode is a way to opt in to a restricted variant of JavaScript. Strict mode isn't just a subset: it intentionally has different semantics from normal code.

Strict mode - JavaScript

Shim (computing)

http://en.wikipedia.org/wiki/Shim_(computing) In computer programming , a shim (from shim ) or shiv is a small library that transparently intercepts an API and changes the parameters passed, handles the operation itself, or redirects the operation elsewhere.
http://afarkas.github.com/webshim/demos/ Webshims Lib is a modular capability-based polyfill -loading library, which focuses on accurate implementations of stable HTML5 features, so that developers can write modern, interoperable and robust code in all browsers. It is built on top of jQuery and Modernizr . Download Webshims Lib Main concepts

Webshims lib - The capability-based polyfill-loading JS library

In web development , a polyfill (or polyfiller ) is downloadable code which provides facilities that are not built-in to a web browser. For example, many features of HTML5 are not supported by versions of Internet Explorer older than version 8 or 9, but can be used by web pages if those pages install a polyfill. [ 1 ] [ 2 ] Web shims [ 3 ] like HTML5 Shiv are a related concept. Polyfills can also be used to add entirely new functionality to browsers.

Polyfill

http://en.wikipedia.org/wiki/Polyfill

Rico (Ajax)

Rico is an open source JavaScript library for developing rich Internet applications (RIAs) that use Ajax . [ 1 ] http://en.wikipedia.org/wiki/Rico_(Ajax)
JS Polyfills & fallbacks

JS Documentation

JS Logging

JSON

ECMAScript

ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web , in the form of several well-known dialects such as JavaScript , JScript and ActionScript . [ edit ] History JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, later LiveScript, and finally renamed to JavaScript. [ 2 ] In December 1995, Sun Microsystems and Netscape announced JavaScript in a press release. [ 3 ] In March 1996, Netscape Navigator 2.0 was released, featuring support for JavaScript. Due to the widespread success of JavaScript as a client-side scripting language for web pages, Microsoft developed a compatible dialect of the language, naming it JScript to avoid trademark issues.
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as prototypes . This model can also be known as classless , prototype-oriented or instance-based programming. Delegation is the language feature that supports prototype-based programming.

Prototype-based programming

Standard ECMA-262

Standard ECMA-262 ECMAScript® Language Specification Edition 5.1 (June 2011) This Standard defines the ECMAScript scripting language. The following file can be freely downloaded: This edition 5.1 of the ECMAScript Standard is fully aligned with third edition of the international standard ISO/IEC 16262:2011.
This page contains a historical record of working draft of the ES.next specification prepared by the project editor. Errors in the current draft should be reported as bugs at bugs.ecmascript.org .

harmony:specification_drafts

JavaScript ( JS ) is an interpreted computer programming language . It was originally implemented as part of web browsers so that client-side scripts could interact with the user , control the browser, communicate asynchronously , and alter the document content that was displayed. JavaScript is a prototype-based scripting language that is dynamic , weakly typed , and has first-class functions . Its syntax was influenced by the language C .

JavaScript

javascript/JScript/JScript.NET

JS IDE

JS Frameworks

JS alternatives

JS Testing