BÖNGÉSZŐK HÁBORÚJA (BROWSEREK ÉS WEBMESTEREK)

Ercsényi András, eax@netware.hungaria.iif.hu
Kopányi Vilmos, vili@netware.hungaria.iif.hu
Hungária Számítástechnikai Kft.

Abstract

The two most popular web browsers on the market today are Netscape Navigator and Microsoft Internet Explorer (MSIE). Although both products serve the same needs and have basicaly the same functionality, major incompatibilities still exist between them. In this paper a comprehensive comparison of Netscape Navigator and MSIE is given, with a special emphasis on webmaster-related issues such as platform support, HTML coding, scripting support, extensibility. A glimpse of the future is also given with a short review of the preview releases of Netscape Communicator (containing Navigator 4.0) and Internet Explorer 4.0.

I. Bevezetés

Az elmúlt másfél év ritkán tapasztalható versengést hozott a web böngészők piacán. A két nagy rivális cég, a Netscape és a Microsoft szinte fej fej mellett haladva jelentette meg böngészőik újabb és újabb verzióját. Bár az Inernet felhasználó minden bizonnyal örül a kialakult helyzetnek, a web oldalak készítői és karbantartói - a webmesterek - valószinüleg más véleményen vannak. A nagy versenyfutásnak ugyanis az az ára, hogy egyre nehezebb olyan oldalakat létrehozni, melyek böngésző-függetlenek és ugyanakkor követik a web fejlődését is.

Előadásunkban a Netscape Navigator 3.0-át (a továbbiakban Netscape) és a Microsoft Internet Explorer 3.0-át (a továbbiakban MSIE) hasonlítjuk össze a következő kategóriák szerint: platformtámogatás, külső megjelenés (felhasználói interface) és használat, HTML támogatás, web-programozás, kiterjeszthetőség, a jövő.

II. A Böngészők összehasonlítása

Az összehasonlítás elött meg kell jegyezni, hogy a Netscape egy sokplatformos megoldás, mivel Windows-on, Macintosh-on, különböző Unix rendszereken egyaránt működik. Az külön kiemelenedő, hogy a sok platformon azonos megjelenési formában - és 90%-ban teljesen azonos jelleggel működik. Ezzel szemben a MSIE alapvetően Windows-on (Windows 3.1x, Windows 95, Windows NT) és Macintosh-on működik. Lázasan dolgoznak azonban a MSIE Unix-os verzióján is, ami az év végére várhatóan megjelenik. A továbbiakban az összehasonlítás érdekében a Windows95/NT/3.1x verziókkal foglalkozunk.

I.A Külső megjelenés (felhasználói interface) és használat

Összehasonlítva a két rendszert, az MSIE fontos jellemzője a felhasználói interface kismértékű rekonfigurálhatósága. Csak egy egérmozgatás, és máris újjáépítettük a felhasználói felületet, pontosabban annak egy részét; a 2. vezérlőikon tartományt. Érdekes, bár zavaró is lehet az a megoldás, hogy az aktuális vezérlőgomb csak akkor válik szinessé, ha a kurzor főléje kerül. Ez mindenesetre nem a szokásos MS-Windows megoldás! A felhasználó szempontjából nem mindig előnyös, hogy az alsó állapotsorban nem látszik az, hogy az éppen átvitel alatt álló dokumnetum hány százaléka jött már át.

A Netscape-nél az átkonfigurálhatóság szinte minimális; az egyes vezérlősorokat lehet csak eltümtetni vagy megjeleníteni. Az interface-en - a MSIE-hez képest - igen sok menüelem van. Ez bizonyos esetben zavaró is lehet Érdekes megoldás a nagyméretű vezérlőgombok használata.

Nagyon előnyös az, hogy a Netscape bögésző levelezési ill. hirolvasó szolgálata is ugyanolyan formában hívható elő, mint maga a nézegető. A Netscape levelezés három-ablakos megoldása igen kellemesen használható. Ugyanakkor feltétlenül a Netscape javára szól, hogy a levelezés html-oldalak átvitelét is szépen megvalósítja és így a beérkezett levélben a referenciára azonnal rá lehet kattintani és máris a hivatkozott címre kerülünk.

