background preloader

Comparison of JavaScript frameworks

Comparison of JavaScript frameworks

YUI Library In September 2009, Yahoo! released YUI 3, a new version of YUI rebuilt from the ground up to modernize the library and incorporate lessons learned from YUI 2. Among the enhancements are a CSS selector driven engine, like jQuery, for retrieving DOM elements, a greater emphasis on granularity of modules, a smaller seed file that loads other modules when necessary, and a variety of syntactic changes intended to make writing code faster and easier.[3] Features[edit] The YUI Library is fully documented on its website; detailed API documentation accompanies the library download. It has six types of components: YUI core, utilities, UI controls, CSS components, developer tools, and build tools. Core[edit] The YUI Core is a light (31KB minified) set of tools for event management and DOM manipulation. YUI Global Object The YUI Global Object contains language utilities, a script loader, and other baseline infrastructure for YUI. Dom Collection Event Utility Utilities[edit] Animation Browser History Manager

How Browsers Work: Behind the scenes of modern web browsers Web browsers are the most widely used software. In this primer, I will explain how they work behind the scenes. We will see what happens when you type google.com in the address bar until you see the Google page on the browser screen. The browsers we will talk about There are five major browsers used on desktop today: Chrome, Internet Explorer, Firefox, Safari and Opera. The browser's main functionality The main function of a browser is to present the web resource you choose, by requesting it from the server and displaying it in the browser window. The way the browser interprets and displays HTML files is specified in the HTML and CSS specifications. Browser user interfaces have a lot in common with each other. Address bar for inserting a URIBack and forward buttonsBookmarking optionsRefresh and stop buttons for refreshing or stopping the loading of current documentsHome button that takes you to your home page The browser's high level structure The browser's main components are (1.1): Syntax:

Dojo Toolkit Overview[edit] Dojo is a JavaScript framework targeting the many needs of large-scale client-side web development. For example, Dojo abstracts the differences among diverse browsers to provide APIs that will work on all of them (it can even run on the server under Node.js); it establishes a framework for defining modules of code and managing their interdependencies; it provides build tools for optimizing JavaScript and CSS, generating documentation, and unit testing; it supports internationalization, localization, and accessibility; and it provides a rich suite of commonly needed utility classes and user-interface widgets. Dojo is completely open-source. The Dojo Toolkit is organized in several parts: Features[edit] Widgets[edit] Dojo widgets are components — comprising JavaScript code, HTML markup, and CSS style declarations — that provide multi-browser (not to be confused with cross-browser), interactive features: Themes[edit] Asynchronous communication[edit] Packaging system[edit]

IE + JavaScript Performance Recommendations - Part 1 - IEBlog Hello again, this is Peter Gurevich, Performance PM (among other things) for IE7. We have heard a lot of requests to improve our Jscript engine, especially now that AJAX sites are becoming more prevalent on the web. I want you all to know that we have been listening and have recently made some great fixes to our engine to improve the garbage collection routine and to reduce unbounded memory growth. You should see noticeable improvements on AJAX sites in the Release Candidate we shipped last week. I want you also to know that performance of the object model and JavaScript engine will be an area that we focus on strongly in future releases. While investigating the performance issues on script heavy sites we noticed several design patterns that resulted in less than optimal script performance. To that end, this blog will be the first in a 3 part series focusing on developing performance optimized scripts for web pages, covering the following: Symbolic Look-up Recommendations Thanks,

30 Selected Admin Panel Template Collection In this article you will find an up-to-date collection of powerful admin panel template designs based on Twitter Bootstrap. So, if you are searching for a professional admin panel template for your next project, this is a good place to be looking. Bootstrap has become a quite popular collection of free HTML and CSS-based web development tools. It is responsive framework based on design templates for typography, forms, buttons, charts, navigation and more. The fully customizable admin templates available today has also become notably popular. You can look at it like this. Building an admin interface from scratch can be complicated and arduous work, plus you need to have a strong design stitched to it. Please tell us what you think! Advertisement Disclosure: Please note that some of the links below are affiliate links and I will earn a commission if you purchase through those links (at no extra cost to you). Admin Lab – Responsive Admin Dashboard Template – MORE INFO Author : Anders

