JavaScript


Wednesday, June 11th, 2008

Frizone: JavaScript dev, test, and deployment environment

Category: JavaScript, Library

John Leach has created a very cool new open source project called Frizione (Italian for Clutch). Frizione is a “JavaScript development, testing and deployment environment. It comprises a library agnostic set of tools for any type of browser based JavaScript development, which coincidentally has Gears support.” You run Frizione as a Web server and it Read the rest…

Posted by Dion Almaer at 9:10 am
4 Comments

+++--
3.6 rating from 25 votes

Tuesday, June 10th, 2008

Mascara: Putting lipstick on JavaScript?

Category: JavaScript

Mascara is the latest in a “Write code in X and translate it to JavaScript” system to be launched. Mascara calls out systems like GWT, Script#, and HotRuby and says… Mascara has a different approach, because we actually like JavaScript. The core of JavaScript is well-designed, powerful and flexible, and in many ways a more Read the rest…

Posted by Dion Almaer at 4:25 pm
7 Comments

+++--
3.4 rating from 25 votes

Aptana Cloud: A sneak peak

Category: Aptana, Cloud, JavaScript

Dougal Matthews has been playing with Aptana Cloud in a beta form. He wrote up this piece that walks you through the functionality with screenshots: After creating a project it then is automatically available in the cloud options. When you click on the project under the cloud menu you are taken through a (very easy Read the rest…

Posted by Dion Almaer at 5:27 am
13 Comments

++++-
4.1 rating from 29 votes

Monday, June 9th, 2008

String Performance in IE: Array.join vs += continued

Category: IE, JavaScript, Performance

Tom Trenka has followed up his last post on String performance with a deep dive on IE that dispells the myth of Array.join. Tom goes through tons of tests across versions of IE and using varying sizes of data. In Conclusion First things first—with the performance improvements with IE7, we no longer need to consider Read the rest…

Posted by Dion Almaer at 8:37 am
9 Comments

+++--
3.5 rating from 21 votes

Johnson: Wrapping JavaScript in a loving Ruby embrace, and ARAX

Category: JavaScript, Ruby

John Resig pointed us to Johnson, a project that “wraps JavaScript in a loving Ruby embrace.” It seems to give you a JavaScript interpreter that you can pass a context into to. The simple examples are: < View plain text > ruby require "johnson"   Johnson.evaluate("4 + 4") # => 8 Johnson.evaluate("4 + foo", :foo Read the rest…

Posted by Dion Almaer at 6:05 am
5 Comments

+++--
3.6 rating from 22 votes

Friday, June 6th, 2008

An interview with 280 North on Objective-J and Cappuccino

Category: JavaScript, Library, Podcasts, Toolkit

As I say in this podcast interview, I got an early look at 280 Slides the application that launched yesterday to much acclaim. People are calling it “Keynote on the Web”, which the team finds very humbling, and hope that one day they have all of the great features (and more!). As you can hear Read the rest…

Posted by Dion Almaer at 3:41 pm
48 Comments

++++-
4.2 rating from 74 votes

A Technique For Lazy Script Loading

Category: JavaScript, Performance

Bob Matsuoka has written a guest article on the topic of lazy script loading. Thanks so much Bob! A recent article “Lazily load functionality via Unobtrusive Scripts” discussed how to lazily load Javascript script files by appending script elements to the HEAD tag. While this works as expected, I’ve found that for best results, you Read the rest…

Posted by Dion Almaer at 10:00 am
33 Comments

++++-
4.2 rating from 51 votes

Google Analytics after onLoad and document.write for XHTML

Category: JavaScript

I saw two articles that were both looking at similar issues. Firstly, Pete Higgins has looked at the fact that Google Analytics is normally loaded via serial script tags which cause the rest of the application to wait and created a simple wrapper that changes things. We have all seen the tell tale: “waiting for Read the rest…

Posted by Dion Almaer at 7:35 am
5 Comments

++++-
4.1 rating from 20 votes

Wednesday, June 4th, 2008

Nexaweb announces dojo.E markup and runtime

Category: Dojo, JavaScript, Library

Nexaweb has released a new product that build on Dojo, dojo.E: dojo.E provides developers with the ability to use an XML based markup language to add in their Ajax behaviors. Markup whether — XML, HTML or CSS — simplifies development by allow developers to convey in simple text format what they would otherwise need to Read the rest…

Posted by Dion Almaer at 8:36 am
17 Comments

+++--
3.3 rating from 51 votes

SquirrelFish: Technical excitement

Category: JavaScript, WebKit

Watching people discuss SquirrelFish has been a real pleasure. The WebKit team set the tone with their initial technical detail. Instead of a post saying “We have a fast JSVM now. woohoo!”, they told us why it is faster, and what they can work on from here. The community is continuing the conversation. David Mandelin Read the rest…

Posted by Dion Almaer at 7:27 am
5 Comments

++++-
4.3 rating from 26 votes

Tuesday, June 3rd, 2008

SquirrelFish: Details on the new

Category: JavaScript, Performance, WebKit

We posted about the new WebKit JavaScript engine SquirrelFish, and now we have an official announcement that goes into fantastic detail on the beast: What is SquirrelFish SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler Read the rest…

Posted by Dion Almaer at 9:21 am
7 Comments

++++-
4.3 rating from 36 votes

Friday, May 30th, 2008

Remove Nested Patterns with One Line of JavaScript

Category: JavaScript, Tip

Steven Levithan has been flagrant by creating a simple way to remove nested patterns with a while loop and a replace: < View plain text > javascript var str = "abc&lt;1&lt;2<>3>4>def";   while (str != (str = str.replace(/< [^<>]*>/g, "")));   // str -> "abcdef" Notice that the regex in this one-liner doesn’t try to Read the rest…

Posted by Dion Almaer at 8:36 am
8 Comments

++++-
4.2 rating from 27 votes

SocialHistory.js: More Spyjax

Category: JavaScript

Aza Raskin wrote about SocialHistory.js, a small library he wrote that detects which social networks that you use, and using that data to show the user only those sites as areas to work with. E.g. if you use Digg, show “digg this” etc. He uses the technique that Jeremiah Grossman and Robert Hansen came up Read the rest…

Posted by Dion Almaer at 6:16 am
2 Comments

+++--
3.9 rating from 16 votes

Wednesday, May 28th, 2008

SquirrelFish: WebKit has a new, fast, JavaScript engine

Category: JavaScript, Performance, WebKit

SquirrelFish seems to be the code name for a new JavaScript engine for WebKit. You can see performance benchmarks that show a significant increase across the board of tests. On average the tests show a 4 times improvement (compared to Safari 3.1), with spikes of 12.6x improvements on some access tests, and with the lowest Read the rest…

Posted by Dion Almaer at 7:14 am
10 Comments

++++-
4.6 rating from 26 votes

Tuesday, May 27th, 2008

Announcing AJAX Libraries API: Speed up your Ajax apps with Google’s infrastructure

Category: Ajax, Google, JavaScript, Library

I just got to announce the Google AJAX Libraries API which exists to make Ajax applications that use popular frameworks such as Prototype, Script.aculo.us, jQuery, Dojo, and MooTools faster and easier for developers. Whenever I wrote an application that uses one of these frameworks, I would picture a user accessing my application, having 33 copies Read the rest…

Posted by Dion Almaer at 9:42 am
80 Comments

++++-
4.6 rating from 201 votes

Monday, May 26th, 2008

Declarative Syntax for Widgets

Category: JavaScript, Library

Jeff Watkins is updating his MVC library, Coherent, and is wondering if he should add declarative syntax for child widgets. Currently, you have to write a lot of init() setup code, but instead he would like to do something like: < View plain text > javascript sample.MyWidget= Class.create(coherent.Widget, {       init: function()   Read the rest…

Posted by Dion Almaer at 9:36 am
5 Comments

+++--
3.2 rating from 12 votes