Sunday, December 30, 2007

Ajile 1.2.1 Released!

Download Ajile 1.2.1 here!

This release includes the following changes:
  • New: iCab 3.0.3+, OmniWeb 5.6+, Opera 5+, and SeaMonkey 1.0+ support.
  • New: Firebug, YUI, & Mochikit log level (info, warn, error) support.
  • New: SyntaxHighlighter JScript Brush with on-demand loading.
  • New: Ajile's re-initialization is now auto-detected and handled.
  • New: Ajile's version preserved even when removed from file name.
  • New: Global undefined for pre-JavaScript 1.3 browsers.
  • Improved: Fixed script double-loading bug seen in IE browsers.
  • Improved: Fixed log output corruption bug.
  • Improved: IE detection using JScript conditional compilation.
  • Improved: Ajile's runtime instance is now a light object literal.
  • Improved: Ajile's runtime source is now DOM invisible.
  • Improved: Faster & more efficient directive fail-safes.
  • Improved: More robust Import & Include listener notification.
  • Improved: More robust & efficient Ajile.ShowLog().
  • Improved: Performance boost via fail-fasts, variable caching, & less strings.
  • Improved: Updated Examples page content, layout & keyboard navigation.
See the About section at ajile.iskitz.com and play with the Demos for a better understanding of the improvements in this release.

Download Ajile 1.2.1 here!

Labels: , , , , , , ,

6 Comments:

At Friday, June 20, 2008 5:00:00 AM EDT , Anonymous Anonymous said...

Hi

I'm currently looking for "on-demand-js-loading" solution and comparing different libraries.

Your software seems rather over-engineered:
- 4 very similar directives
- 27kb in compressed state

compare with this:
http://extjs.com/forum/showthread.php?t=34808

this may be ugly, but it just work

Also consider to migrate to Ext

 
At Saturday, June 21, 2008 9:43:00 AM EDT , Blogger Michael (iSkitz) said...

Hi anonymous,
Thanks for the feedback. Ajile most-likely appears "over-engineered" because you misunderstand its goals :-)

Here are some things for you to ponder:

1. Dynamic: Ajile's primary goal is to support dynamic script dependencies in a browser-compatible fashion. Script dependencies are resolved via introspection rather than hard-coded paths as shown in solutions like the one you've linked to.

2. Compatible: Ajile is compatible with current and legacy versions of all major browsers (Firefox, IE, Opera, & Safari) reaching back as far as IE 4 and Opera 5! Ajile's also compatible with less popular but effective browsers like iCab, Camino, Netscape, OmniWeb, and Sunrise. Most "solutions", including the one you've linked, are usually only compatible with the latest browser platforms. Millions use the web, why should anyone have a lessened experience when I can provide consistent, reliable behavior irrespective of their chosen/forced platform. I believe in compatibility so Ajile also provides full API backwards-compatibility in every release.

3. Innovative: On-demand loading is only a part of what Ajile aims to achieve. It was a goal reached since its first release in 2003 as JSPackaging 1.0, 5 years ago this November! :-) Since 2005, Ajile has also made MVC client-side web development trivial by allowing complete separation between (X)HTML and JavaScript via introspective script loading; a concept unique to Ajile.

4. Flexible: Each of Ajile's directives serve a unique purpose and is kept separate to allow flexibility and ease-of-use. That said, it has and continues to be a goal to keep Ajile's API simple so future releases will combine some directives.

5. Efficient: Ajile's file size may seem large to you in the "look my library is only 2KB" frenzy that some web developers are currently caught up in, but remember that Ajile itself has no dependencies and is only 27KB before gzipping. Many image files are larger than that and offer substantially less functionality. That said, future releases will seek to be smaller by providing on-demand loading of Ajile's own internal functionality.

I'm glad you took the time to look at Ajile and comment, but it appears you didn't spend much time looking at its documented capabilities.

Feel free to take a deeper look at Ajile and send any constructive criticism my way. I'm always working to improve Ajile and user feedback is an important part of getting that right ;-)

Thanks,
Michael

 
At Monday, June 23, 2008 5:58:00 PM EDT , Anonymous SamuraiJack said...

Uh, such a long answer )


Well, I'll try to explain my point of view, also in "thesis" form.

1. AJAX programming is rather complex thing.

2. Take a look at this: (this was the reason I start to learn Ext)
http://extjs.com/deploy/dev/examples/samples.html

3. There is no reason to waste your time with AJAX, and to have a result, worse than in those samples.

4. Compatibility itself is not the goal, the goal is to maximize customers coverage, still delivering a high-quality content (like in samples) and still trying to minimize the complexity of the system.

5. http://www.w3schools.com/browsers/browsers_stats.asp
2008 IE7 IE6 IE5 Fx Moz S O
May 26.5% 27.3% 0.7% 39.8% 0.7% 2.4% 1.5%

6. There is no reason to support 100% of browsers, if supporting 93% can significantly decrease complexity of the system.

7. A good principle of developing software modules: "do one thing and do it good".

Actually, this is my point of view.. Your point is also correct, but is rather utopic - I cant imagine a developer, programming a brand-new, ajax-full-featured, web-2.0 site for Opera5.0 )
Join Ext community! )

P.S. I also developed my own loader, 2kb not compressed, ext base depended )

 
At Tuesday, June 24, 2008 2:22:00 AM EDT , Blogger ajile said...

Well hello there samuraijack, great to have a more meaningful name than anonymous :-)

On your comments:

#2. The link is broken, so I have no idea what you intended for me to see/appreciate/understand there...

#4. You presume our goals are the same, they're apparently not. Compatibility is a goal of mine. So was bringing namespacing and importing to JavaScript. Although satisfying, my goal isn't 100% functionality in all browsers, ever. However, as a developer I've found that understanding why my code doesn't work in some environments improves my understanding of both my code and the JavaScript language. I develop not just to satisfy customers, but to meet the goals I've set myself and to enhance my own understanding and skills.

#5. As a web developer you should already know that relying on browser stats is ill-advised since there is no guaranteed means to determine true worldwide browser usage.

#6. See #4

#7. Read or actually use Ajile and you'll see that it does precisely one thing (importing) very well. Do we need to revisit its name? Advanced JavaScript Importing & Loading Extension, what part of Ajile's operation doesn't fit within that description? The MVC support added is a natural progression of script loading. If I can automate a task reliably, I do. Auto-loading page scripts via the use of the MVC pattern is just that kind of automation and it's reliable.

That you can't imagine ... is good insight into how differently we view the world. Simply put, "If I can do it well for all or many, I will".

It's a free world jack, I saw a need, had an interest, took initiative and created something that people worldwide find quite useful. That you found another solution to fit your needs is great for you, but does nothing to diminish the value of Ajile, especially to those who find it fits their needs.

 
At Tuesday, June 24, 2008 10:18:00 AM EDT , Anonymous SamuraiJack said...

Yea, thats it, both viewpoints are correct.

Checkout that link again - it is working (i've tried just now, by copy-pasting from comment)

 
At Wednesday, July 22, 2009 6:27:00 PM EDT , Blogger daniel said...

the download link at sourceforge doesnt work D=, is any other place where i can get it?

regards,

 

Post a Comment

Links to this post:

Create a Link

<< Home