GETTING STARTED
JAVASCRIPT LIBRARIES & SERVICES

Javascript is an open source initiative with many 3rd party libraries that can be used to assemble applications.

A few note-worthy general libraries below - more appear every day!

jQuery Includes jQueryUI, jQuery Mobile, jQuery Themeroller
backbone Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface

Sample code binding backbone to mydigitalstructure.com

Getting Started Tutorial, tutplus.com

underscore Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux, and Backbone.js's suspenders
node A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
amplify AmplifyJS is a set of components designed to solve common web application problems with a simplistic API. Amplify's goal is to simplify all forms of data handling by providing a unified API for various data sources. more...
d3 D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document.
list Makes your plain HTML lists super flexible, searchable, sortable and filterable.
noty A jQuery plugin that makes it easy to create alert, success, error, information and confirmation messages as an alternative the standard alert dialog. Each notification is added to a queue. (Except growl like notifications).
Kendoui Kendo UI combines everything needed for modern JavaScript development, including rich UI Widgets, a powerful DataSource, an MVVM framework, universal Drag-and-Drop, Templates, and Themes.
Sencha Architect 2 A visual app building tool that creates code as clean and well structured as the code that a Lead Architect at Sencha would write by hand. Architect 2 is visual where it makes sense, but also gets out of your way when you need to dive into code.
pdf.js Javascript based PDF reader.
jQUIT jQueryUI Themes.
microjs Lots of micro js frameworks.
processingjs Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins.
webRTC WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs.
angularjs HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.

Example project by Richard Kennard

Example 1blankspace code

knockout Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM) pattern
emberjs A framework for creating ambitious web applications.
heyoffline Warn your users when their network goes down. Make sure they don't lose anything.
typescript TypeScript is a language for application-scale JavaScript development.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.Any browser. Any host. Any OS. Open Source.
meteor Meteor is an open-source platform for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started
lovely.io Lovely.IO is a centralized repository of front-side packages
MetaWidget Metawidget is a smart User Interface widget that populates itself, either statically or at runtime, with UI components to match the properties of your business objects
Twitter Bootstrap
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
Zepto Zepto is a minimalist JavaScript library for modern browsers with a largely jQuery-compatible API. If you use jQuery, you already know how to use Zepto.
Firebase
JSON based scalable real-time backend
Persona A cross-browser login system for the Web (Mozilla)
date.js Extension of the standard JavaScript Date object.  Available on mydigitalstructure @ /jscripts/date-2.0.0.js.
Shield UI HTML5 and JavaScript tools for streamlined development
PhantomJS PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
jVectorMap Maps and data
OpenLayers Free maps for the world
mapSVG jQuery Interactive SVG Map Plugin
DataMaps Customizable SVG map visualizations for the web in a single Javascript file using D3.js
React A JavaScript library for building UIs
jsrsasign opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate and CRL
jsjwt Pure JavaScript implementation of JWT (JSON Web Token) and JWS (JSON Web Signature)
jsPDF A HTML5 client-side solution for generating PDFs. Perfect for event tickets, reports, certificates, you name it!
crypto-js
CryptoJS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.
forge A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps.
accounting

accounting.js is a tiny JavaScript library by Open Exchange Rates, providing simple and advanced number, money and currency formatting.

Features custom output formats, parsing/unformatting of numbers, easy localisation and spreadsheet-style column formatting (to line up symbols and decimals).

db.js Wrapper for indexDB
tesseract.js A pure javascript version of the Tesseract OCR Engine that can recognize English, Chinese, Russian, Meme, and 60 other languages.

 

countTo Animate a number counting up or down.
animateNumber Animate a number counting up to down, plus more
wow.js Reveal on scrolling
inview Fires event when element comes into view.
redux Redux is a predictable state container for JavaScript apps.
numeraljs A javascript library for formatting and manipulating numbers.

 

See also:


Reading:

 

 

js

JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional
programming styles. 

 
Some good reading:
 
About Javascript
 
js Module design pattern
 
Scoping & Hoisting
 
Scope chain
 
Hoisting
 
Testing:
 
jasmine
 
jsTestDriver
 
Playing:
 
jsBin