Thursday, December 07, 2006

 

Meta

I'll be away for a month. If anything needs to be done to this blog, about half of the contributors have Admin privileges.

Thanks to all who have contributed and helped to make TeamEiffel a useful news and discussion resource for the Eiffel community.

Have a great festive season, and may all your assertions remain True.

Regards,
Roger Browne

Tuesday, December 05, 2006

 

What AJAX framework should I use

The most often asked AJAX question seems to be: What AJAX framework should I use. Let me give a few principles that will help to narrow down the selection from the current 300 or so into some that will be applicable:

  1. Does the website target visitors that only use the site occassionally? Or is it more like an intranet site where people use it for a long time?

    In the first case choose a light framework with downloads less than 200KB. With compression and gzipping that might get you down into the safe 50-100KB range. For sites where people stay long the initial download might be annoying but after that the cache should hopefully work (if you're stuck with IE 6 clients, no the cache won't work) so larger downloads are acceptable.

    Frameworks that have the option to load code piecemeal might be acceptable in the first case, but if the first page is fairly slow and the second is fairly slow, don't expect people to stay longer.

  2. Is AJAX used to enhance an existing site or is it one that is built from scratch?

    In the first case use a light framework, such as prototype.js. If it is for a new site you can even choose a tool that requires Java all the way. Even a tool that claims you don't have to know JavaScript (snicker).

  3. Do you have an existing backend or preference for a certain language/approach at the backend?

    Some tools such as GWT are integrated tools and requires a commitment to the back-end as well. Other tools such as Tibco GI are independent of the back-end. Other tools like prototype.js are backend independent but are designed to work particularly well with Ruby (on Rails).

  4. Will the site require many specific widgets? Examples are tabs, grids, date controls, type-ahead and such?

    If many widgets are required, it would be better to choose a framework that already has the widgets. Writing them from scratch takes time. Combining widgets from different frameworks is hard as drag/drop, color selection, and styling are not portable.



This should narrow down potential candidates. After that come more minor questions as can CSS be used to style widgets? How difficult is the HTML that must be generated in order for the widget to work? Or is the widget smart enough to insert the padding HTML itself?

Saturday, December 02, 2006

 

Eweasel regression testing tool for ISE Eiffel


Emmanuel Stapf has announced the open-sourcing of the Eweasel regression testing tool for the ISE Eiffel compiler. It is now hosted at Origo together with EiffelStudio. Emmanuel writes:
We have been using eweasel for quite some time now and the rule at Eiffel Software is that when you change something in the compiler, you have to run all the tests to ensure that no regression occurs.
Any one who wants to modify the compiler, can now run the tests to ensure he is not breaking anything else.
The tests are evolving and we are adding a test each time we found a compiler bug. So if you find one, it would speed up its resolution by providing the corresponding eweasel test as part of the bug report.
The history of the tool is told at the Eweasel wiki page:
EiffelWeasel, also known as eweasel, is a tool originally written by David Hollenberg from MOSIS (a division of the University of Southern California's Information Sciences Institute) in the early 1990's when the first Eiffel 3 compiler was released.
The tool's goal was to ensure conformance of the ISE Eiffel compiler to the recently published specification and to detect any unforeseen regression from version to version. In 2006, USC agreed to open-source EiffelWeasel and it is now hosted as part of the EiffelStudio project repository.

Labels:


This page is powered by Blogger. Isn't yours?