A MSIE levelezése a Windows jól működő levelezése. Ennek a módszernek az a nagy előnye, hogy a levélben elküldött, a levélhez kapcsolt file-ok azonnal megjeleníthetők, köszönhetően a Windows általános megjelenítési lehetőségeinek.

A csoportmunkát segítendő a Netscape-hez tartozik a CoolTalk nevű IRC-kiegészítés. Ez a MSIE-nél a NetMeeting. A Windows-beli NetMeeting nem kifejezetten a web számára készült, mivel az egy általánosabb ún. whiteboard-architektura (azaz közösen írható-olvasható információs rendszer) részeleme.

I.B HTML támogatás

Mindkét böngésző tökéletesen megvalósítja a HTML 2.0-t, sőt a HTML 3.0 nagy részét is. A probléma csak az, hogy a két böngésző nem teljesen azonos elemkészletet értelmez. Ehhez tudni kell azt, hogy a 3.0-ás HTML verzióban van egy igen nagy újítás, a stilus leíró. A stilus leíró, vagy style-sheet a HTML ősének tekinthető SGML alapvető eleme. A hozzáértők már két éve megjósolták, hogy a nagy-hirtelen kidolgozott HTML 1.0 túlzott egyszerűsítést jelentő definiciója után hamarosan visszahozzák majd az SGML-eredetű megjelenítési stilus leírását. Ez a pillanat most érkezett el. (Kis rosszindulattal azt is lehet mondani, hogy a "elöbb gondolkozni, aztán cselekedni" alapigazsága az Internet rendszereknél mindennél jobban érvényes!)

Mind a Netscape-ben mind a MSIE-ben vannak még saját továbbfejlesztések is, melyeket a W3 konzorcium nem fogadott el hivatalosnak. Így természtesen ezen elemek alkalmazása a web lapok készítésében nem ajánlható, csak abban a speciális esetben, ha a web oldalakat kizárólag egyfajta böngészővel nézik.

Persze, még olyan esetek is van, amikor ugyanazon elemek értelmezése a két böngészőben nem teljesen azonos. Így ha egy sokoszlopos táblázat teljes méretét, továbbá egy kivételével az összes oszlop méretét definiáljuk, akkor a Netscape a várakozásnak megfelelően rajzolja fel a táblázatot. (A nem definiált oszlop méretét a rendelkezésre álló adatokból számítja ki.) A MSIE-nél ugyanakkor minden oszlopméretet definiálni kell ahhoz, hogy az óhajtott megjelenést elérhessük.

A következő lista azokat az elemeket sorolja fel, amelyeket a MSIE elfogad, a Netscape azonban nem. Látszik, hogy a MSIE képes a stilus leíró értelmezésére - ezt teszi a <style> és a <span> -, hasznos elem a <BODY BACKGROUND="../../img/hatter4.jpg">-ban alkalmazható margóbeállítás. Ugyanígy a frame-ek beállítására is több lehetőséget ad a MSIE. A <marquee> segítségével vízszintesen mozgó szövegeket lehet készíteni. Hasznos továbbá a táblázat elemek keretezése és szinezése is.

<bgsound ... loop= >
<basefont ...color= face= >
<BODY BACKGROUND="../../img/hatter4.jpg" ... leftmargin= topmargin= >
<col ...>
<colgroup ...>
<frame ...framespacing= width= height= hspace= vspace= >
<iframe>
<marquee ....>
<span>
<style>
<table ...bordercolor= background= frame= rules= >
<td ...bordercolor= background= >
<th ...bordercolor= background= >
<tr ...bordercolor= >

Ugyanakkor a Netscape-nél az alábbi speciális elemeket lehet használni, ám ezeket a MSIE nem tudja értelmezni. A felsoltak között a <multicol> a több oszlopos megjelenítést biztosítja. A <spacer> nevéből következően szóköz beiktatását teszi lehetősvé. Jól alkalmazhatóak a frame-ek keretezési paraméterei.

<embed ...>
<frame ... border= bordercolor= >
<hr ...color= >
<multicol ...>
<sound ...>
<spacer ...>

