15 Javascript Web UI Libraries, Frameworks and Toolkits
Almost all of the rich web applications that we currently see on the web today rely on a subtle set of UI controls, libraries or frameworks (or toolkits) that not only greatly simplify application development, they also provide a consistent, reliable, and highly interactive User Interface. What more could you ask for? Currently, there are a wide varied range of Web UI frameworks covering varied languages – for today we will focus on Javascript Web UI libraries. Not all libraries are suited for every project, but most developers will still rely on a single UI framework, a faithful friend they will always turn to in times of need… …so, if you are looking for a fresh UI outlook, below you will find the best 15 Javascript Web UIs, all offering, to different degrees, solutions. LivePipe: UI Components for Prototype LivePipe UI is a suite of widgets and controls for applications that has been built using the Prototype Javascript Framework. UKI – Simple UI Kit for Complex Web Apps jQuery UI Yahoo!
jQuery
The Top 10 Javascript MVC Frameworks Reviewed - CodeBrief
UPDATE 1/14/2012: Added Batman.js and Angular.js due to popular demand and because they looked impressive. Over the last several months I have been in a constant search for the perfect javascript MVC framework. Driven by a dire need for the right level of abstraction and features, I have tried out - some more cursorily than others - every framework I could get my hands on. Here lies a brief synopsis of each framework. Lastly, I share the framework which I ultimately decided on. Specifically, the following four features are very important to me: UI Bindings - I'm not just talking about templates, I'm talking about a declarative approach to automatically updating the view layer when the underlying model changes. The Contenders Here is a table showing all of the frameworks support for the above features. 1. Backbone.js is the web's darling framework. Pros: Strong community and lots of momentum. Cons: Lacks strong abstractions and leaves something to be desired. 2. Pros: Bindings support. 3.
CanvasMark 2013 - HTML5 Canvas 2D Rendering and JavaScript Benchmark
CanvasMark 2013 - HTML5 Canvas 2D Rendering and JavaScript Benchmark Tests the HTML5 <canvas> rendering performance for commonly used operations in HTML5 games: bitmaps, canvas drawing, alpha blending, polygon fills, shadows and text functions. Important notes for Windows + Chrome users! [+] To get the best benchmark score for your machine, it is advisable to Disable VSync. Go to "about:flags" and toggle: Disable GPU VSync "Disables synchronisation with the display's vertical refresh rate when GPU rendering." This will resolve the issue with the Chrome implementation of "requestAnimationFrame()" that tries to maintain a steady 60 frames-per-second (FPS) but on Windows with accelerated 2D canvas support, it will drop immediately down to 30 FPS when 60 FPS is not achievable with no gradual degredation. How to interpret the results [+] CanvasMark gives a score for the browser based on the combined performance in each of the various stress tests.
Uglify JS
Stylus
Simply require the module, and call render() with the given string of Stylus code, and (optional) options object. Frameworks utilizing Stylus should pass the filename option to provide better error reporting. We can also do the same thing in a more progressive manner: var stylus = require('stylus'); stylus(str) .set('filename', 'nesting.css') .render(function(err, css){ // logic }); .set(setting, value) Apply a setting such as a filename, or import paths: .set('filename', __dirname + '/test.styl') .set('paths', [__dirname, __dirname + '/mixins']) .include(path) A progressive alternative to .set('paths',...) is .include(). stylus(str) .include(require('nib').path) .include(process.env.HOME + '/mixins') .render(...) .import(path) Defer importing of the given path until evaluation is performed. .define(name, node) By passing a Node, we may define a global variable. However, this is not always available, so Nib may define: Stylus also casts JavaScript values to their Stylus equivalents when possible.
Learning JavaScript Design Patterns
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. At the beginning of this book I will be focusing on a discussion about the importance and history of design patterns in any programming language. One of the most important aspects of writing maintainable code is being able to notice the recurring themes in that code and optimize them. You may ask why it’s important to understand patterns and be familiar with them.
CoffeeScript
zepto.js — the aerogel-weight mobile javascript framework
philc/shoulda.js - GitHub
Related:
Related: