ugrás a tartalomhoz

Ajax library kiválasztása

Bitman · 2008. Jún. 17. (K), 01.07
Sziasztok!

PHP-ban most kezdem el fejleszteni a nemrég elindult webhosting cégünk honlapjára az online domain és tárhelyrendelő felületet.

Elképzelésem az lenne, hogy néhány lépésből áll az egész, a nyitóoldalon rögtön ott lesz egy rész, ahol ellenőrizni lehet a domain(ek) foglaltsági állapotát. Ez a rész tulajdonképpen egy input, ahova a kívánt domain neveket be tudja írni vesszővel elválasztva, pl "valami, akarmi, megamitakarok", és ki tudja választani checkboxok segítségével a kívánt végződéseket, melyek ellenőrzésre fognak kerülni, pl .hu, .com, .org, net, eu, stb.. Sajnos mint kiderült szinte minden ellenőrzés megvan egy fél pillanat alatt, csak persze a hu domaineknél gyakran másodperceket kell várni whois szervertől függetlenül (nem is értem, nálunk mi működik normálisan..?).

Itt szeretnék beiktatni egy csodás AJAX alkalmazást, mely az ellenőrzés (submit) gomb megnyomására aktiválódik, és egy ilyen preloader mozgóképet tesz a domain ellenőrzős rész fölé, egy kis szöveggel, hogy Kérem várjon, ellenőrzés folyamatban.. A phpnak nyílván a form mezőinek adatait kellene elküldeni, domain név, checkboxok állapota, és a captcha valamiféle azonosítóját + beírt értékét.

Feladata abban merülne ki, hogy addig várakoztatja a usert, amíg az ellenőrzések véget nem érnek, majd ha ez megtörtént, akkor átirányítana egy következő oldalra, ahol az eredményeket meg lehetne tekinteni. Illetve ha valami hiba történt (rossz domain név megadás, nincs kiválasztva TLD, vagy érvénytelen a captcha, akkor bejönne újra a főoldal a már beírt adatokkal. Ezeket a hibákat persze lekezelem ajax babrálások nélkül is, hiba esetén a várakozás gyakorlatilag 0 lenne, mert az ellenőrzések átugrásával visszajönne a főoldal a hiba feltüntetésével.

Szerintem ebben semmi bonyolult nincs, csak az értékeket kell elküldeni, és valamiféle visszatérési értékre várni 2 mp-es frissítési intervallummal, mondjuk truera..

A kérdésem az lenne, hogy mivel nem ismerem a különböző ajax librarykat, hogy melyik lenne az, amelyik javascriptben kevésbé jártasaknak is könnyedén megvalósíthatóvá teszi ezt a kis feladatot?

Nem kész megoldást kérek, csupán egy-egy ajax library ajánlását, amin szerintetek érdemes lenne elindulni egy kis tutorialozgatásra, meg kutatómunkára, hogy megszülethessen a megoldás.

Előre is köszönöm!

Üdv,
Bitman
 
1

pl. jQuery

zila · 2008. Jún. 17. (K), 07.57
csak persze a hu domaineknél gyakran másodperceket kell várni whois szervertől függetlenül (nem is értem, nálunk mi működik normálisan)
 time whois index.hu       
% Whois server 1.99C
...
real    0m0.859s
user    0m0.001s
sys     0m0.004s
A saját házatok táján kéne körülnézni... :)

A feladathoz bármelyik framework megfelelő, próbáld ki a jQuery-t talán azzal lesz a legrövidebb.

üdv,
Zila
6

most tényleg gyors

Bitman · 2008. Jún. 17. (K), 11.50
Helló!

1-2 hónappal ezelőtt próba szinten különböző whois szkripteket kipróbáltunk, és mindegyik lassú volt a .hu TLD-knél, megnéztük 1-2 konkurens hosting cég weblapján, és hát ott se volt gyorsabb..
Lehet, hogy akkor túl volt terhelve a whois.nic.hu szerver, vagy nem tudom, de most tényleg gyorsan működik, kritika visszavonva.. :)

Azért ezt az ajaxos várakozást beépítem, köszönöm mindenkinek a javaslatait, áttanulmányozom a lehetséges megvalósítások bonyolultságát, és kiválasztom valamelyiket.