Jelenleg már a HTML 3.2 nyelvet is kidolgozták, jóllehet még nem fogadták el. Kiváncsian várjuk, hogy a verziószámok növekedésével vajon csökken vagy nő a különbség a értelmezett elemek száma között. Az eltérések már most is igen sok kellemetlenséget okoznak mindenkinek, hiszen az egyedileg megvalósított elemek alkalmazását kerülni kell, jóllehet azokat a fejlesztő cégek szakemberei vélhetően éppen azért vezették be, mert célszerűen használhatóak.

I.C JavaScript, JScript, VBSript

Eredetileg a Netscape vezette be a JavaScriptet, de ma már mindkét böngésző támogatja a JavaScript-interpretert, bár vannak a két implementáció között különbségek. A különbségek onnan származnak, hogy a MSIE egy nem teljes modellt valósít meg (ezt JScript-nek hívják). A nem teljes modellezés oka az, hogy a JavaScript leírást a Netscape a mai napig nem tette publikussá.

A MSIE-böngészőkben a JavaScript helyett ezért JScript szerepel. A Jscipt és a JavaScript 1.0 ill. 1.1 verziói között rengeteg különbség van, amelyek nem nagy különbségek ugyan, de rendkivül sok fejtörést okoznak ahhoz, hogy olyan kódot írjunk, amely a MSIE-n és a Netscape-en egyaránt jól fut. A probléma alapjában ott van, hogy amikor beírjuk azt, hogy <SCRIPT LANGUAGE="JavaScript">, akkor a MSIE-n valójában a JScript interpreter kezd el működni, azaz a két nyelv nincs megkülönböztetve.

Álljon itt néhány eltérés a sok tíz közül

A JScript mellett az MS bevezette a VBScript-et, mint egy új script nyelvezetet. Ez VB alapú rendszer, az MS sikeres fejlesztése, ami nemcsak a böngészők, de a másik nagyon elterjedt - és sok szempontból a web-bel konkuráló - rendszer, a Lotus-Notes egyik programozási nyelvezete is. Ezt a Netscape nem támogatja. Az alábbi példa egy VBScript-es megoldást mutat

<HTML>
<HEAD><TITLE>Dynamic Greeting Sample</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!-- OPTION EXPLICIT
If Hour(time) < 6 then
document.write "<b>Good grief!</b>"
Else if Hour(time) < 12 then
document.write "<b>Good morning!</b>"
Else if Hour(time) < 17 then
document.write "<b>Good afternoon!</b>"
Else document.write "<b>Good evening!</b>"
End If
-->
</SCRIPT>
</HEAD>
<BODY BACKGROUND="../../img/hatter4.jpg">
<p>This is a sample document</p>
</BODY BACKGROUND="../../img/hatter4.jpg">
</HTML>

Túlságosan nagy különbség itt nem látszik. A következő URL egy olyan helyre mutat, ahol a jólismert kalkulátor VBScript-ben van megírva:

http://199.18.186.194/demo/calc.htm. Ugyanezen kalkulátor program JScript-es változatának címe: http://www.kudonet.com/~markst/JScript/jcalc.htm

I.E Java, ActiveX

Ma vitathatatlanul a Java-progamkák (Kiss I. után szabadon használva az elnevezést) jelentik a HTML nyelv egyik legfontosabb kiterjesztését. Szerencsére a Java nyelv olyan, hogy leírását a Sun-tól meg lehet vásárolni, így a pontos implementációnak nincs elvi akadálya. Ezért itt a különbség legfeljebb az, hogy milyen gyorsak az interpreterek. A mérések tanusága szerint, a benchmarkok alapján általában MSIE-interpreterek valamivel gyorsabbak (10-15%-kal).

A MSIE a Java támogatás mellett, annak kiegészítéseként kidolgozta az ActiveX vezérlési rendszert is, mely nem más, mint a nagysikerű OLE technológia Internetes továbbfejlesztése Az ActiveX architekturát a Windows-os Netscape számára is kidolgozták, ez a szabadon terjeszthető NCompass, amelyet plug-in technikával lehet a Netscape mellé integrálni és ezáltal szintén megvalósul a kiterjeszthetőség.

