wiki:ajax/kirjastoja
Last modified 11 years ago Last modified on 2008-04-15 13:11:34

AJAX-kirjastot

Ajaxia vartenhan on jo olemassa vaikka mitä valmiita kirjastoja ja niistä on vertailuja ja ominaisuuslistauksia pitkin nettiä.

JavaScript-pohjaiset (näissä käyttöliittymälogiikka kirjoitetaan JavaScriptillä):

  • Prototype
    • + Nähtävästi kaikkein käytetyin Ajax-kirjasto.
    • + Uusin versio (1.6.0.2 tammikuulta 2008) yhtenä js-tiedostona (kokoa n. 125 kt, mutta sisältää myös kommentteja ja tyhjää, jonka voinee halutessaan poistaa.)
    • + MIT-lisenssi
    • + Nykyisen JS-koodin muuntaminen käyttämään Prototypeä onnistuisi luultavasti vähän kerrallaan, eli ei suurempia rajoituksia oman JS-koodin käyttöön Event-luokka nykyisessä koodissa jouduttaisiin tosin nimeämään uudelleen.
    • Tuetut selaimet FF >= 1.5, IE >= 6, Safari >= 2.0, Opera >= 9.25
    • - Valmiita käyttöliittymäkomponentteja ei näyttäisi olevan kirjastossa mukana.
  • MochiKit
  • Yahoo! User Interface Library (YUI)
  • DoJo
  • Script.aculo.us (Prototype pohjalla)
    • + MIT-lisenssi.
    • + Painottuu kohtuullisen pitkälti käyttöliittymien kehittämiseen.
    • + Apuvälineitä myös yksikkötestaukseen, käytettävissä myös oman JS-koodin testaamiseen.
    • + Samoin kuin Prototype, melko hyvin yhteensopiva nykyisen JS-koodin kanssa.
    • Koostuu (alle kymmenestä) erillisestä tiedostosta, yhteiskoko (Prototype mukaan lukien) konfiguraatiosta riippuen n. 230 kt. Tietysti nämä tiedostot voi itse yhdistää jos halutaan.
  • Ext JS
    • + Erittäin kattava käyttöliittymäkomponenttien kirjasto.
    • + Liitettävissä sivulle yhtenä js-tiedostona.
    • Yhteiskäyttö vanhan koodin kanssa epäselvä asia. Omaa staattista html-koodia voi ilmeisesti sivuilla käyttää, mutta pitääkö JS-käyttöliittymäkoodi kirjoittaa kokonaan uusiksi tätä varten?
    • Tuetut selaimet FF >= 1.5, IE >= 6, Safari >= 3, Opera >= 9. Firefoxin ja Operan kohdalla lisämaininta (PC, Mac). Tarkoittaako, että Linux-versioita ei tueta?
    • - Koon puolesta optimoitukin versio on noin 500 kilotavun suuruinen.
    • - Lisenssi LPGL 3.0 + jotain outoja rajoituksia, jotka saattavat tuottaa ongelmia.
  • jQuery
    • + "Pakattuna" tiedostokoko n. 30 kt, selväkielisenäkin vain n. 100 kt.
    • + MIT-lisenssi (GPL myös)
    • + Toimii yhdessä myös Prototypen kanssa
    • Käyttöliittymäpainotteinen
    • Kohtuullinen selaintuki, Firefoxin osalta tosin heikompi kuin nykyisellä ratkaisulla: FF >= 2, IE >= 6, Safari >= 2.0, Opera >= 9.0.
    • - Hyödyllisimmät käyttöliittymäkomponentit ("jQuery UI") nähtävästi vielä betatestausvaiheessa.

Yhteistä tutkituille JavaScript-kirjastoille:

  • - Ei JSDoc-kommentteja, joten koodausavut Eclipsessä tuskin toimivat.

Java-pohjaiset (käyttöliittymälogiikka kirjoitetaan Javalla, JavaScript-koodi generoidaan automaattisesti):

Kirjastojen tiedostokokoa voi verrata esimerkiksi Korpin kirjautumissivuun, jossa ladataan

  • html-koodia n. 12 kt
  • css-koodia n. 45 kt
  • js-koodia n. 40 kt
  • kuvia n. 20 kt
  • YHTEENSÄ n. 117 kt

Vuonna 2005 tehty listaus kirjastoista

Wikipedian "List of Ajax frameworks"

Vertailu muutamasta suositusta kirjastosta

Yahoo! does Ajax

Ajaxian-sivuston joulukuussa 2007 tekemään kyselyn perusteella seuraavilla kirjastoilla on yli 10 prosentin "markkinaosuus":

  • Prototype (34,1 %)
  • jQuery (29,3 %)
  • Ext JS (22,5 %)
  • Script.aculo.us (22,3 %)
  • Mootools (14,3 %)
  • Koodataan kaikki itse (13,0 %)
  • Yahoo! User Interface Library (13,0 %)
  • JSON (12,9 %)
  • Dojo (11,8 %)

Myös GWT oli mukana tuossa tutkimuksessa, mutta sitä käytti vain 3,4 % vastanneista.