background preloader

The glorious web (mostly JavaScript)

Facebook Twitter

Complexity-report. Software complexity analysis for JavaScript projects.

complexity-report

Command-line front-end for escomplex. Less attractive elder brother of JSComplexity.org. The Principle of Least Power. Timeline of ECMAScript and its implementations. CoffeeScript. JSComplexity.org.

jQuery

RequireJS. Clojure. PathFinding.js. Click within the white grid and drag your mouse to draw obstacles.

PathFinding.js

Drag the green node to set the start position. Drag the red node to set the end position. Marionette.js. Prism. MathJax. JavaScript Libraries Playground. Remotty/jsbin. Bootstrap. Adapt.js - Adaptive CSS. Publishing API to associate internet resources with text keywords. CssFx by imsky. CssFx cssFx adds vendor-specific prefixes to your stylesheets.

cssFx by imsky

How it works When the document has finished loading, internal (<style>) and external (<link>) stylesheets are processed, fetching any @import stylesheets as well. It's recommended to bundle stylesheets into one file to minimize request overhead. Once processing is done, a new <style> tag is appended to the <head> with processed properties. Installing. Dust.js by LinkedIn.

Dust Tutorial · linkedin/dustjs Wiki. Dust Tutorial Richard Ragan - PayPal ( Author )Veena Basavaraj - LinkedIn ( Edits ) Why JavaScript Templating?

Dust Tutorial · linkedin/dustjs Wiki

There are a number of advantages provided by implementing templates in JavaScript with the Dust template rendering solution. They include: Sizzle CSS selector engine/lib. ES6 - the Future is Now by Jim Cowart. Lukehoban/es6features. Dan Wahlin - Getting Started with ES6 – The Next Version of JavaScript. JavaScript has come a long ways in its 20 years of existence.

Dan Wahlin - Getting Started with ES6 – The Next Version of JavaScript

It’s grown from a language used to define a few variables and functions to one that can be used to build robust applications on the client-side and server-side. Although it’s popularity continues to grow in large part due to its dynamic nature and ability to run anywhere, JavaScript as a language is still missing many key features that could help increase developer productivity and provide a more maintainable code base. Fortunately, ECMAScript 6 (ES6) adds many new features that will take the language to the next level. This is the first post in a series I’ll be writing that will walk through key features in ES6 and explain how they can be used. ECMAScript 6 collections, Part 1: Sets. Posted at September 25, 2012 07:00 am by Nicholas C.

ECMAScript 6 collections, Part 1: Sets

Zakas Tags: Arrays, ECMAScript 6, JavaScript, Set. ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sa… Collecting and Iterating, the ES6 Way. ES6 Fiddle.

Promises

Object-Based JavaScript in ES6. At first I was pretty happy, that there will be a class syntax in ECMAScript 6.

Object-Based JavaScript in ES6

Then I listened to the latest revision of “Working Draft” (German podcast) about Node and JavaScript and afterwards watched Eric Elliott’s talk “Classical Inheritance is obsolet” for a second time. It became clear to me that class-based object-oriented programming may not be my programming paradigm of choice. Instead I prefer a truly “object-oriented” programming style or as Kyle Simpsons calls it: “object-based”. Although the class syntax of ES6 will allow writing JavaScript in a class-based way more easily, there is also some syntactical sugar for the “object-based” approach.

Enhanced Object Literals Besides a shorthand for property: property assignments, methods can now be defined without the function keyword. var human = { breathe() { return 'breathing…'; }}; Dave Arel - As I Walk Through The Valley Of The Shadow Of DOM. Three.js - Javascript 3D library.

d3.js

Raytracing. Diagramming. Processing.js. Isomorphic Libraries and Frameworks. Isomorphic JavaScript: The Future of Web Apps. By Spike Brehm This post has been cross-posted on VentureBeat.

Isomorphic JavaScript: The Future of Web Apps

At Airbnb, we’ve learned a lot over the past few years while building rich web experiences. We dove into the single-page app world in 2011 with our mobile web site, and have since launched Wish Lists and our newly-redesigned search page, among others. Each of these is a large JavaScript app, meaning that the bulk of the code runs in the browser in order to support a more modern, interactive experience. Meteor.

Catberry

Node.js. Modular JavaScript with Browserify. Modular JavaScript with Browserify 19th January 2014 In an effort to write more articles, I will be writing more about libraries, tools and cool stuff that I have tried out recently.

Modular JavaScript with Browserify

One of those things is Browserify, over the holidays I decided to start a HTML5 game development course, I thought this would be a great opportunity to also try out browserify and I found it to be a great way to modularise my code. Johnny-Five. Promise. This is a simple implementation of Promises.

promise