I.F Kiterjeszthetőség

A kiterjeszthetőséget egyébként igen gyakran nem a fenti módon szokták értelmezni, hanem úgy, hogy hogyan biztosítja a multimédiás lehetőségek építőkockaszerű hozzákapcsolását a böngészők alaprendszeréhez. Erre a célra a Netscape alkalmazta először a plug-in technikát; így lehet becsatolni például a QuickTime, RealAudio, Live3D és a többi rendszereket.

A plug-in technika "megfelelője" a MSIE-nél az ActiveX architektura.. Itt azonban nem a böngészőhöz kell hozzácsatolni az elemeket, hanem a Windows rendszerbe kell azokat beintegrálni. Az ActiveX elemek hasonlóan tölthetőek le, mint a plug-in-ek a Netscape-nél. A nagy különbség azonban az, hogy a Netscape esetén a böngészőt le kell állítani, majd beinstallálva a plug-in-t, azt újra kell indítani. A MSIE-nél ilyen nem kell amiatt, hogy az ActiveX "plug-in" a Windows keretrendszerbe kapcsolódik közvetlenül és onnan hívja be azt a MSIE. Érdekes, hogy bizonyos Netscape plug-in-ek a MSIE-hez is kapcsolhatók, kivéve, ha azok LiveConnect plug-in-ek.

A különféle multimédiás lehetőségek támogatása szempontjából mindkét rendszer sokfajta lehetőséget biztosít az AVI mozitól kezdve az MPEG video formán át a VRML-ig. Itt lényeges különbséget nem lehet felfedezni, talán a sebesség kérdése a fontos.

II. A jövő

II.A Netscape Communicator

Bár a Netscape Communicator hivatalosan még nem jelent meg, előzetes kibocsátása (preview release), ami nem más mint a béta verzió, bemutatta milyen irányba szeretné a Netscape a webet fejleszteni: a web böngésző testesíti majd meg azt az ablakot melyen keresztül minden információhoz hozzá lehet férni, a vállalatok belső kommunikációjától egészen a publikus web oldalakig. Ennek megfelelően a Communicator a Navigator 4.0 köré épülő alkalmazáscsomag mely egy alapszintű HTML szerkesztőből (Composer), a csevegési szolgáltatást, internet-telefont és fehértáblát tartalmazó Conference-ből, a csoportmunkát támogató Collabra-ból, az elektronikus postai szolgáltatást nyújtó Messenger-ből és természetesen a Navigator-ból áll. Ami a Navigator 4.0 -t illeti, számos újdonság található benne: támogatja a Microsoft által kidolgozott és a World Wide Web Consortium (W3C) által elfogadott style sheet (stíluslapok) specifikációt (pontosabban Cascading Style Sheets , level 1 - gördülő stíluslapok 1. szintje). Továbbfejlesztették a JavaScript-et az 1.2 verzióra (a 3.0 Navigator a JavaScript 1.1 verzióját ismerte), bevezetésre került néhány saját szabványú HTML címke, melyek közül legérdekesebb a <LAYER>, mely dinamikus HTML oldalak készítését teszi lehetővé.

A <LAYER> címke használatára számos példa található a következő címen: http://www.daily.umn.edu/~rebholz/N4/.

Sajnos a W3C nem fogadta el szabványként ezt a címkét, így nem valószínű, hogy az Internet Explorer is támogatni fogja a jövőben. Mint a késöbbiek során látni fogjuk, a Microsoft is kifejlesztett egy módszert a dinamikus HTML támogatására, az úgynevezett stíluslapok továbbfejlesztésével.A W3C ezt a megoldást találta támogatásra méltóbbnak, tehát a Navigator 4.0 verziójának is tudnia kell majd.

II.B Internet Explorer 4.0

