e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Različice

Trenutna verzija JavaScripta nosi številko 1.5. Največje novosti v tej verziji so regularni izrazi, podpora razhroščevalniku, novi dogodkovni model, izboljšana varnost s pomočjo podpisovanja skript in številne izboljšave samega jezika.

Netscape seveda ni edino podjetje, ki ponuja skriptni jezik, ki je v skladu s standardom ECMA-262. Tudi Microsoft je v svojem internetnem brskalniku Internet Explorer ponudil lastno implementacijo ECMAScripta, ki se imenuje JScript.

Kaj ima JavaScript razen imena skupnega z Javo? Razen imena malo, vendar dovolj, da povzroča zmedo pri uporabnikih in tudi pri programerskih začetnikih. Netscape je predstavil LiveScript v Beta različici Navigatorja leta 1995. Microsoft je s svojim Internet Explorerjem 3.0 naredil nov korak v smeri JavaScripta in ga hkrati skoraj spodnesel z novim skriptnim jezikom Visual Basic Script. Ta jezik je primer za poznavalce Visual Basica, za nove programerje pa boljši jezik JavaScript, ki nudi več možnosti. Tudi Opera ima od tretje različice 3 dalje vgrajen tolmač za JavaScript.

Na podlagi standarda ECMA-262 je nastal vsaj še eden podoben skriptni jezik - Microsoftov JScript. Ker sta oba jezika v skladu s standardom ECMA-262 sta njuna sintaksa pa tudi zmožnosti precej podobni. Največja razlika je v uporabljenih dodatnih tehnologijah. Microsoft se praktično popolnoma opira na lastne rešitve (vključujejo ActiveX, VBScript, COM), Netscape pa je bolj mešanica "alternativnih" tehnologij (Java, CORBA). Kaj je boljše je težko reči - opiranje na lastne rešitve je lahko boljše v tem oziru, da je integracija skoraj popolna in končni uporabniki niti ne vedo, kako so komponente povezane.

ECMAScript

Skupaj z drugimi velikimi računalniškimi podjetji (Sun) je Netscape leta 1996 pričel s standardizacijo svojega jezika, pri čemer se je obrnil po pomoč k organizaciji ECMA (European Computer Manufacturers Association). ECMA je organizacija, ki združuje mnogo velikih proizvajalcev računalniške in telekomunikacijske opreme (med njimi so Alcatel, Bosch Telecom, Compaq, Hitachi, IBM, Hewlet Packard in še mnogi drugi). Cilj organizacije je razvoj standardov, ki bodo olajšali uporabo informacijske in telekomunikacijske opreme, in pravilna uporaba teh standardov. Standardizirani jezik so zato poimenovali ECMAScript. A standardizirano je bilo samo jedro jezika in osnovni tipi (števila, nizi, logične vrednosti) ter predmeti (Object, Array, Function, Date, Math), predmeti, vezani na brskalnik (Document, Window, Link, Image), pa ne, kar še danes povzroča sive lase mnogim izdelovalcem spletnih strani. Standard pa je ECMAScript 262 je ECMA sprejela leta 1997.

Standard določa, kdaj je jezik združljiv z definiranim referenčnim jezikom ECMAScript, ki je le najmanjši skupni imenovalec. Tako so z jezikom ECMAScript kompatibilni vsi programski jeziki, ki implementirajo vse tipe, predmete, vrednosti, funkcije, lastnosti in sintakso ECMAScripta. Jezik je s standardom združljiv tudi, če ponuja več - dovoljeno je razširjati tako vsebino (predmeti, vrednosti), funkcionalnost (nove funkcije) kot tudi sintakso. Pri sintaksi je zaželeno, če se razvijalci držijo smernic, ki so predpisane (uporaba besed, ki so že rezervirane za prihodnjo uporabo).

ECMAScript je edini standardizirani skriptni jezik, ki je trenutno največkrat namenjen internetnim brskalnikom.

Čeprav je Netscape prvi razvil JavaScript, je Microsoft ta jezik vgradil v Internet Explorerju 3. Microsoft ni hotel poimenovati jezika kot "Java", ker je to blagovna znamka (Sun Microsytems) in tako je jezik postal poznan v okolju IE kot JScript. Razen nekaj posebnih izjem in na novo vpeljanih korakov, sta ta dva jezika v bistvo enaka. Nivo združljivost med brskalnikoma je izredno visok za jedro jezika (Core Language).

Poskusi standardizacije so težili k temu, da bi ustvarili industrijsko razširjeno priporočilo za izdelovalce brskalnikov (narediti programerjevo življenje lažje). Jedro jezika je bil eden izmed prvih sestavnih delov za doseg standardnega statusa. Evropsko združenje izdelovalcev računalniške opreme, kratica ECMA, je uskladil in objavil formalni standard za jezik. Prva podrobnost za jezik, ECMAScripta naslovljena od standardne skupine, je bila približno enaka kot JavaScript 1.1 v Netscape Navigatorju 3. Standard določa kako različno so lahko obdelani podatkovni tipi, kako operatorji delujejo, kako izgleda posebna specifična podatkovna skladnost in ostale jezikovne lastnosti. Novejša verzija (tako imenovana "verzija 3") doda veliko novosti k jedrnemu jeziku (verzija 2 je bila verzija 1 z popravljenimi napakami). Veljavno verzijo ECMA262 jedrnega jezika je mogoče poiskati na http://www.ecma.ch.

