Client development

From Casastristes

Jump to: navigation, search

On client side we are going to develop a standards-compliant HTML website using a Content Management System as base system and an AJAX/Javascript library for UI development and server communication. As first step we have to decide which CMS and which Javascript libraries to use, additionally we should start to investigate Map development.


Contents

CMS

Instead of setting up our own system there could be advantages of using a CMS for our site. Rolling our own system could have fit our needs more exactly than a CMS does, on the other hand a CMS offers a lot of tasks like user management which we have to reprogram on our own. To decide what way to go we should have in mind the following requirements:

see:


AJAX/Javascript libraries

comparison matrix

Nowadays AJAX stands for a lot of different things, the following points are connected to AJAX, Web2.0 and Rich Internet Applications:

  • Asynchronous communication between browser and server: the libraries make the handling of the XMLHttpRequest easier.
  • DHTML effects: known since many years some DHTML technics are now subsumed in this category.
  • Widgets: also known since years. widgets like textfields showing suitable words getting shorter and shorter are quite popular.
  • Javascript/DOM utilities: making Javascript coding easy offering a lot of functionality like DOM and CSS manipulation.


script.aculo.us rico jQuery mootools dojo MochiKit
based on prototype prototype
license MIT Apache MIT MIT AFL AFL
AJAX yes yes yes yes yes yes
widgets yes yes yes
plugins yes no
DHTML effects yes yes yes yes yes yes
javascript/DOM utilities yes yes yes yes yes yes
data formats XML, JSON XML, JSON XML, JSON XML, JSON, others XML, JSON, others XML, JSON
projects used for del.icio.us, feedburner.com, rubyonrails.org digg.com, code.google.com joomla.org, ubuntu.com store.apple.com mochibot.com
pros famous for pros in interface development, good documentation on server side integration fully object oriented good API documentation
cons poor documentation, no Safari support API documentation is not complete


We haven’t included prototype because libraries based on it have more functionality to offer. We ether included Google Web Toolkit as a lot of documents speak about its slow learning curve.

see other comparisons:


decision finding

The main factors we have to keep in mind while making the choice are:

  • License: There is a lot of offer of AJAX libraries written in Javascript, which all come as open source to the browser so one additional criteria for our selection is that they are free software.
  • Compatibility: The generated code must be standards-compliant and common browsers as Firefox, IE, Safari, Opera and Konqueror.
  • Documentation: It shouldn’t take a long time to learn the toolkit itself. One of the important requirements of the project is rapid prototyping since the UI forms the core component of the project.
  • Stability & Support: It is important for the toolkit to be stable, and under active development; since the application may be used by hundreds of people.
  • Features: Of course, the stuff that the toolkit offers should match with what we require. It should offer AJAX functionality, widgets, DHTML effects and javascript/DOM utilities.


Extensions, widgets

JQUERY


Tutorials JQUERY


PROTOTYPE

  • Lightbox is a simple, unobtrusive script used to overlay images on the current page
  • Images caruosel component (prototype/script.aculo.us)

OTHERS THINGS:

  • Make Google Maps Easily (based in prototype): GPlotter (v0.90)

Other js libraries

- Google maps API: Google maps documentation

- swfobject: flash detection

Personal tools