Az Internet Explorer 4.0 első béta verziója alapján világos, hogy a Microsoft a Netscape-hez hasonlóan képzeli el a web, illetve a böngészők jövőjét (most már jelenét!): dinamikus HTML, jelentősen feljavított E-mail- és news kliensek, a web és a saját munkaasztal szoros összekapcsolása. Felhasználói szemmel nézve a legérdekesebb újításnak mindenféleképpen ez utóbbi tűnik, hiszen már magában hordozza a Microsoft új web alapú felhasználói felületének (windows 97) a csíráját, melyben az Internet Explorer a Windows Explorer (intéző) kiterjesztése, a kettő között tulajdonképpen nem lesz különbség. Említést érdemel ezenkívül az ún. push technológia melynek felhasználásával egyrészt személyre szabott információk tölthetők majd le a web szerverekről (ennek alapján inkább pull technológiának kellene hívni az eljárást, mivel nem a szerver "tolja" (push) az adatokat a klienshez, hanem a kliens "húzza" (pull) magához a szerverről ...), másrészt automatikusan ellenőrizhető, mikor újítottak fel bizonyos, a felhasználó által kijelölt web lapokat, melyek azután a cache-be kerülnek, gyorsabbá téve a böngészést.

A Netscape Communicator-hoz hasonlóan az Explorer 4.0 is támogatja a dinamikus HTML -t, de teljesen eltérő formában. Míg a Netscape a layer (réteg) címke bevezetésével és a JavaScript bővítésével teszi lehetővé a dinamikus HTML oldalak készítését (lásd ...), az Explorer a 3.0-ás verzióban bevezetett style sheet (stíluslap) specifikáció továbbfejlesztésével oldotta meg ugyanezt a feladatot. A stíluslapok segítségével szétválasztható a HTML lapok tartalma annak formázásától. Az eljárás hasonló ahhoz, mint amikor egy szövegszerkesztővel dolgozunk: a feladat elején megadunk egy vagy több stílusfajtát melyeket bizonyos szövegrészekre alkalmazunk. Vegyük példának okáért a következő HTML lapot:

<HTML>
<HEAD>
<TITLE>Microsoft Internet Explorer</TITLE>
</HEAD>
<BODY BACKGROUND="../../img/hatter4.jpg">
<P>A Microsoft Internet Explorer 4.0 -ás verziója jelenleg a következő platformokra készült el :
<UL>
<LI>Windows 3.x
<LI>Windows 95/NT
</UL>
<P>További információkért látogasson el a <A HREF="http://www.microsoft.com/">Microsoftweb oldalaira</A>
</BODY BACKGROUND="../../img/hatter4.jpg">
</HTML>

Böngészővel megnézve, a fenti HTML lap igencsak szürke és egyhangú. Használjunk most stíluslapot és az eredményt nézzük meg az Internet Explorer 3.0 -val:

<HTML>
<HEAD>
<TITLE> Microsoft Internet Explorer </TITLE>
<STYLE>
BODY BACKGROUND="../../img/hatter4.jpg" { background : #006000}
P.main { font-family : Arial;
font-size : 12pt;
color : white}
P.info { font-family : Arial;
font-style : italic;
color : #80C000}
P SPAN { font-style : italic;
font-size : 14pt}
A { color : #C0C8FF;
font-weight : bold}
.text { color: red;
margin-left: 10px;
font-size: 28px;
font-family: Arial Black }
.highlight { margin-top: -38px;
margin-left: 8px;
color: darkred;
font-size: 28px;
font-family: Arial Black }
</STYLE>
</HEAD>
<BODY BACKGROUND="../../img/hatter4.jpg">
<P CLASS="main"><DIV CLASS="text" STYLE="{color : white; font-style : italic}"> A Microsoft Internet Explorer 4.0 -ás verziója </DIV>
<DIV CLASS="highlight" STYLE="{color : gray; font-style : italic}">4.0 -ás verziója </DIV>
<P CLASS="main"> jelenleg a következő platformokra készült el :
<UL>
<LI><DIV CLASS="text">Windows 3.x</DIV>
<DIV CLASS="highlight">Windows 3.x</DIV>
<LI><DIV CLASS="text" STYLE="{color : blue"}>Windows 95/NT</DIV>
<DIV CLASS="highlight" STYLE="{color : darkblue"}>Windows 95/NT</DIV>
</UL>
<P CLASS="info"> További információkért látogasson el a <A HREF="http://www.microsoft.com/"><SPAN>Microsoft web oldalaira</SPAN></A>
</BODY BACKGROUND="../../img/hatter4.jpg">
</HTML>

