HTML

RobbeR tech és magánblogja

kontakt:RobbeR at RobbeR pont hu

Egyéb publikálások: Elte-IK blogja
saját weboldal: RobbeR.hu

Webisztán

Nincs megjeleníthető elem

Címkék

Indafotós képek

Friss topikok

Linkblog

Böngészők és AJAX

2009.01.17. 15:19 RobbeR

Valaki a kedves Olvasók közül a böngészők közötti különbségekre volt kíváncsi, így hát írok pár szót erről a témáról. Jelenleg sok böngésző van forgalomban, itt van néhány a teljesség igénye nélkül: Mozilla Firefox(ezt teszi fel defaultban egy UNIX/LINUX oprendszer), Internet Explorer(ezt teszi fel defaultban egy Windows oprendszer), Opera, Safari, Google Chrome, Avant browser, Konqueror, Lynx, Maxthon, AOL Explorer, K-Meleon, Flock. Ezek közül az első öt a legelterjedtebb.

Mi a különbség közöttük?

A böngészőket durván 2 nagyobb részre lehet bontani: A külső (megjelenés, layout, design) rész, amit a felhasználó lát és használ, és az interpreter(fordító) rész. Az interpreter is több részre oszlik, van külön HTML, CSS fordító, illetve van JavaScript fordító, ezen felül pedig böngészőnként változó kiegészítők vannak, illetve ún. Extension-ök, amiket általában utólag telepít a juzer (ilyen pl. a Flash Player, Java Virtual Machine). Egy 1.0-ás juzer (fiatal/kezdő vagy buzi fiúk, valamint a lányok 99.9%-a) azt hinné, hogy a különbség a designban rejlik, de valójában a böngésző legfontosabb része a HTML és a JavaScript fordító.

Amikor letöltünk egy oldalt (ez lehet statikus HTML, vagy a szerveren dinamikusan -PHP-vel, ASP-vel- generált HTML kód), akkor az oldal forrása a böngésző fordítójába kerül, ami a leírónyelv(HTML, CSS) alapján kirajzolja a weboldalt. Tehát minden oldal a weben a HTML kódja alapján néz ki úgy, ahogy (ez az Oldal forrása menüben megtekinthető). A JavaScript arra jó, hogy kliens oldalon (a böngészőben, az Internetező felhasználó processzorát és memóriáját terhelve) tegyük dinamikussá a HTML tartalmat, viszont JavaScript-el alapesetben nem tudunk hozzáférni a szerveren található adatokhoz(adatbázis, fájlok), pedig sokszor szükségünk lehet rá a gyakorlatban (ennek a probémának az áthidalására használják az AJAX-ot, erről alább még írni fogok).

Mint említettem, a böngsző két részre oszlik: design és fordító. A fent található böngészőlistából az Internet Explorert emelném ki, mint az egyetlen olyat, amelynek egyik részt sem sikerült normálisan, használhatóan reprezentálnia. Bár a design és letisztultság javítására voltak próbálkozások az utóbbi 1-2 verzióban, de igazából az ötletek(tabok, billenytűparancsok) nagy részét a Firefox-ból lopta, valamint a JavaScript fordítójának is csupán csak annyi baja van, hogy a valid JavaScriptel még csak köszönőviszonyban sincs, egyébként semmi más.

A másik hiperszuper böngésző a Safari, ami szerint a <b> és a </b> az ördög játékszere, ugyanis az egyik BETA verziójában az általam és Athos által ismert HTML és CSS technológiákkal sem sikerült így megvastagítani egy fuckin' szöveget, de ettől függetlenül a design itt már sokkal letisztultabb, mint pl az IE esetében. Egyébként a "böngésző weboldala azért csak jelenjen már meg normilisan a böngészőben" típusú problémát a Safari fejlesztők igen elegánsan megoldották: A safari honlapját úgy "optimalizálták" a böngészőhöz, hogy egyetlen vastagított szöveget sem használtak az oldalukon. Grat! (Jah, nekem tudásanyag híján nincs hatalmamban saját böngészőt/interpretert programozni, ezért természetesen a kisebb-nagyobb hibáktól függetlenül még minden elismerésem a fejlesztőké).

A kliens oldali webprogramozás legnagyobb problémájára világít rá a fent leírt pár bekezdés: nehéz olyan kódot írni, ami minden böngészőben ugyanúgy jelenik meg/ugyanúgy működik, szinte lehetetlen. Erre találta ki a W3C a szabványokat, amelyeket az újabb böngészők már többé-kevésbé be is tartanak, megkönnyítve ezzel számtalan webprogramozó munkáját. Talán eljön az az idő, amikor egy kódot bőven elég egy böngésző alatt tesztelni.

Belegondolva, néha szükségünk lehet rá (a weboldal hatékonyságát és sebességét növelendő), hogy valamilyen felhasználói eseményre kérjünk le adatokat a szerverről (pl gombra kattintásra), az oldal újratöltése nélkül (újratöltésnél esetleg felesleges lekérdezéseket és egyéb műveleteket futtatnánk újra). Erre megoldás az AJAX technológia, amiről már írtam ebben a blogban.

Végezetül, írtam JavaScriptben egy AJAX-kérést lebonyolító osztályt, aki kezdőként foglalkozik webfejlesztéssel annak hasznos lehet, ha másra nem, tanulás céljából.

Letölthető innen: http://robberplayground.extra.hu/ajax.zip

5 komment

Címkék: böngészők tech ajax

A bejegyzés trackback címe:

https://robber.blog.hu/api/trackback/id/tr93883611

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Trenton 2009.01.20. 14:25:35

Nem lehetne inkább mégis a Lilláról olvasni? :P

Trenton 2009.01.20. 22:32:16

Tudom, hogy fenti bejegyzés a tech részt gazdagítja, ám a korábbi post tartalmazott egy felhívást Lilla szerénységének bronzba (gipszbe, hungarocellbe) öntésére...én szívesen vállalnám, ha a modell megtisztel jelenlétével valami kis édes ital társaságában, ahol ismertetem vele a művészi hitvallásom. Elérhetőségem forward-oljátok neki légyzi! Ja és mondjátok meg, hogy a "kapcsolatban" szó nem az, aminek látszik,pusztán biztonsági mechanizmus, mert túl sok székesfehérvári lány hiszi azt az iwiwről, hogy egy társkereső oldal...:D

czako 2009.01.21. 03:59:53

Az elerhetosegeidet, majd Robi, viszont en nem javaslom Lilla kozelebbi megismereset, nehogy veletlenul belefulladj dus kebleibe .....

Trenton 2009.01.21. 08:35:16

Én inkább az arcán lévő fémdarabtól félek, nehogy rezonáljon, miközben esetlegesen orális fixáció történik az elfogyasztott édes italok hatására....
süti beállítások módosítása