It is a super set of ES6 Promises designed to have readable, performant code and to provide just the extensions that are absolutely necessary for using promises today. For detailed tutorials on its use, see www.promisejs.org N.B. This promise exposes internals via underscore (_) prefixed properties.

Angular

Ember. Underscore.js. An Introduction to Backbone.js. Backbone or Angular or Ember? Here is my choice and why » { 100PercentJS } I’ve spent the last year neck deep in the main MVC / MV* whatever frameworks for Javascript. It was a very hard choice to pick a favorite and stick with it. I started out with Backbone, moved on to Angular and finally settled on Ember. This convoluted process is the reason I haven’t blogged in a few months, I really had to pick what client-side framework to blog about. This is my reasoning: Backbone is great, minimal and not opinionated which I like, as such it resembles classic Javascript the most and has the least steep learning curve, but the main point against it – that you need a lot of boiler plate code to make it work well – is valid. Angular is really impressive at first glance, it can do quite a lot of amazing stuff, like 2-way bindings, helpful out of the box directives and filters.

Ironically I’m by far least experienced in Ember, but I like it the most already (I’m hoping that doesn’t change and I end up having to learn yet another MVC framework). Introducing Backbone.Radio. Marionette comes bundled with a library called Backbone.Wreqr, and in the coming months we will replace it with a new library by the name of Backbone.Radio. Radio is heavily inspired by Wreqr, but it was rewritten from the ground up. MVC Architecture. As modern browsers become more powerful with rich features, building full-blown web applications in JavaScript is not only feasible, but increasingly popular. Based on trends on HTTP Archive, deployed JavaScript code size has grown 45% over the course of the year. What Are The Benefits of MVC? Since there's a rather nice discussion going on around my weekend post on RMR and MVC I thought I'd dig out the description of MVC from the Gang of Four book to remind us all what we're actually talking about.

Often people forget that the GOF book didn't include MVC as a design pattern but as a usage scenario that they decomposed into constituent patterns, most notably Observer, Strategy and Composite. Here's the relevant section from the book: HTML5 Cross Browser Polyfills · Modernizr/Modernizr Wiki. The No-Nonsense Guide to HTML5 Fallbacks So here we're collecting all the shims, fallbacks, and polyfills in order to implant HTML5 functionality in browsers that don't natively support them. The general idea is that: We, as developers, should be able to develop with the HTML5 APIs, and scripts can create the methods and objects that should exist.

Developing in this future-proof way means as users upgrade, your code doesn't have to change but users will move to the better, native experience cleanly. Looking to conditionally load these scripts (client-side), based on feature detects? See Modernizr.Looking for a guide to write your own polyfills? JSON 3. Ddr-ecma5 - Brings ECMAScript5 features to any browser. Es-shims/es5-shim. ECMAScript 6 compatibility table. WeakMap. This is an experimental technology, part of the ECMAScript 6 (Harmony) proposal.Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes. The WeakMap object is a collection of key/value pairs in which the keys are objects and the values can be arbitrary values.

Syntax. WebReflection/es6-collections. Paulmillr/es6-shim. ModuleLoader/es6-module-loader. Jamesallardice/Placeholders.js. Google/traceur-compiler. Polymer - Getting Started. Google I/O 2014 - Polymer and Web Components change everything you know about Web development. Google I/O 2014 - Unlock the next era of UI development with Polymer. Google I/O 2014 - Polymer and the Web Components revolution. Google Web Components. WebComponents.org. Web components polyfills - Polymer. Edit on Github Introduction Polymer builds on top of the upcoming web components technologies, which don’t yet ship in all browsers. However, you can run Polymer in any evergreen browser using the Web Components support library, webcomponents.js. This is a collection of libraries (or “polyfills”) for new web technologies that haven’t shipped yet across all browsers. The web components polyfills make it possible for developers to use these standards today across all modern browsers.

Webcomponents.js automatically detects native support and switches to the fast path when available. In the past, the web components polyfills were maintained by the Polymer organization and released as platform.js. Note: The web components polyfill layer is no longer needed for browsers that fully implement the web components APIs, such as Chrome 36+. What’s in the web components polyfill? Topeka. Polycasts: Core Icons with Rob Dodson. YOLOmer! Polymer and Yeoman for lighting fast dev. Jelly - Jelly Tutorial. Jelly Tutorial The best way to get acquainted with Jelly, and get an idea what it can be used for, is to see it in action.

Core

JSON Tips and Tricks. Legacy IE Compatibility. Objects. Browser General. CSS. Compile it! (asm.js) GWT (Java->JS) Regex Nuggets. Google Apps Script for Beginners. Minify - How to deminify javascript. Turndownforwhat.JS.