A változás magáért beszél. Fontos hangsúlyozni, hogy ezt a HTML lapot fel lehetne építeni egyszerű címkékkel (<FONT>, <BGCOLOR>, stb) is, viszont gondoljunk bele, mekkora munkát jelentene ha több, a fentihez hasonló kinézetű HTML lapot kellene szerkesztenünk stíluslap nélkül.

A stíluslap specifikáció továbbfejlesztésével a HTML lap különböző elemeit pontosan pozicionálni lehet, akár egymás alá is (rétegezés), a böngészőablak koordinátarendszerében. Ezáltal elérhető, hogy a HTML lapunk egyformán nézzen ki bármekkora ablakban. A HTML elemek koordinátáinak és rétegezettségének változtatásával (JScript, VBScript, ActiveX) ugyanazokat a vizuális effektusokat érhetjük el mint a Netscape <layer> címkéjével. A Microsoft természetesen a W3C elé terjesztette ezt a technikát, s ez utóbbi el is fogadta szabványként. Ez azt jelenti, hogy szemben a Netscape <LAYER> címkéjével, melyet kízárólag a Navigátor tud majd értelmezni, a stíluslap specifikáció dinamikus HTML -es továbbfejlesztését mindkét böngésző felismeri majd, és sokkal szélesebb körben fogják alkalmazni mint az egyébként egyszerűbb <LAYER> címkét.

Az MSIE 3.0 -ás verziójának talán egyetlen gyengéje a Microsoft JScript és a JavaScript 1.1 nem teljes kompatibilitása volt. Nos, az MSIE 4.0 -ás verziójában a JScript már teljesen kompatibilis a Netscape JavaScript-jével. A rossz hír azonban az, hogy közben a Netscape áttért a JavaScript 1.2 -re. Úgy néz ki tehát, hogy továbbra is lesznek gondjaik a JavaScript -et alkalmazó webmestereknek.

III. Összefoglalás, értékelés

Előadásunkban napjaink két legnépszerűbb böngészőjét, a Netscape Navigator-t (Netscape) és a Microsoft Internet Explorer-t (MSIE) hasonlítottuk össze a felhasználói felület, HTML értelmezés, web programozás, kiterjeszthetőség szempontjából. Tapasztalataink a következőek:

Mindkét böngésző tökéletesen támogatja a HTML 3.2 specifikációt és ezáltal alapjában véve a web oldalak többsége hasonlóan jelenik meg mind a Netscape-ben mind a MSIE-ben.

A Netscape JavaScript 1.1 és a Microsoft JScript nem teljesen kompatibilisek egymással. Az eltérések nem túl jelentősek, általában írhatunk olyan kódot mely mindkét böngészőben ugyanúgy viselkedik. A Microsoft Vbscriptje ugyanazokat a funkciókat képes ellátni mint a JavaScript, hátránya, hogy a Netscape nem támogatja. Ha tudjuk, hogy web oldalainkat csak Netscape-pel (MSIE -rel) nézik, akkor használjunk JavaScript-et (Vbscript-et).

A Java programkákat mindkét böngésző tökéletesen támogatja. A MSIE -ben valamivel gyorsabban futnak. Külön kiemelendő, hogy az MSIE windows3.x-es változata is támogatja már a Java-t a Netscape-nek csak a béta verziója tudja ugyanezt.

A böngészők 4.0-ás verzióinak béta kibocsátását megvizsgálva elmondhatjuk, hogy a különbségek, ha nem is ugyanazokon a területeken, de továbbra is megmaradnak. A Netscape támogatni fogja a stílus leírást, a MSIE tudni fogja a JavaScript 1.1-et, de közben a Netscape áttér a JavScript 1.2-re, a MSIE nem tudja a <LAYER> címkét. A háborúnak tehát nincs vége.

IV. URL jegyzék

http://www.microsoft.com : A Microsoft honlapja.

http://home.netscape.com : A Netscape honlapja.

http://www.cnet.com : Az egyik legjobb online informatikai magazin.

http://www.javasoft.com : A Sun Java-oldalai.

http://www.activex.com : Amit tudni kell az ActiveX-ről.