Persze sok helyre be lehetne építeni különböző csilli-villi megoldást is, ami egy webhosting honlapon nem lenne hátrány az ügyfelek lenyűgözésére, de jelenleg a gyors és természetesen biztonságos fejlesztés az irányadó, és jelenleg nincs túl sok idő, de a jövőben célszerű lesz majd különböző fjícsörök beépítése az oldalba (ugyan ez utólag még több időt fog igényelni), de hát ez van...

Üdv:
Ákos
2

felesleges lenne a framework használata

w3net · 2008. Jún. 17. (K), 08.34
szerintem ilyen egyszerű feladatra felesleges egy több tíz kilobájtnyi JS függvénykönyvtárat használni.
Esetleg próbáld valamelyik JS könyvtárat leegyszerűsíteni (pl.: prototype
Használhatod az általam írt rövidke Ajax library-t:
ajax.js ( példák). Ehhez sajnos nincsen dokumentáció.
4

Talán

zila · 2008. Jún. 17. (K), 11.09
Ha az ember nem akar a különböző böngészők eltérő xhr kezelésével szarakodni, akkor simán megéri egy ilyen framework. Ezért ajánlottam a jQuery-t mert az kisebb (16 K) és tömörebben lehet benne megfogalmazni a dolgokat. Én egyébként történelmi okokból prototype-ot használok többnyire, mivel a fő projekt amin dolgozom azzal készült (amikor elkezdődött a fejlesztése még nem létezett jQuery :)
5

16KB egy ilyen egyszeru feladatra megoldhato akar 1KB al is

w3net · 2008. Jún. 17. (K), 11.28
Az Ajax library, amit en keszitettem, az cross browser megoldas, es letomoritve kb. 3KB. Butasag egy apro Ajaxos feladatra 16 KB-os library-t behuzni, ami valoszinuleg csak a fooldalon fog kelleni. A legelegansabb megoldas kezzel osszedobni a kodot, amire szukseg van. Mibol all osszemasolgatni innen-onann az XHR cross browser peldanyositasara szolgalo kodot, a tobbi meg mar megy W3C DOM manipulalassal is.
7

Mindenki másképp csinálja

zila · 2008. Jún. 17. (K), 11.54
Ha csak itt használod a keretrendszert, akkor talán tényleg túlzás. De egy tipikus oldal kismillió helyen használ javascriptet, egy framework ezekhez is tud pluszt nyújtani. A te megoldásod mennyire dokumentált? És mennyire dokumentált a jQuery vagy a Prototype? Ha probléma van vele, mekkora közösség áll mögötte aki segíteni tud megoldani? Szerintem gyorsabb a fejlesztés, ha a lényegre koncentrálsz és nem az alap xhr kommunikációt bötykölgeted. Ha bevezetsz egy keretrendszert a fejlesztési menetbe akkor azt hasznlálhatod olyan projektekben is ahol nem csak egy helyen kell valamire, és ha taskot kell váltani akkor kevesebb ismerkedési időt töltesz el olyanokkal, hogy "ja itt nem jQuery van", ha később hozzá kell tenni valamit amit nem tud a házi megoldás, akkor nem az van, hogy "ja emiatt most át kell írnom a másik doboz kódját is". Nekem ez a kerék újrafeltalálása.

Mindegy, mindeki másképp csinálja és ez így van jól.
8

16kb...

Drawain · 2008. Jún. 17. (K), 17.32
Mikor ma egy átlagos oldalon a képek, animációk és egyebek 10-20 szorosa a 16kb-nak, mikor a felhasználók 95% szélessávú netkapcsolattal és fejlett cache-t használó böngészővel rendelkezik, egyszerűen nincs értelme +13kb-on fennakadni. Még egy viszonylag nagy terhelésű portál esetén sem jelenthet ez a többlet észrevehető sebességkülönbséget.

Továbbá figyelembe kell venni, hogy a későbbi igényeket kielégítendő jó alapot jelenthet a JQuery használata - arról nem is beszélve, hogy egy egyszerű ajaxos lekérdezés is látványosabbá tehető egy olyan fejlett animációs függvénykönyvtárral, amely ugyancsak benne van az említett 16kb-ban.
3

prototype

rrd · 2008. Jún. 17. (K), 08.55
igen, erre mindegyik ad megoldást. Ezért mindenki azt fogja javasolni amivel dolgozik. Szóval prototype :)
Magyarul nálad az fog dönteni, hogy melyik leírását érted meg gyorsabban.