Tako Netscape kot Microsoft sta jamčila, da bosta naredila brskalnik ki bo skladen z ECMA262 standardom. Večina obsežnega ECMAScript standarda se pojavi v Navigatorjevi verziji 3 in od 4. IE verzije naprej. In kot novi dodatki k ECMA standardu, se nagibajo k temu, da bi našli pot do novejšega brskalnika.

Jscript

JScript je skriptni jezik, ki je vključen v Microsoftov internetni brskalnik Internet Explorer. Nastal je v skladu s standardom ECMA-262, dodane pa so mu bile še lastnosti, ki integrirajo druge Microsoftove tehnologije. Najopaznejša razlika glede na implementacijo, ki jo je razvil Netscape, je uporaba tehnologije ActiveX. ActiveX je tehnologija, ki temelji na podlagi predmetnega modela COM (Component Object Model). Le-ta je nastal iz OLE (Object Linking and Embedding). S pomočjo tehnologije ActiveX lahko napišemo komponento ali uporabimo že napisano komponento in jo uporabljamo v lastnem dokumentu HTML. Na prvi pogled je podobno tehnologiji LiveConnect in javinim appletom, ki jih uporablja Netscape. Vendar obstaja pomembna razlika - z uporabo ActiveX smo omejeni na eno izmed novejših verzij operacijskega sistema Microsoft Windows in na uporabo Microsoftovega internetnega brskalnika.

Tudi na strežniški strani je Microsoft uporabil lastno rešitev, ki se imenuje Active Server Pages (krajše ASP), dodatno pa je uporabljen tudi še eden skriptni jezik, tokrat iz družine Visual Basic - imenuje se VBScript in je dostopen v internetnem brskalniku Internet Explorer in v strežniku Internet Information Server. Skratka, Microsoft v brskalniku uporablja dva skriptna jezika (JScript in VBScript), na strežniku pa le enega lastnega (VBScript).

Zaradi vseh različic JavaScript, je nastala pri programiranju za različne platforme. Standardizacija je seveda nujnost. ECMA (European Computer Manifactor Asiciation, www.ecma.ch) je organizacija, ki je prevzela skrb za standardizacijo. Svojo različico je poimenovala ECMAScript. Tako Netscape 4 in Internet Exploere 4 sta podprla ECMAScript in seveda dodala nekaj svojih posebnosti. Ko bodo vsi brskalniki podpirali ECMAScript, bo programiranje s tem pridobilo na veljavi. Programerjem ne bo potrebno paziti na različne platforme. Kljub standardizaciji ECMAScript, bo JavaScript še vedno obstajal. ECMAScript določa skupne stavke, ki se nahajajo v jeziku (npr. if, for,while,) in tipe podatkov.

Različice jezika JavaScript

JavaScript je jezik, ki se še razvija. V vsaki novi različici jezika poskrbijo za posodobitev obstoječih predmetov, dodajo pa še kakšnega novega. Na tak način JavaScript ostaja v stiku z novostmi, ki se pojavljajo na novejših spletnih straneh. Trenutno je zadnja različica jezika JavaScript 1.5. Od različice 1.3 naprej je jedro jezika JavaScript usklajeno s standardom ECMAScript.

Tudi Microsoft še razvija svoj jezik JScript. Tudi tu obstaja več različic, a te niso vezane na določeno različico Internet Explorerja. JScript namreč lahko nadgradimo na novejšo različico, ne da bi nadgradili Internet Explorer. Samo zamenjamo datoteko jscript.dll z novejšo. Da bi bilo čim manj težav pri ugotavljanju, katero različico jezika JavaScript podpira Internet Explorer, se ta okolici prijavi kot ustrezna različica jezika JavaScript. V tabeli je prikazano, katera različica jezika JScript je vgrajena v Microsoftove brskalnike.

JavaScript proti JScript in VBScript

Internet Explorerjeva različica JavaScript imenuje JScript. Medtem ko Internet Explorer priznava lastnost language="JavaScript", Netscape Navigator ignorira lastnosti language="jscript". Zato je za pisanje skript W3C določil zapis, ki ga podpirajo vsi. Navesti je potrebno <script type="text/javascript"> in tako bo v vseh brskalnikih (novejših) koda prevedena pravilno. Popolnoma drugačna stvar je Internet Explorerjev skriptni jezik, VBScript. Ta jezik je izpeljanka Visual Basica, ki deluje na različicah Win32 Internet Explorerja. Dovoljeno je mešati skripte obeh jezikov v enem dokumentu, toda priveski morajo biti ločeni z lastnostmi type za vsak privesek (<script type="text/vbscript">).

SERŠ Maribor : Strokovna gimnazija : 2003 : Gregor Ambrož