The Future of JavaScript Engines: Replace Them With JavaScript Compilers | SHORE STREET SOFTWARE This is my professional position on the future of JavaScript engines. I focus on Mozilla's TraceMonkey, Safari's "Nitro" (a.k.a. SquirrelFish Extreme from WebKit), and Google's V8 engine. I explain why future JavaScript engines should not be interpreters at all. They should be JavaScript compilers. Understanding The Issues To run some JavaScript code, a JavaScript engine must execute these phases: Load the script - loadParse the code into its syntactic elements - parseTransform the script into an internal form - transformInterpret/Execute the internal form - execute The loading and the parsing can be parallelized by pipelining - by parsing the code as it loads, instead of waiting until a script is entirely loaded before parsing it. The next phase is the transformation to an internal form. At one end of the design spectrum, we have engines which spend a great deal of time on the transformation to an efficient internal form. Some Insight Corollary: JavaScript engines should be compilers.

Visual jQuery 1.2.6 Server-side JavaScript with Rhino Posted by Nick Johnson | Filed under coding, app-engine, cookbook, tech, java I've only made limited use of the Java runtime for App Engine so far: The two runtimes are largely equivalent in terms of features, and my personal preference is for Python. There are, however, a few really cool things that you can only do on the Java runtime. One of them is embedding an interpreter for a scripting language. Rhino is a JavaScript interpreter implemented in Java. Rhino also supports several rather cool additional features. You may still be wondering how useful server-side JavaScript can be in an App Engine app. Allow users to provide custom code to be executed when conditions are met in your app. That, of course, is just a few ideas - I'm sure you can think of others yourself. Implementation Using Rhino is surprisingly simple. This is all very straightforward. Next, you need to download Rhino. This snippet illustrates the basic steps of using Rhino. Sandboxing All isn't quite well yet, though.

10 types of people: jQuery code assist in Eclipse 3.7 This is something I have wanted for ages. jQuery code assist AKA code completion AKA autocomplete AKA intellisense, in my favourite IDE Eclipse. Install Aptana 3 plugin: go Help > Install New Software, and use this URL: jQuery bundle: make sure you are using the Aptana ("Web") perspective and go Commands > Bundle Development > Install Bundle > jQueryUse the Aptana JavaScript editor, rather than the default Eclipse / WTP one: go Window > Preferences > General > Editors > File Associations, and click *.js and then make the "JavaScript Source Editor" the default. And that should be it - open a JavaScript file, and type $("input").cli and then hit ALTERNATIVE You could also try jQueryWTP, or JSDT jQuery which is available in the Eclipse Marketplace, but I have no experience with these. Please add comments if you these plugins are actually any good.

Setting Up A Build Process For JavaScript & CSS Files Using Ant (Screencast) A well defined build process ensures that the output of your project is built in a consistent manner every time a new build is run. Today we’re going to take a look at how you can setup your own Ant-powered build process using for client-side files (such as JavaScript and CSS). You’ll learn how to automate the validation of your scripts using JSLint (or JSHint), concatenate your files using sets of specific rules and finally minify both sets of your output for production use. Tools Required The following are the tools you’ll need for today’s tutorial. The Screencast Details: 720p resolution, 21:27m duration. What If I Don’t Have Time To Watch? I understand that some of my readers don’t have as much time to watch complete screencasts as others do. Screencast Notes The purpose of this screencast is to introduce readers without a great deal of experience in setting up Ant builds with a primer in this area. References/Further Reading Conclusions And that’s it!.

Eugene's Blog - Improving performance of Dojo-based web applications Introduction Web 2.0 brought on us an onslaught of new server-side web frameworks, and made it OK to put some code on the client side as well. Yes, I am talking about Ajax. While elements of Ajax were available (and used) for a long time now, 2005 was the crucial year for this relatively old technology fueled by proliferation of modern browsers with proper support of JavaScript and HTML DOM, which, in turn, gave a rise to numerous Ajax toolkits. Design of a modern web application In order to improve the overall performance of a web application we have to reduce a load on our servers. Reducing CPU and I/O load is the key to improve the overall performance. Optimization on server side Roy Fielding introduced in his doctoral dissertation the concept of REST, and how to use it for performance optimizations. Just think about it: thousands of applications show in the top-right corner something like “Welcome, Eugene!” Thin server Obviously we have to take into account who our clients are. Notes:

Related: