primerjava streŽniŠkih skriptnih jezikov · spletna stran [2]. dinamične spletne strani tako...

54
Marko Knehtl PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV Diplomsko delo Maribor, maj 2012

Upload: others

Post on 28-Oct-2019

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Marko Knehtl

PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV

Diplomsko delo

Maribor, maj 2012

Page 2: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

ii

PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV

Diplomsko delo

Študent: Marko Knehtl

Študijski program: UN ŠP Medijske komunikacije

Smer: Vizualne komunikacije

Mentor: doc. dr. MARKO HÖLBL, univ. dipl. inž. rač. in inf.

Somentor: asist. JAKA POLUTNIK, univ. dipl. medij. kom.

Page 3: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

iii

Page 4: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

iv

ZAHVALA

Zahvaljujem se mentorju za vso

pomoč, nasvete in znanje, ki sem ga

pridobil. Prav tako se zahvaljujem

somentorju za pomoč pri izbiri teme

tega dela in pomoč pri začetkih.

Hvala staršem, ki so mi omogočili ta

študij in bližnjim prijateljem za

spodbudo.

Page 5: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

v

PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV

Ključne besede: dinamične spletne strani, PHP, JAVA, JSP, ASP.NET, Python, Django,

Ruby, Rails, MySQL, primerjava.

UDK: 004.738.5:004.43(043.2)

Povzetek:

V diplomskem delu je med seboj primerjanih pet strežniških skriptnih jezikov, ki se pogosto

uporabljajo pri programiranju dinamičnih spletnih strani. Med te jezike spadajo PHP,

JAVA, ASP.NET, Python in Ruby. Raziskano je ozadje vsakega jezika, s katerim smo za

preizkus ustvarili preprosto dinamično spletno stran. Ob tem so omenjene še ostale

komponente, ki so potrebne za delovanje dinamičnih spletnih strani. Sem spadajo strežniki,

podatkovne baze in programska opema za pisanje spletnih dokumentov. Za lažji pregled je

na koncu dodana primerjalna tabela jezikov, ki bo v pomoč uporabnikom pri izbiri pravega

jezika za njihovo delo.

Page 6: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

vi

COMPARISON OF SERVER-SIDE SCRIPT LANGUAGES

Key words: dynamic web page, PHP, JAVA, ASP.NET, Python, Ruby, Rails, MySQL,

comparison

UDK: 004.738.5:004.43(043.2)

Abstract:

In our diploma we compare five server-side script languages, which are popular for

development of dynamic web pages. We compare languages

such as PHP, JAVA, ASP.NET, Python and Ruby.Studied the background of

each language, with which we created a simple test for dynamic web page. Beside

languages are described other components, which play important part in the world of

dynamic web pages. Those components are server, data bases and applications for

developing web documents.

At the end is the comparsion table for easiest review of languages, which will assist users in

selecting the right language for their work.

Page 7: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

vii

KAZALO

1 UVOD .............................................................................................................................................. 9

2 DELOVANJE SPLETNIH STRANI ..................................................................................... 10 2.1 Statične spletne strani ...................................................................................................................... 10 2.2 Dinamične spletne strani ................................................................................................................. 11 2.3 Sistem delovanja dinamičnih spletnih strani .............................................................................. 13

3 KOMPONENTE DINAMIČNIH SPLETNIH STRANI ................................................... 15 3.1 Skriptni jeziki ..................................................................................................................................... 15 3.2 Strežnik ................................................................................................................................................ 16 3.2 Podatkovna baza ............................................................................................................................... 17

4 ANALIZA STREŽNIŠKIH SKRIPTNIH JEZIKOV ....................................................... 19 4.1 PHP ....................................................................................................................................................... 19 4.2 ASP.NET ............................................................................................................................................. 21 4.3 JAVA (JAVASERVER PAGES) ................................................................................................... 24 4.4 PYTHON ............................................................................................................................................. 26 4.5 RUBY ................................................................................................................................................... 28

5 PRIMERJAVA ........................................................................................................................... 30 5.1 Uporaba jezika PHP ......................................................................................................................... 30 5.3 Uporaba jezika JAVA ...................................................................................................................... 32 5.5 Uporaba jezika ASP.NET ............................................................................................................... 34 5.4 Uporaba jezika PYTHON ............................................................................................................... 37 5.5 Uporaba jezika Ruby ....................................................................................................................... 39

6 PRIMERJALNA TABELA STREŽNIŠKIH SKRIPTNIH JEZIKOV ........................ 42

7 ZAKLJUČEK ............................................................................................................................. 45

8 VIRI IN LITERATURA ........................................................................................................... 46

9 PRILOGE .................................................................................................................................... 51 9.1 CD z datotekami testnih spletnih strani ...................................................................................... 51

Page 8: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

viii

KAZALO SLIK Slika 2.1: Prikaz delovanja statičnih spletnih strani. ______________________ 11

Slika 2.2: Grafični prikaz delovanja dinamičnih spletnih strani. ____________ 12

Slika 2.3: Prikaz delovanja MVC sistema. _____________________________ 14

Slika 4.1: Primer sintakse jezika PHP. ________________________________ 21

Slika 4.2: Primer sintakse jezika ASP.NET. ____________________________ 23

Slika 4.3: Primer sintakse jezika JSP. _________________________________ 25

Slika 4.4: Primer sintakse jezika Python. ______________________________ 27

Slika 4.5: Primer sintakse jezika Ruby. ________________________________ 29

Slika 5.1: Vstavljanje PHP kode v HTML dokument. ____________________ 31

Slika 5.2: Način vstavljanja in izpisa HTML kode v PHP kodi. _____________ 31

Slika 5.3: Izsek kode JSP Servleta. ___________________________________ 33

Slika 5.4: Vstavljanje JSP kode v HTML dokument. _____________________ 34

Slika 5.6: Primer uporabniškega vmesnika za upravljanje s podatkovno bazo v

IDE-ju. _________________________________________________

35

Slika 5.7: Primer tabele, ki jo je IDE ustvaril samodejno na podlagi narejene tabele v

podatkovni bazi. __________________________________________

36

Slika 5.8: Vstavljanje Python kode v HTML dokument. ___________________ 37

Slika 5.9: Primer iz datoteke urls.py, kjer funckija povezuje URL naslov z željeno

funkcijo. ________________________________________________

38

Slika 5.10: Izsek kode iz datoteke settings.py, ki prikazuje povezavo na podakovno

bazo. ____________________________________________________

38

Slika 5.11: Primer funkcije v "kontrolerju", ki izpiše trenutni čas. _____________ 40

Slika 5.12: Primer vstaljanja Ruby kode v HTML.erb dokumente. ____________ 40

KAZALO TABEL

Tabela 1: Primerjalna tabela__________________________________ 42

Page 9: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

9

1 UVOD

Internet je pomemben medij sedanjega časa in število spletnih strani že od samega začetka

narašča. Kot bomo videli v nadaljevanju, poznamo dva tipa spletnih strani, statične in

dinamične. Slednje so danes zaradi številnih prednosti ključnega pomena.

Poti za ustvarjanje dinamičnih spletnih strani je več. Izbiramo lahko med različnimi načini in

možnostmi, med katere spadajo CMS1 sistemi (spletne aplikacije, napisane s strežniškimi

skriptnimi jeziki) ali programiranje z različnimi strežniškimi skriptnimi jeziki.

Pri ustvarjanju spletnih strani se lahko hitro znajdemo pred težavo in odločitvijo, kateri

skriptni jezik izbrati za željen projekt. Pojavijo se vprašanja, kot na primer: kateri jezik je

uporabniku blizu glede na dosedanje izkušnje s programiranjem? S katerim jezikom

najhitreje ali najlažje doseči željen rezultat? Katero programsko opremo je potrebno imeti?

Je potrebno predznanje? Odgovore na zastavljena vprašanja bomo dobili skozi raziskovanje,

testiranje in primerjavo jezikov.

V primerjavo smo vključili pet strežniških skriptnih jezikov: PHP, JAVA, ASP.NET, Python

in Ruby. Nekateri od njih so bili prvotno namenjeni programiranju aplikacij, vendar lahko z

njimi ustvarjamo tudi spletne strani. Raziskali bomo vsak jezik posebej, ga na kratko

predstavili in z njim testno ustvarili preprosto dinamično spletno stran. Na podlagi rezultatov

in pridobljenih izkušenj bomo ustvarili primerjalno tabelo vseh petih jezikov.

1 Content management system

Page 10: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

10

2 DELOVANJE SPLETNIH STRANI

Po delovanju, uporabi in namenu lahko ločimo med dvema tipoma spletnih strani, in sicer

med statičnimi in dinamičnimi spletnimi stranmi, ki se med seboj precej razlikujeta. Ob

omenjenih tipih strani bomo v tem delu spoznali tudi dva sistema oz. načina delovanja

dinamičnih spletnih strani.

2.1 Statične spletne strani Glavna lastnost statičnih spletnih strani je, da vsebujejo HTML dokumente s statično,

določeno vsebino. Vsebina se ne spreminja, razen če jo ročno spremeni ustvarjalec ali

skrbnik. Posledično se zato vsakemu uporabniku prikažejo iste strani z istimi informacijami.

Te strani so osnovni tip spletnih strani [1].

Statične spletne strani ne potrebujejo podatkovnih baz, posebnih strežniških nastavitev in

ostalih komponent dinamičnih spletnih strani. Zaradi omenjenih lastnosti so uporabnejše za

manjše projekte. Če bi se s statičnimi stranmi lotili večjih projektov, bi posledično dobili

veliko količino dokumentov, kar bi vodilo v nepreglednost, podvajanje kode in k večji

porabi prostora na strežniku. Te težave se rešujejo z dinamičnimi spletnimi stranmi [1].

Delovanje statičnih spletnih strani je v primerjavi z dinamičnimi preprostejše. Vsebina strani

je shranjena v HTML dokumentih, ti pa so shranjeni na strežniku. Proces se začne, ko

uporabnik preko brskalnika zahteva določeno stran. Spletno stran lahko zahteva direktno

preko URL naslova ali preko hiperpovezav na spletnih straneh. Brskalnik in strežnik

uporabljata za komunikacijo internetni protokol HTTP. Ko strežnik prejme zahtevo

brskalnika, na disku poišče zahtevan HTML dokument in ga pošlje nazaj brskalniku skupaj

z dodatnimi datotekami, če so zahtevane (grafične, multimedijske datoteke). Ko brskalnik

prejme odgovor, prikaže uporabniku HTML dokument v obliki spletne strani [2].

Page 11: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

11

Slika 2.1: Prikaz delovanja statičnih spletnih strani [2].

Prednosti statičnih spletnih strani so, da jih je v osnovi lažje ustvarjati, saj velja HTML

sintaksa za enostavnejšo. Namenjena je prikazovanju elementov (obliki spletne strani) in ne

programiranju kot skriptni jeziki [3].

V brskalniku se lahko strani prikazujejo zelo hitro (če je grafična in multimedijska vsebina

primerno optimizirana), saj ne vsebujejo skript, ki bi se morale izvajati (tako kot pri

dinamičnih spletnih straneh). Ker ne vsebujejo interakcije s podatkovno bazo, so bolj

mobilne v smislu, da jih je enostavneje prenašati iz enega direktorja v drugega ali iz enega

strežnika na drugega [37].

Slabosti so, da je strani težje in zamudnejše posodabljati ter da ponujajo zelo malo možnosti

za interakcijo z uporabnikom v primerjavi z dinamičnimi spletnimi stranmi.

HTML dokumenti imajo svojo vlogo tudi pri dinamičnih spletnih straneh, kjer se

uporabljajo kot grafična predloga spletne strani.

2.2 Dinamične spletne strani Nasprotje statičnih spletnih strani so dinamične, katerih glavna lastnost je spreminjajoča se

vsebina strani. Vsebina se spreminja glede na parametre, ki so poslani strežniku s spletne

strani [2].

Za primer vzemimo spletno stran, ki vsebuje iskalnik. Uporabnik v iskalnik vnese želeno

geslo in ob kliku na primeren gumb se mu na spletni strani prikažejo rezultati v kontekstu z

iskanim geslom. To je le eden od primerov uporabe [2].

Zraven iskalnikov (Google, Yahoo) dinamične strani ponujajo uporabo različnih storitev, kot

na primer elektronsko pošto (GMail, Hotmail), socialna omrežja (Facebook, Twitter),

spletne igre (Travian), spletne trgovine (Amazon, eBay), internetno bančništvo in tako dalje.

Vsebina se lahko spreminja tudi ne glede na uporabnika. Kot primer vzemimo funkcijo

datuma ali časa, ki se lahko na spletni strani spreminja samodejno.

Page 12: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

12

Dinamične spletne strani potrebujejo za svoje delovanje in izvajanje strežniško aplikacijo in

vir podatkov (podatkovne baze, podatki iz drugih spletnih strani itd.). Zaradi tega je proces

delovanja dinamičnih spletnih strani zahtevnejši kot delovanje pri statičnih spletnih straneh.

Proces se začne, ko uporabnik pošlje določene parametre preko brskalnika strežniku.

Parametri so lahko izbrani na različne načine, npr. uporabnik izpolni obrazec in s pritiskom

na potrditveni gumb pošlje parametre strežniku. Ta prejme zahtevo, prepozna vsebino

dinamične spletne strani in zahtevo pošlje naprej strežniški aplikaciji. Ko strežniška

aplikacija sprejme zahtevo, procesira podatke in ustvari HTML dokument. Pri procesiranju

podatkov se lahko poveže tudi na podatkovno bazo, če je to potrebno. Ustvarjen HTML

dokument aplikacija pošlje nazaj strežniku, ta v brskalnik uporabnika, kjer se prikaže kot

spletna stran [2].

Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za

uporabnika [37].

Slika 2.2: Grafični prikaz delovanja dinamičnih spletnih strani [2].

Prednosti dinamičnih spletnih strani je več. V primerjavi s statičnimi ponujajo dinamične

več možnosti za grajenje interaktivnosti z uporabnikom. Enostavneje jih je posodabljati in

nove, sveže vsebine privabijo uporabnike nazaj na stran. Vsebina strani je pogosto shranjena

v podatkovni bazi in ne direktno v dokumentu, pri čemer se pridobi na prostoru in

preglednosti dokumenta, saj lahko ločimo vsebino, logiko in obliko strani v ločene

dokumente. Kot glavno prednost bi lahko podali, da dinamične spletne strani ponujajo več

funkcionalnosti uporabniku, saj ponujajo več kot le statično vsebino [4].

Slabosti so, da je zaradi kompleksnih jezikov za pisanje dinamične strani potrebnega več

znanja in časa. Kompleksne strani lahko delujejo počasneje, pojavijo pa se tudi težave z

varovanjem sistema in podatkov [5].

Page 13: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

13

Če primerjamo oba tipa strani, dinamične strani ponujajo dosti več od statičnih. Pri

implementaciji dinamičnih strani imamo dosti več prostora za razvijanje in nismo omejeni

samo na HTML jezik. Kljub vsemu pa oba tipa strani služita svojemu namenu. Če naročnik

želi enostavno spletno stran zgolj za predstavitev ali zaradi problema s stroški, bo prav prišla

statična spletna stran. Če so zahteve večje, pa so statične strani premalo in lahko ponudimo

stran z dinamično vsebino.

2.3 Sistem delovanja dinamičnih spletnih strani Kot rezultat naših testiranj jezikov lahko razdelimo sistem delovanja in organiziranosti

datotek spletnih strani v dve kategoriji:

1. Standardni sistem

Pod standardni sistem v našem primeru spadata jezika PHP in JAVA (JSP). Za ta sistem je

značilno, da se koda jezika prepleta s HTML kodo. Sistemska logika, dostop do podatkov in

oblika strani so združeni v istem dokumentu. Nekateri uporabniki imenujejo ta sistem tudi

"špageti koda", saj lahko pride pri velikih količinah kode do zmešnjave in nepreglednosti

[13].

Za lažjo razlago vzemimo za primer stran, napisano z jezikom PHP. Jezik PHP omogoča, da

en PHP dokument vsebuje vse sestavine, ki so potrebne za prikaz in vsebino strani (vsebuje

kodo za obliko strani, različne funkcije in povezavo na podatkovno bazo, s pomočjo katere

lahko dostopamo do podatkov na njej in z njimi dopolnimo vsebino strani).

2. MVC sistem

Logika in organiziranost datotek MVC sistema sta drugačni od standardnega načina. Sistem

je bil razvit leta 1980 v podjetju Xerox. Ključno je, da so komponente strani ločene v tri

dele:

- "Model" predstavlja informacije in podatke, s katerimi spletna stran upravlja.

- "View" predstavlja vidni del, ki se prikaže kot spletna stran v brskalniku uporabnika.

- "Controller" predstavlja gonilno silo sistema, saj je interakcija med komponentama

"Model" in "VIew" [13].

Page 14: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

14

Slika 2.3: Prikaz delovanja MVC sistema [36].

Postopek delovanja je sledeč:

1. Brskalnik pošlje zahtevo do komponente "Controller" na strežniku.

2. "Controller" komunicira s komponento "Model" (ta dostopa do baze).

3. "Controller" nato dostopa do komponente "View", kjer se ustvari HTML dokument.

4. HTML dokument se pošlje nazaj brskalniku, kjer se uporabniku prikaže kot spletna stran

[36].

Po treh opisanih komponentah so ločene in organizirane tudi datoteke spletne strani (vsaka

od treh omenjenih komponent se nahaja v svoji datoteki, ločeno od ostalih) kot različni tipi

funkcionalnosti. Pri izvajanju sistema se vsi ločeni deli med seboj povežejo in kot rezultat

dobimo spletno stran [36].

V MVC sistem spadata jezika Python in Ruby. Čeprav sta bila jezika PHP in JAVA prvotno

namenjena načinu ureditve po standardnem načinu, bi se ju z nekaj truda dalo prilagoditi in

približati MVC vzorcu, če bi uporabnik to želel [14].

Page 15: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

15

3 KOMPONENTE DINAMIČNIH SPLETNIH STRANI

V tem sklopu bomo natančneje spoznali vse potrebne komponente dinamičnih spletnih strani

in njihove lastnosti. Med te komponente spadajo skriptni jeziki, strežnik in podatkovna baza.

3.1 Skriptni jeziki Na splošno poznamo za programiranje dve vrsti jezikov, in sicer sistemske programske

jezike in skriptne jezike. Za sistemske programske jezike je značilno, da jih računalnik sam

po sebi ne razume, zato jih moramo za izvajanje preslikati v strojno kodo. "To za nas naredi

poseben program, ki mu pravimo prevajalnik [15]."

V poznih sedemdesetih letih pa se je razširil programski jezik BASIC, ki za svoje delovanje

ni več potreboval prevajalnika, ampak "interpreter". Delo "interpreterja" je, da vsako vrstico

sproti preslika v strojne ukaze, jih izvede, nato pa isto ponovi z naslednjo vrstico. Sistem se

je izkazal za zelo praktičnega, zato se je sčasoma pojavila cela vrsta skriptnih jezikov [15].

"Skriptni jeziki so jeziki, ki so po skladnji podobni višjim računalniškim jezikom, le da ti ne

potrebujejo prevajalnika. Poznamo tiste, ki se izvedejo takoj (se pravi v brskalniku) - to so

HTML, javascript, VBS ipd. -, ter tiste, ki se izvedejo v samem strežniku in se kot

dinamična spletna stran prikažejo v brskalniku v obliki navadne HTML kode. V to skupino

spadajo PHP, ASP, JSP in podobni [6]."

Prednost skriptnega jezika je, da so naši programi izvršljivi takoj in njihovo spreminjanje

poteka hitro [15].

"Programiranje v skriptnih jezikih se od navadnega programiranja razlikuje v pomembnem

dejstvu, da skriptni jeziki predvidevajo, da že obstaja množica uporabnih komponent, ki jih

nato lahko uporabimo v lastnih programih [7]."

Druga pomembna razlika je, da skriptni jeziki ne uporabljajo tipov kot sistemski programski

jeziki. To pomeni, da lahko eni spremenljivki priredimo vrednosti različnih tipov in jih ni

potrebno temu primerno deklarirati [7].

Na primer, če bi želeli spremenljivki v sistemskem programskem jeziku C++ prirediti

tekstovno vrednost, bi morali spremenljivko posebej deklarirati:

Page 16: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

16

String tekst = "To je tekst.";

Ista spremenljivka v jeziku PHP bi izgledala tako:

$tekst = "To je tekst.";

Spremenljivke ni potrebno posebej deklarirati (ji "povedati", da bo vsebovala tekst), saj je

večina skriptnih jezikov interpretiranih tako, da se prostor za spremenljivke rezervira med

samim izvajanjem programa. "Takšna uporaba spremenljivk povečuje ponovno uporabnost

in zelo olajšuje povezovanje komponent, saj jih lahko uporabimo na načine, ki prvotno niso

bili predvideni [7]."

Uporaba skriptnih jezikov in "interpreterja" ima tudi svoje slabosti. "Izvajanje programa

postane počasnejše, saj mora "interpreter" vsako vrstico znova prevesti, četudi jo ponavlja.

Tudi dostop do programskih spremenljivk je počasnejši [15]."

3.2 Strežnik "Strežniki so namenski računalniki, iz katerih črpamo podatke v internetu, medtem ko je

odjemalec računalnik, s katerim dostopamo v internet in je namenjen povezavi s strežniki

[6]."

Razlika med običajnim računalnikom in pravim strežnikom je v njuni zasnovi, saj je strežnik

veliko bolj zmogljiv zaradi kvalitetnejših komponent, ki jih vsebuje. Uporabnikom morajo

nenehno zagotavljati dostop do spletnih strani, zato je poskrbljeno za njihovo varnost (v

posebnem prostoru, kjer so nameščeni) in dodatne sistemske komponente (rezervni disk,

pomnilnik, procesor itd.). Pomembna razlika je tudi v hitrosti povezave, saj so strežniki v

svet povezani z dosti hitrejšimi povezavami, kot jih imamo v domačem gospodinjstvu

(strežnik s počasnejšo povezavo ni posebej uporaben, še posebej pri spletnih straneh z veliko

obiskovalci) [39].

Na strežniku se nahajajo vse datoteke, ki sestavljajo spletno stran. V primeru statičnih

spletnih strani so to v osnovi HTML dokumenti, v primeru dinamičnih spletnih strani pa so

vse datoteke prilagojene jeziku, s katerim so napisane. Te datoteke vsebujejo skripte, tekst,

Page 17: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

17

lahko tudi HTML kodo (primer: pri jeziku PHP so to datoteke s končnico .php). Na

strežniku se lahko nahajajo tudi vse ostale multimedijske datoteke, če so del spletne strani

(grafika, zvok ...) [2].

Dinamične spletne strani oz. strežniški skriptni jeziki potrebujejo za svoje delovanje še

poseben strežniški program - imenovan spletni strežnik, ki je prav tako nameščen na samem

strežniku [6].

"Preprosto rečeno, to je program, ki po protokolu HTTP usmerja in interpretira podatke, ki

jih dobi po svetovnem omrežju ali jih tja pošilja. Spletnih strežnikov je po svetu milijone in

prav v vsakem je en od strežniških programov [6].

Kot bomo videli pri testiranju jezikov, skoraj vsak jezik uporablja strežnik Apache. Vsak

jezik potrebuje tudi svojo različico strežnika. Posebnost je ASP.NET, ki uporablja svoj

strežnik IIS2. Ta strežnik deluje samo v okolju Microsoft Windows in je že del operacijskega

sistema [12].

Na strežniku je ob strežniškem programu pogosto nameščen še sistem za upravljanje s

podatkovno bazo in podatkovna baza.

3.2 Podatkovna baza "Ena od možnih definicij podatkovne baze je ta, da je to zbirka podatkov, ki jih na

sistematičen način hranimo v računalniku tako, da lahko iz njih s pomočjo računalniškega

programa dobimo ali izsejemo odgovor na zastavljeno poizvedbo. [8]"

Podatkovne baze so pomembnejši sestavni del dinamičnih spletnih strani, saj je v njih lahko

shranjena vsebina spletne strani. Vsebina je na ta način ločena od ostalih komponent spletne

strani (logike, oblike ...).

Do podatkov iz baze se lahko dostopa s pomočjo jezika SQL, ki je standardni jezik za

dostop do podatkovne baze, koda pa je zapisana v datotekah spletnih strani [41].

Z uporabo podatkovne baze lahko uporabnikom s pomočjo različnih obrazcev omogočimo,

da v podatkovno bazo shranjujejo podatke, jih oblikujejo ali brišejo. Na ta način uporabniki

sami vplivajo na vsebino spletne strani. Kot primer lahko vzamemo spletni blog. Te spletne

2 Internet Information Services

Page 18: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

18

strani omogočajo uporabnikom pisanje in shranjevanje želenih vsebin, ki jih lahko berejo ali

komentirajo ostali uporabniki.

Možnosti, ki si jih lahko privoščimo s povezavo podatkovne baze in skriptnim jezikom, je

ogromno [9].

Pri raziskovanju podatkovnih baz pogosto naletimo na kratico DBMS, ki pomeni "Database

Management System". To bi v našem jeziku pomenilo sistem za upravljanje s podatkovno

bazo (SUPB) [10].

SUPB je programska oprema, ki opravlja s podatki v podatkovni bazi in omogoča kreiranje,

vzdrževanje ter nadzor nad dostopom [42].

V naših testih skriptnih jezikov bomo uporabljali sistem MySQL, ki je brezplačen, deluje na

vseh operacijskih sistemih in je primeren za manjše projekte.

Page 19: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

19

4 ANALIZA STREŽNIŠKIH SKRIPTNIH JEZIKOV

V tem delu bomo predstavili teoretično ozadje vsakega izmed petih jezikov in ga na kratko

analizirali. Analiza je vključevala iskanje in preučevanje različnega gradiva o jezikih. Sem

spadajo knjige o jezikih, uradne spletne strani jezikov in dodatno gradivo, ki smo ga poiskali

na internetu, če je bilo potrebno.

Ker za nekatere jezike obstaja večje število knjig, smo med njimi (v katerih smo iskali

informacije) izbirali naključno.

Pogoji analize so bili pri vsakem jeziku drugačni, saj so se viri informacij od jezika do jezika

spreminjali. Primer: nekateri jeziki ponujajo več informacij v knjigah, drugi na internetu, kar

pomeni, da smo informacije pri določenih jezikih našli prej kot pri drugih.

Vsebina predstavitve je razdeljena na začetek, namembnost, delovanje in podporo jeziku.

4.1 PHP

Jezik je leta 1994 začel razvijati programer Rasmus Lerdorf. "Razvijati ga je začel iz jezika

Pearl, dodal je še nekaj jave in C-ja in nastal je PHP. Ponudil ga je javnosti kot odprto kodo

[6]."

S pomočjo nekaterih programerjev je jezik do danes šel skozi štiri velike in pomembnejše

posodobitve. Zadnja različica jezika je PHP 5.3.8. Največji preskok v delovanju je bil med

različico 4 in 5 [16].

Novembra leta 2007 je bil nameščen na več kot 21 milijonih domen po vsem svetu [5].

PHP je strežniški skriptni jezik, ki je bil ustvarjen posebej za internet. "Kratica PHP pomeni

"Hypertext Preprocessor" [6].

"Njegova prednost pred tekmeci pride do izraza pri pisanju krajših in srednje dolgih spletnih

strani, saj je kakovostno stran z njim mogoče napisati zelo hitro." [6]

Glede na to, da je jezik v prvi vrsti namenjen pisanju dinamičnih spletnih strani, lahko z

njim pišemo kakršne koli aplikacije, igre (govora je o preprostih brskalniških igrah, kot npr.

igra Travian) in druge namenske programe [6].

Page 20: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

20

Statistika uporabe strežniških jezikov, ki jo vodijo na spletni strani www.w3techs.com, kaže,

da jezik PHP uporablja 77.2 % vseh spletnih strani, ki so jih testirali [16].

Po raziskavi druge spletne strani jezik PHP uporablja približno 25 milijonov in pol spletnih

strani. Največ jih spada pod kategorijo "Podjetja" in "Tehnologije" [17].

Po preverjanju najbolj popularnih spletnih strani, ki uporabljajo jezik PHP, lahko kot primer

izpostavimo naslednje:

Facebook

Wikipedia

Wordpress

Izpostavljene strani spadajo med 17 najbolje obiskanih strani leta 2011 po raziskovanju

Googla [44].

PHP kodo lahko dodajamo znotraj HTML strani in ta se bo izvršila vedno, ko se stran

naloži. Kodo je možno pisati tudi v samostojne PHP datoteke, ki ne vsebujejo HTML kode.

Vse datoteke (tudi HTML dokumenti), ki vsebujejo PHP kodo, morajo biti shranjene kot

PHP datoteke (s končnico .php), sicer PHP koda ne deluje. PHP koda se interpretira na

strežniku, ki ustvari HTML stran, ki se nato prikaže v uporabnikovem brskalniku.

Zahtevnejšim uporabnikom jezik nudi možnost objektnega programiranja. Če se odločimo

za objektno programiranje, pride do razlike v sintaksi jezika in organiziranosti dokumentov.

Jezik uporablja za delovanje strežnik Apache [5].

Povezava na podatkovne baze jeziku PHP ne predstavlja težav, saj je povezljiv na več

sistemov. Zraven MySQL-a (ki s PHP-jem deluje najbolje) se lahko PHP poveže še z

ostalimi sistemi, kot na primer z Oracle, FilePro, DB2, PostgreSQL in mnogimi ostalimi [5].

Sintaksa jezika PHP je podobna jeziku C. Spodnji primer prikazuje preprost izpis teksta s

pomočjo jezika PHP.

Page 21: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

21

Slika 4.1: Primer sintakse jezika PHP.

PHP je brezplačen in zadnjo različico si je vedno moč prenesti iz uradne spletne strani. Ta

spletna stran nudi uporabnikom vse informacije v zvezi z jezikom. Na strani so zbrane vse

funkcije in elementi jezika. Vse so opisane in testirane na primerih, kar je lahko

uporabnikom v veliko pomoč. Na temo programiranja s PHP jezikom obstaja tudi veliko

literature. Preiskali smo največjo spletno knjigarno, kjer smo našli preko 150 knjig v zvezi s

PHP jezikom.

4.2 ASP.NET

ASP.NET je produkt podjetja Microsoft in izhaja iz njegovega predhodnika ASP, kar

pomeni, da je ASP.NET novejša različica jezika ASP, vendar ni njegova nadgradnja. Je

nova, samostojna različica jezika [21].

ASP je izšel leta 1998 kot prvi Microsoftov strežniški skriptni pogon in jezik. Z jezikom

ASP lahko programiramo še danes, vendar se kot jezik več ne razvija [22].

Leta 2004 ga je nadomestil ASP.NET, ki je bil ustvarjen kot eden glavnih delov projekta

.NET Framework-a. .NET Framework je okolje za grajenje, uvajanje in delovanje spletnih

aplikacij in internetnih storitev [21].

ASP.NET je tehnologija, ki prinaša interaktivne spletne aplikacije za internet. Je set

Microsoftovih spletnih razvojnih orodij za dinamične spletne strani, spletne aplikacije in

spletne storitve. To pomeni, da njegova uporaba pride do izraza tako pri manjših spletnih

straneh kot tudi pri večjih spletnih projektih [20].

. <html>

. <head>

. <title>PHP Demo</title>

. </head>

. <body>

.

. <?php

. $tekst = "To se bo izpisalo";

. echo $tekst;

. ?>

.

. </body> </html>

Page 22: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

22

ASP.NET velja za zelo trdno storitev. Na lestvici pogostosti uporabe je na drugem mestu,

takoj za jezikom PHP[16].

Po preverjanju najbolj popularnih spletnih strani, ki uporabljajo jezik ASP.NET, lahko za

primer izpostavimo naslednje:

- CNN.com

- Weather.com

- Nytimes.com

- MSN.com

Te strani so izpostavljene zato, ker spadajo med najbolj popularne strani, ki uporabljajo

omenjen strežniški jezik po izbiri strani W3tech.com [45].

Ker je ASP.NET produkt podjetja Microsoft, je njegova povezava z različnimi operacijskimi

sistemi zelo omejena. Pogoj za razvoj jezika je samo okolje Microsoft Windows. Da lahko

ASP.NET stran deluje, mora uporabljati strežnik, ki se že nahaja v sistemu Microsoft

Windows, vendar ga je za delovanje potrebno aktivirati naknadno. Strežnik se imenuje IIS

[20].

Podatkovna baza, ki s sistemom deluje najbolje, je SQL Server, ki je prav tako produkt

podjetja Microsoft. ASP.NET ponuja možnost povezave tudi na druge podatkovne baze

[23].

Ena izmed posebnosti jezika je, da uporablja svoj IDE, ki se imenuje Visual Studio. Ker je

aplikacija plačljiva, je na voljo manj kompleksen IDE Visual Web Developer Express, ki je

brezplačen. V teoriji bi lahko uporabili tekstovni urejevalnik in pisali ASP.NET kodo v

HTML dokument, vendar je to povsem nepraktično, saj nam IDE ponuja lažji način

dela[20].

ASP.NET je razdeljen na tri razvojne modele (vsak model deluje po svoje):

- Web pages

- MVC

- Web forms

Page 23: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

23

Web pages je najenostavnejši ASP.NET model. Podoben je PHP-ju in klasičnemu ASP-ju.

Namenjen je preprostejšim spletnim stranem, ki potrebujejo enostavnejše dinamične

elemente spletnih strani.

Web forms je dogodkovni model in nadgradnja predhodnega modela Web pages. Posebnost

je, da lahko ločimo uporabniški vmesnik (izgled strani) in logiko aplikacije. Ta model je

bližje MVC modelu, vendar ne ponuja toliko funkcionalnosti kot sam MVC model.

MVC je najkompleksnejši model ASP.NET-a. Namenjen je kompleksnejšim spletnim

aplikacijam in deluje po sistemu MVC. Je nadgradnja Web forms [24].

V osnovi spada jezik med standardne sisteme, kjer njegove elemente vstavljamo v HTML

kodo, kot pri jeziku PHP. Leta 2007 so jezik razširili in mu dodali možnost MVC sistema.

Tako imamo pri tem jeziku izbiro standardnega in MVC sistema [24].

Sintakso jezika si lahko pred začetkom pisanja spletne strani preprosto izberemo. ASP.NET

ponuja jezika C# in VisualBasic. ASP.NET je objektno orientiran jezik [20].

Spodnji primer prikazuje preprost izpis teksta s pomočjo jezika ASP.NET.

Slika 4.2: Primer sintakse jezika ASP.NET.

Vse datoteke, potrebne za delovanje jezika in pisanje spletnih strani, je možno dobiti na

uradni spletni strani jezika.

Po iskanju literature v največji spletni knjigarni Amazon.com smo ugotovili, da je literature

bistveno manj kot pri jeziku PHP. Uradna spletna stran jezika ponuja pomoč, vendar ne tako

natančno kot pri PHP-ju.

. <html>

. <head>

. <title>ASP.NET demo</title>

. </head>

. <body>

.

. <% Response.Write("To se bo izpisalo!") %>

.

. </body> </html>

Page 24: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

24

4.3 JAVA (JAVASERVER PAGES)

Jezik je prvotno namenjen pisanju aplikacij in ne spletnih strani. Prva različica jezika Java

1.0 se je pojavila leta 1995 in je dosegla pravo malo revolucijo na področju programiranja.

Ta revolucija je zelo hitro spremenila splet v zelo interaktivno okolje [25].

Jezik je vplival na internet s pomočjo appletov. Applet je posebna vrsta Java aplikacije, ki je

namenjena temu, da se prenaša preko interneta in so avtomatsko izvršeni v brskalnikih, ki so

kompatibilni z Javo. To deluje tako, da če uporabnik klikne na povezavo, ki vključuje

applet, se bo ta avtomatsko prenesel in zagnal v brskalniku [27].

Appleti niso obstajali dolgo, saj so zamrli takoj, ko jih je Internet Explorer nehal podpirati.

To je tudi eden od razlogov, zakaj se je razvil JavaServer Pages. Uporabniki so lahko začeli

pisati JAVA aplikacije, ki se izvajajo na strežniku [2].

Java je samostojni programski jezik, ki se ga največ uporablja za aplikacije na internetu.

Tako je JAVA perminenten jezik interneta in je tako univerzalen jezik za spletne

programerje po vsem svetu [25].

JavaServer Pages (JSP) je jezik in tehnologija, ki omogoča pisanje dinamičnih spletnih

strani. Gre za vejo jezika JAVA [28].

Jezik je po uporabi na tretjem mestu, takoj za jezikoma PHP in ASP.NET [16].

Po preverjanju najbolj popularnih spletnih strani, ki uporabljajo jezik JAVA, lahko za

primer izpostavimo naslednje:

- eBay.com

- Java.com

- Linkedin.com

- Aol.com

Te strani so izpostavljene zato, ker spadajo med najbolj popularne strani, ki uporabljajo

omenjen strežniški jezik po izbiri strani W3tech.com [46].

Jezik je vedno bolj popularen v zadnjih letih, saj se je pojavil tudi v pametnih telefonih.

Priljubljen in razširjen telefonski operacijski sitem Android uporablja jezik Java za svoje

aplikacije [26].

Page 25: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

25

JSP strani so dokumenti, ki imajo v HTML kodi dodano še JAVA kodo.Datoteke z JSP kodo

so shranjene s končnico .jsp [2].

JSP je enostavni jezik, s pomočjo katerega je možno na hitro in enostavno narediti spletno

stran z dinamično vsebino [29].

Za delovanje je potrebna odprtokodna strežniška programska oprema Apache Tomcat, ki se

nahaja na uradni spletni strani strežnika in je brezplačna.

JSP deluje po vzoru dinamičnih spletnih strani, vendar je proces malo daljši. Ko uporabnik

pošlje zahtevo strežniku, ta spremeni JSP stran v servlet. Strežnik ga pošlje v servlet pogon,

kjer se servlet izvrši. Po procesu servlet vrne HTML stran nazaj v brskalnik uporabnika [2].

Servleti so JAVA razredi, ki delujejo na strežniku in procesirajo dinamične spletne strani. So

zelo uporabni, saj razširijo možnost strežnikov. Servlet lahko napišemo tudi sami in ga

povežemo z JSP stranjo [30].

JSP prihaja s posebno podatkovno bazo, imenovano HSQLDB, ki so jo razvili pri Javi. Je

preprosta podatkovna baza namenjena predvsem testiranju, izhaja pa iz MySQL-a. Jezik je

prav tako kompatibilen z ostalimi podatkovnimi bazami [2].

Za pisanje dinamičnih spletnih strani nam je lahko v pomoč IDE Net Beans, ki je namenjen

pisanju JAVA aplikacij. IDE je brezplačen. Sintaksa jezika je podobna jezikoma C in

C++[2].

Spodnji primer prikazuje preprost izpis teksta s pomočjo jezika JSP.

Slika 4.3: Primer sintakse jezika JSP.

Podpora za učenje jezika je zelo skromna. Sam jezik nima prav svoje uradne spletne strani,

kjer bi se lahko našla dodatna pomoč. Podobno je z literaturo. V spletni knjigarni

. <html>

. <head>

. <title>ASP.NET demo</title>

. </head>

. <body>

.

. <font size="10"><%="To je izpis" %></font>

.

. </body> </html>

Page 26: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

26

Amazon.com smo našli zelo malo knjig na temo JSP jezika. Natančneje - manj kot 30.

Večina knjig je bila starejših, saj so bile stare več kot deset let.

4.4 PYTHON

Jezik se je začel razvijati že leta 1980, dokončal in izdal pa ga je Guido van Rossum leta

1991. Danes je na voljo tretja različica jezika, Python 3.0, ki je izšla leta 2008 [31].

Leta 2007 in 2010 je jezik Python dobil nagrado za Programski jezik leta po lestvici TIOBE3

[47].

Python je programski jezik, ki je namenjen ustvarjanju tako preprostejših kot zahtevnejših

aplikacij, iger in tudi spletnih strani. Programer Michael Dawson ga je v svoji knjigi označil

kot popoln jezik za programerja začetnika, predvsem zaradi čiste in preproste sintakse, ki

omogoča pisanje različnih aplikacij v zelo kratkem času. Čeprav je jezik v prvem planu

namenjen programiranju aplikacij, lahko z njim pišemo tudi dinamične spletne strani [31].

Po pogostosti uporabe je Python na zadnjem mestu, saj ga uporablja zgolj 0,2 % vseh

spletnih strani [16].

Po preverjanju najbolj popularnih spletnih strani, ki uporabljajo jezik Python, lahko za

primer izpostavimo naslednje (iz seznama so strani izbrane naključno):

- Google.com

- Yahoo.com

- Youtube.com

Za ustvarjanje dinamičnih spletnih strani je potrebno dodatno namestiti framework, ki to

omogoča. Na internetu je na voljo dosti framework-ov za dinamične spletne strani. Mi bomo

uporabljali framework Django, ki velja za najbolj priljubljenega in kompleksnega [33].

Django za sprotno testiranje spletnih strani uporablja vgrajen strežnik. Če želimo spletno

stran objaviti v spletu, potrebujemo Apache strežnik in vtičnik, ki poveže jezik Python s

strežnikom. Django prihaja z vgrajeno podatkovno bazo SQLite, vendar nima težav pri

povezavi na druge podatkovne baze [33].

3 TIOBE je podjetje, ki je specializirano za preverjanje kvalitete programskih jezikov [48].

Page 27: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

27

Django deluje po sistemu MVC in ne dopušča druge možnosti. Kot je značilno za MVC

sistem, je spletna stran sestavljena iz različnih Python datotek (datoteke s končnico .py) [33].

Za razliko od nekaterih jezikov ima ta možnost biti objektno orientiran, kar je predvsem

dobrodošlo za nove uporabnike jezika.

Med posebnosti jezika spada tudi, da ga lahko integriramo z drugimi jeziki, kot npr. s C,

C++ ali celo z Java jezikom. To pomeni, da lahko združuje ali koristi določene prednosti teh

jezikov [31].

Sintaksa jezika je opisana kot zelo preprosta oz. preprostejša od jezikov JAVA, C ali C++.

Dokaz za to je, da je celotna koda kakšne aplikacije od tri- do petkrat krajša, kot bi bila v

kakšnem drugem jeziku. Kljub vsemu pa zajema vse, kar bi pričakovali od današnjega,

modernega programskega jezika [31].

Spodnji primer prikazuje preprost izpis teksta s pomočjo jezika Python. Zaradi MVC

sistema je delček kode napisan v posebni datoteki, ki vsebuje samo funkcije.

Slika 4.4: Primer sintakse jezika Python.

Jezik Python je brezplačen in je dostopen na uradni spletni strani jezika. Je odprtokoden. V

primerjavi z ostalimi opisanimi jeziki je podpore tako za jezik Python kot framework

Django na internetu in v literaturi najmanj. Za Django smo našteli šest knjig, medtem ko jih

je bilo za sam Pythonmalo več, vendar knjige v zvezi s samim jezikom niso v pomoč pri

programiranju dinamičnih spletnih strani. Django ima svojo spletno stran, kjer obstaja

dokumentacija za uporabo.

from django.http import HttpResponse

defindex(request):

return HttpResponse("To se bo izpisalo!")

Page 28: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

28

4.5 RUBY

Razvit je bil leta 1990 in prihaja iz Japonske izpod rok programerja Yukihiro Matsumoto

[36].

Trenutna različica jezika je 1.9, ki je izšla leta 2011. Framework za ustvarjanje spletnih

strani Ruby on Rails je izšel leta 2004. Ruby on Rails je prejemnik različnih nagrad, med

drugim je bil izbran kot framework "Web 2.0 aplikacij" [36].

Ruby je samostojni programski jezik, namenjen razvijanju in pisanju aplikacij.

Ena izmed glavnih posebnosti jezika je, da se od standardnih jezikov, kot so PHP, C++ in

podobnih, razlikuje ne samo po sintaksi, ampak tudi po kulturi, slovnici in sistemu.Velja, da

je jezik enostaven za uporabnika, ki predhodno ne pozna nobenega drugega jezika.

Uporabnik, ki ima kakršno koli predznanje kakega drugega jezika, je lahko ob učenju tega

zmeden. Bolj je podoben manj znanim jezikom, kot so LISP ali Smaltalk [36].

Med nekaj znanih imen, ki uporabljajo Ruby jezik, spadajo podjetja, kot so Microsoft,

Apple, Intel itd.

Po pogostosti uporabe je Ruby na predzadnjem mestu, vendar se njegova priljubljenost in

uporaba počasi večata [16].

Po preverjanju najbolj popularnih spletnih strani, ki uporabljajo jezik Ruby, lahko za primer

izpostavimo naslednje (iz seznama so strani izbrane naključno):

- Amazon.com

- Twitter.com

- Guitarhero.com

Ker je jezik vsestranski, lahko s pomočjo framework-a pišemo tudi dinamične spletne

strani. Framework se imenuje Ruby on Rails [13].

Gre za enostavni jezik, ki deluje po sistemu MVC. Ne omogoča uporabe drugega sistema

[36].

To pomeni, da je spletna stran sestavljena iz različnih datotek, ki sledijo vzoru MVC

sistema. Datoteke imajo končnico .ry. Ruby je odprtokoden in objektno orientiran jezik [13].

Page 29: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

29

Framework Django že vsebuje interni strežnik za testiranje spletnih aplikacij. Če želimo

spletno aplikacijo objaviti na strežniku, potrebujemo Apache strežnik s posebnim vtičnikom

za delovanje naše aplikacije [38].

Ruby on Rails vsebuje že podatkovno bazo SQLite. S pomočjo vtičnikov in dodatnih

nastavitev se lahko poveže tudi na ostale podatkovne baze [36].

Koda datotek spletne strani je kratka, pregledna in enostavna, sintaksa jezika pa velja za

unikatno [36].

Spodnji primer prikazuje preprosto funkcijo, napisano v komponenti "Controller", ki vodi do

datoteke "hello". Datoteka "hello" je navadna HTML datoteka.

Slika 4.5: Primer sintakse jezika Ruby.

Ruby in Ruby on Rails sta oba brezplačna, dobiti se ju da na njuni uradni spletni strani [36].

Podpora za uporabnike v literaturi je obetajoča, saj je vedno več knjig, ki učijo uporabljati

jezik. Ruby ima svojo spletno stran, kjer obstaja dokumentacija za uporabo.

class SaiController < ApplicationController def hello end end

Page 30: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

30

5 PRIMERJAVA

Primerjavo teoretično analiziranih strežniških skriptnih jezikov bomo izvedli tudi s

testiranjem vsakega jezika posebej. Naredili bomo enostavno spletno stran, ki bo vsebovala

preprost spletni obrazec za registracijo uporabnika. Uporabnik bo lahko vnesel podatke, kot

so ime, priimek in elektronski naslov. Vneseni podatki se bodo nato shranili v podatkovno

bazo in se po uspešnem vnosu tudi izpisali na naslednji strani.

Pri testu se bomo srečali s sintakso, delovanjem, namestitvijo, učenjem in s problemi

vsakega jezika posebej. Cilj testa je preveriti teoretično ozadje jezikov in spoznati jezike v

praksi. Rezultati nam bodo v pomoč pri izpolnjevanju primerjalnega jezika. Vsak jezik ima

svojo težavnostno stopnjo, sistem delovanja, lastnosti itd.

Ker test vsebuje povezavo na podatkovno bazo, je z jezikom potrebno namestiti še

podatkovno bazo. V našem testu bomo uporabljali bazni sistem MySQL, saj gre za razširjen

sistem, ki je brezplačen in ga podpirajo vsi jeziki.

5.1 Uporaba jezika PHP

Za delovanje jezika je potrebno namestiti strežnik Apache. Na spletu je ponujenih več

različnih paketov, ki vsebujejo strežnik, podatkovno bazo in različne dodatke (ti paketi so na

primer Wamp, Mamp, Xampp ...). V našem primeru smo uporabili paket Xampp.

Namestitev je zelo enostavna, saj poteka preko enostavnega uporabniškega vmesnika. Po

namestitvi lahko z nameščeno aplikacijo vklopimo strežnik in začnemo z delom.

Spletne strani s PHP kodo lahko pišemo v poljubnem tekstovnem urejevalniku. Pisanje

spletne strani v osnovi izgleda tako, da PHP funkcije in značke vstavljamo v HTML kodo.

Page 31: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

31

Slika 5.1: Vstavljanje PHP kode v HTML dokument.

Kot je prikazano na primeru, se začetek PHP kode označi z značko <?php in zaključi s ?> (ta

način spada med najpogostejše). Za isto nalogo obstajajo še drugi načini kot npr. oblika <?

php koda ?>.

Poleg načina pisanja PHP kode v HTML kodo obstaja tudi način, da pišemo PHP kodo v

ločeno datoteko in v to kodo vstavljamo HTML kodo. To omogočajo posebne funkcije

jezika, kot na primer funkcija echo ali print, kot lahko vidimo na spodnjem primeru.

Slika 5.2: Način vstavljanja in izpisa HTML kode v PHP kodi.

Način, ki ga prikazuje Slika 10 je lahko pri kompleksnejših izpisih HTML kode zahtevnejši,

saj je potrebno paziti na vse vsebujoče znake (nekateri HTML ali CSS ukazi vsebujejo

narekovaje, kar lahko zmede funkcijo echo in dobimo napačen izpis. Pri kompleksnih

spletnih straneh in neizkušenosti uporabnika lahko pride zaradi mešanja HTML in PHP kode

do zmede in slabše preglednosti. PHP zato omogoča, da lahko kodo spletne strani pišemo po

delih v različne datoteke (ni potrebno, da je celotna stran napisana v enem dokumentu). Te

različne dokumente lahko s posebnimi funkcijami združimo v novem dokumentu.

Vse datoteke s spletne strani se shranjujejo v posebno mapo na strežniku. To uporablja

spletni strežnik Apache za prikaz naše strani, kar pomeni, da moramo prav vse datoteke, ki

sestavljajo našo stran, shraniti v to mapo, da strežnik ve, s katerimi datotekami operira. Če

se ob klicanju želene datoteke ta ne nahaja v strežniški mapi, se stran ne prikaže in sistem

<body>

<h1>Vstavljanje php kode v HTML<h1>

<?php echo "Primer"; ?>

</body>

<?php

echo "<h1>Naslov poglovja</h1>";

echo "<p>Tekst</p>";

?>

Page 32: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

32

javi napako. Vse sestavne datoteke spletne strani moramo ustvariti sami (nekateri jeziki in

sistemi sami ustvarijo ključne dele strani).

Sintaksa jezika je razumljiva, berljiva in ko jo razumemo, je preprosta, saj funkcije

vsebujejo besede, iz katerih je razviden namen.Če je v naši kodi napaka, se stran ne prikaže.

Prikaže se besedilo, ki opozarja na napako ter navede vzrok in vrstico napake.

Postopek povezave na podatkovno bazo je lahko ob prvi uporabi precej surov in dolgotrajen,

saj je potrebno uporabiti več funkcij, da pridemo do želenega rezultata (izpis ali vnos v

bazo). Potrebno je ustvariti povezavo na bazo, SQL stavek in pripraviti spremenljivke za

vnos (v primeru vpisovanja v bazo) ali pripraviti pridobljen rezultat za izpis (če iz baze

pridobivamo podatke). Pri izpisu iz baze je potrebno ustvariti še funkcijo za izpis, ki bo

podatke prikazala na željen način.

V primerjavi z ostalimi štirimi jeziki lahko rečemo, da je jezik precej surov. To pomeni, da

moramo večino stvari napisati sami. Pisanje spletnih strani je s pomočjo jezika PHP tako

večkrat lahko zamudno, saj je potrebno napisati precej več kode kot pri nekaterih drugih

jezikih, ki ponujajo bližnjice. V tem primeru se moramo ob delovanju naše aplikacije

osredotočati še na implementacijo. Funkcije in elementi z imeni izražajo svoj namen, vendar

se ob nepoznavanju sintaksa hitro zaplete.

Za večje in kompleksnejše strani je potrebno imeti več znanja iz jezika PHP, prav iz

razloga, ker moramo vse napisati sami [36].

Za pisanje spletnih strani z jezikom PHP ne potrebujemo predznanja kakšnega drugega

jezika, saj je sintaksa dovolj razumljiva, da se je naučimo že ob učenju ali uporabi jezika.

Jezik PHP izhaja iz jezika C, kar lahko za uporabnike z znanjem jezika C predstavlja

podobnost [5].

Slabost jezika je čas, ki ga vložimo v pisanje spletnih strani. Z nekaterimi drugimi jeziki

lahko z manj časa dosežemo večje rezultate, z manj truda in z manj pisanjem kode.

5.3 Uporaba jezika JAVA

Začetki programiranja spletnih strani z jezikom JAVA so bili precej težavni, začelo se je že

pri namestitvi jezika. Namestiti je potrebno več različnih elementov, težje pa jih je bilo

povezati med seboj. Potrebno je namestiti jezik JAVA in strežnik Apache Tomcat.

Namestitev strežnika ne nudi namestitve preko uporabniškega vmesnika, zato ga je bilo

Page 33: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

33

potrebno namestiti s pomočjo ukaznega poziva. Po namestitvi je potrebno med seboj

povezati strežnik in jezik (kopiranje različnih datotek med seboj). Ker želimo jezik povezati

s podatkovno bazo MySQL, moramo namestiti še poseben vtičnik, ki to omogoča (prav tako

s pomočjo ukaznega poziva) [2].

Spletne strani JSP je možno pisati s pomočjo aplikacije (IDE) Net Beans, zato smo namestili

še tega (IDE med drugim poskrbi tudi za organiziranost datotek in vklop/izklop strežnika).

Pisanje spletne strani poteka tako, da se JSP elementi vstavljajo v HTML kodo. JSP in

HTML koda se prepletata, kar lahko vodi do nepreglednosti. V našem primeru smo vse

skupaj pisali v spletno stran HTML, čeprav je bolj priporočljivo napisati servlet in JSP stran

povezati z njim. Za ta način je potrebno naprednejše znanje jezika JAVA, saj servleti

uporabljajo sintakso JAVA jezika. Zaradi kompleksnosti in zahtevnosti servletov velja, da

naj bi JSP strani pisali grafiki, medtem ko servlete programerji [2].

Spodnja slika prikazuje izsek kode servleta.

Slika 5.3: Izsek kode JSP servleta [2].

Sintaksa jezika JSP je zahtevna in kompleksna. Čeprav obstaja precej JAVA knjižnic in

razredov, iz katerih lahko črpamo bližnjice, se je potrebno naučiti precej kode. V spletno

stran lahko vnašamo JSP elemente in tudi direktno JAVA kodo. JSP uporablja več različnih

za vstavljanje JSP kode v HTML dokument in vsak način ima svoj namen. To kompleksnost

potrjuje pet različnih načinov, kot vidimo na spodnji sliki.

import java.io.*:

import javax.servlet.*;

import javax.servlet.http.*;

String firstName = request.getParameter("firstName");

String lastName = request.getParameter("lastname");

response.serContentType("text/html;charset=UTP-8");

PrintWriter out = response.getWriter();

ouy.println(

"<html>\n"

+"<html>\n"

Page 34: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

34

Slika 5.4: Vstavljanje JSP kode v HTML dokument.

Težava je nastopila pri povezavi na podatkovno bazo. Potrebnih je več nastavitev, ukazi za

povezavo na bazo pa so sintaktično precej nejasni. Prav tako obstajajo različne možnosti

povezave, kar je dodatno zahtevno. Pomagati si je potrebno tudi s samo JAVO.

Vse datoteke, ki vsebujejo JSP kodo, so shranjene pod končnico .jsp. Datoteke, ki

sestavljajo našo spletno stran, se morajo za delovanje shraniti v posebno mapo na strežniku,

da lahko stran deluje.

Za konec testa lahko trdimo, da je JSP jezik, namenjen izkušenejšim uporabnikom in

programerjem, ki že imajo znanje iz jezika JAVA. JSP je nadgradnja jezika JAVA za pisanje

spletnih aplikacij. Brez servletov je pisanje spletnih strani z JSP jezikom težje in

zamudnejše. Jezik lahko v celoti izkoristimo, če prepletamo servlete in JSP strani, kar pa je

težje, saj je pisanje servletov zahtevno opravilo, namenjeno izkušenim programerjem [2].

Kot celota je jezik JAVA zelo zmogljiv, vendar je težji za učenje. Na uradni spletni strani je

zapisano, da uporabniki za pisanje JSP strani ne potrebujejo znanja jezika JAVA, kar po

našem testu ne drži. Za našo spletno stran smo potrebovali dosti več časa kot pri jeziku PHP

in tudi kode je bilo več.

5.5 Uporaba jezika ASP.NET

Namestitev jezika je zelo enostavna. Na spletni strani jezika je možno prenesti aplikacijo

"Microsoft visual studio express", ki je nujno potrebna za pisanje ASP.NET spletnih strani.

To je brezplačna različica glavne aplikacije Visual Studio. IDE je priporočljiv, saj zraven

podpore za pisanje strani vsebuje še strežnik in povezavo na bazo. Namestitev je preprosta,

<h1>primeri vstavljanja JSP kode</h1>

<% JSP funkcije %>

<%= JSP izrazi %>

<@ JSP direktive %>

<%-- JSP komentarji --%>

<%! JSP deklaracija %>

Page 35: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

35

saj poteka preko uporabniškega vmesnika. Če želimo uporabiti podatkovno bazo MySQL, je

potrebno namestiti še dodatek za podatkovno bazo MySQL Connector/Net.

ASP.NET za ustvarjanje strani deluje tako, da kodo skriptnega jezika vstavljamo v HTML

stran. Pri tem nam je v veliko pomoč IDE, saj kodo za nas ustvari avtomatsko. HTML koda

in koda jezika ASP.NET se med seboj prepletata in nista ločeni. Vse pisanje in ustvarjanje

spletnih strani je uporabniku zelo prijazno. IDE ponuja dva načina dela. Lahko pišemo

izvorno kodo strani, lahko pa se ukvarjamo z grafičnim vmesnikom v Design načinu, kjer

IDE sam generira kodo. Slednji način je enostavnejši in hitrejši. V spletno stran lahko

vstavljamo HTML elemente iz knjižnice, ki se grafično prikažejo v spletni strani. Vsakemu

HTML elementu lahko dodajamo vse lastnosti, in to ne da bi morali posebej poznati HTML

kodo.

Posebej enostaven je proces povezave na podatkovno bazo. Bazo in tabele je možno narediti

in jih upravljati v samem programu (ni potrebno delati baz z ukaznim pozivom). IDE

namreč ponuja grafični vmesnik za upravljanje z bazo. Ta način je še posebej primeren za

vse uporabnike, ki nimajo izkušenj s sistemi podatkovnih baz, saj je to še posebej enostavno.

Slika 5.6: Primer uporabniškega vmesnika za upravljanje s podatkovno bazo v IDE-ju.

Dodatno nas je presenetilo, ko smo želeli izpisati podatke iz baze. Vse, kar je potrebno

narediti, je, da se podatkovno bazo povleče iz knjižnice na stran in IDE avtomatsko naredi

tabele, povezavo itd. Cel postopek je v primerjavi z ostalimi jeziki najbolj preprost.

Page 36: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

36

Slika 5.7: Primer tabele, ki jo je IDE ustvaril samodejno na podlagi narejene tabele v

podatkovni bazi.

Z dodajanjem manjših nastavitev se tabeli avtomatsko dodajo na stran različne kontrole (za

vstavljanje v bazo, brisanje itd.).

Pri ustvarjanju enostavnih strani s pomočjo grafičnega vmesnika ni potrebno poznati HTML

ali druge kode. Če želimo programirati kompleksnejše stvari, nam ASP.NET ponuja

programiranje z jezikom C# in VisualBasic. Sintaksa obeh jezikov se precej razlikuje [20].

Pisanje spletnih strani brez omenjenega orodja bi bilo neprimerno težje. Vedno imamo

možnost vpogleda v kodo, ki jo je IDE ustvaril. Lahko jo tudi ročno spreminjamo. Sama

koda oz. sintaksa je precej jasna.

Ustvarjanje dinamičnih strani z jezikom ASP.NET je zaradi IDE okolja precej drugačno od

ostalih testiranih spletnih strani. Jezik nudi dosti bližnjic, ki omogočajo velike rezultate z

malo truda.

Po testu lahko označimo jezik kot primeren za začetnike, saj za ustvarjanje enostavnih

spletnih strani ne zahteva znanja kode, ki pa je kasneje priporočljiva. Kodo je bolje poznati,

saj nismo odvisni od avtomatizacije, ki je zelo priporočljiva in prijazna uporabniku.

V našem primeru smo uporabili standardni način pisanja strani. To pomeni, da se koda

jezika in HTML koda prepletata. Na izbiro imamo tudi MVC sistem, ki je kot nadgradnja

jezika.

S pomočjo jezika ASP.NET smo najhitreje prišli do želenega rezultata, preproste dinamične

spletne strani s podatkovno bazo.

Page 37: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

37

5.4 Uporaba jezika PYTHON

Namestitev in priprava vseh potrebnih stvari za začetek programiranja sta tudi pri tem jeziku

nekaj posebnega. Prvotno je potrebno namestiti jezik Python s pomočjo ukaznega poziva. Ta

način je lahko za manj vešče uporabnike težji.

Našo spletno aplikacijo bomo pisali s pomočjo frameworka Django, ki ga je potrebno

namestiti naslednjega. Namestitev frameworka je bila izmed vseh jezikov najzahtevnejša in

nam je vzela največ časa. Framework je bilo potrebno namestiti prav tako s pomočjo

uporabe ukaznega poziva.

Če želimo framework povezati s podatkovno bazo MySQL, potrebujemo še vtičnik. Tudi

namestitev vtičnika je bila zamudna, saj je bilo potrebno najti pravo pot in potrebnega je bilo

nekaj programerskega znanja.

Za upravljanje s sistemom Django in jezikom Python potrebujemo znanje in izkušnje z

delom ukaznega poziva, saj enostavnejšega uporabniškega vmesnika ni.

Naša aplikacija ali projekt je sestavljena iz posebnih map in datotek, ki jih framework

Django ustvari sam in so potrebne za delovanje spletne strani.

Strežnika za testiranje naše aplikacije ni potrebno nameščati, saj Django vsebuje strežnik, ki

služi za testiranje spletne strani.

Django uporablja sistem MVC, ki se razlikuje od standardnega. Koda dinamičnega dela

spletne strani je ločena od HTML datotek. Posebnost je, da se v HTML kodo ne vpisuje

večjih delov Python-ove kode, ampak zgolj rezultati funkcij iz drugih datotek.

Slika 5.8: Vstavljanje Python kode v HTML dokument.

Sistem nam na začetku ustvari tri pomembne datoteke, ki so srce naše spletne strani. Te

datoteke so urls.py, manage.py in settings.py.

<h1>primeri vstavljanja Python kode v

HTML stran</h1>

<p>Dragi {{ ime_uporabnika }},</p>

Page 38: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

38

Datoteka urls.py predstavlja most med URL naslovi (iz brskalnika) in našimi funkcijami.

Kot primer: če nekdo vpiše URL naslov z besedo Zdravo (http://www.nasastran.si/zdravo),

bomo v tej datoteki povezali zahtevek s funkcijo, ki se ob tej zahtevi izvrši.

Slika 5.9: Primer iz datoteke urls.py, kjer funckija povezuje URL naslov z željeno funkcijo.

Settings.py je datoteka, kjer so shranjene različne nastavitve naše strani. Med nastavitvami

je tudi povezava na podatkovno bazo, kjer so vsi podatki za povezavo na bazo. Povezava na

bazo se vzpostavi sama.

Slika 5.10: Izsek kode iz datoteke settings.py, ki prikazuje povezavo na podakovno bazo.

Datoteka manage.py vsebuje različne funkcije naše spletne strani. Za ločitev različnih

funkcij lahko sami ustvarimo Python datoteke (datoteke s končnico .py), kamor lahko

dodajamo funkcije. HTML datoteke oz. predloge se morajo nahajati v posebni mapi

"Templates". Te predloge vsebujejo HTML kodo in Python spremenljivke, ki služijo kot

rezultati naših funkcij. Rezultatom funkcij povemo, v katerem HTML dokumentu naj se

prikažejo.

Jezik ponuja nekaj bližnjic. Ko ustvarimo modele za podatkovno bazo, nam sistem ustvari

administratorsko spletno stran, kjer lahko na lažji način upravljamo s podatki iz baze,

uporabniki in nastavitvami spletnih strani. Stran deluje kot uporabniški vmesnik za

nastavitve naše spletne strani. Obstaja še več uporabnih bližnjic. Če želimo ustvariti HTML

tabelo, obstaja preprosta funkcija, ki sama naredi celotno HTML tabelo namesto nas.

urlpatterns = patterns('',

(r'^time/$', current_datetime),

(r'^time/plus/\d+/$', hours_ahead),

)

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.',

'NAME': 'test',

'USER': 'admin',

'PASSWORD': 'admin',

Page 39: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

39

Sintaksa jezika je zelo preprosta, razumljiva in direktna. Funkcijo lahko zapišemo dosti

hitreje in z manj kode kot pri jezikih PHP, ASP.NET ali JAVA.

Jezik Python je dokaz, da se lahko pri MVC sistemu osredotočimo na samo aplikacijo,

medtem ko določena dela naredi sistem sam namesto nas.

Zaradi sistema ločenih datotek ne pride do nepreglednosti ali mešanja kode. Vse funkcije za

dinamično stran so lahko napisane v enem dokumentu, HTML vsebina v drugem dokumentu

in povezave med njimi v tretjem.

Predhodno ni potrebno poznati jezika Python, če želimo z njim pisati dinamične spletne

strani, saj se skozi delo naučimo preproste sintakse in delovanja. Jezik Python je primeren za

večje in manjše projekte, vendar bi zaradi težavne namestitve in iskanja virov za učenje

jezika hitreje naredili preprost projekt s pomočjo kakšnega drugega skriptnega jezika. Jezik

ocenjujejo kot primeren začetnikom. Za sam jezik lahko oceno potrdimo, med tem ko

uporaba jezika za ustvarjanje spletnih strani za začetnike ni primerna (prav tako težavna

namestitev in premalo virov za učenje). Zahtevna namestitev lahko vzame precej časa.

Ustvarjanje spletnih strani ni tako zamudno, ko je sistem nameščen in vse deluje. Za to

poskrbi veliko število bližnjic in MVC sistem.

5.5 Uporaba jezika Ruby

Namestitev je prijazna za uporabnike operacijskega sistema Microsoft Windows, saj obstaja

namestitvena datoteka, ki vsebuje jezik Ruby, framework Rails, podatkovno bazo MySQL

in vse dodatke. Namestitev je enostavna, saj poteka preko uporabniškega vmesnika.

Namestitev na drugih sistemih, kot recimo na operacijskem sistemu Mac OS, je malo daljša,

saj je potrebno vse komponente namestiti ročno z uporabo ukaznega poziva.

Vse dogajanje in upravljanje jezika ter frameworka je osredotočeno na ukazni poziv. Ukazi

za upravljanje so povsem enostavni in jasni, kar je prijazno začetnikom, ki uporabe

ukaznega poziva niso vešči.

Jezik deluje po sistemu MVC. Ko začnemo z novim projektom, nam frameworka vtomatsko

ustvari mape in datoteke, ki so sestavni del naše aplikacije. Map in različnih datotek, ki jih

sistem ustvari, je presenetljivo dosti.

Page 40: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

40

Med pomembne komponente in datoteke spadajo "kontrolerji", ki jim je namenjena tudi

posebna mapa, kamor jih shranjujemo. V "kontroler" datoteke lahko definiramo različne

funkcije naše spletne strani.

Slika 5.11: Primer funkcije v "kontrolerju", ki izpiše trenutni čas.

Te funkcije povežemo s datotekami "views" oziroma z mapo, kjer se nahajajo dokumenti s

HTML kodo (HTML predloge). Pomemben del so tudi modeli, ki upravljajo s podatki iz

podatkovne baze. Modele si lahko razlagamo kot "gate keeperje" med podatki in

kontrolerjem [36].

Posebna je povezava modelov s podatkovno bazo. Čeprav lahko ustvarimo model in tabelo v

podatkovni bazi posebej, nam jezik ponuja bližnjico. Ko naredimo model, nam sistem

avtomatsko naredi enako tabelo v naši podatkovni bazi. Modelu dodamo "kontroler" in

"view", nato pa s pomočjo posebnega ukaza Ruby ustvari spletno stran. Omenjena spletna

stran je osnovnega izgleda, ponuja pa izpis iz podatkovne baze. S tremi ukazi smo naredili

spletno stran z izpisom podatkov iz baze in možnostjo urejanja le-teh.

Tudi tukaj bi lahko vse naredili ročno, vendar je Ruby zasnovan tako, da nam pri tem

pomaga [36].

Posebni so tudi HTML dokumenti, ki imajo končnico html.erb, kar pomeni, da lahko

vključujejo Ruby kodo. Predstavljajo grafične predloge in priporočljivo je, da vsebujejo čim

manj Ruby kode, da ne pride do nepreglednosti.

Slika 5.12: Primer vstaljanja Ruby kode v HTML.erb dokumente.

Sintaksa jezika je v primerjavi z ostalimi jeziki precej enostavna. Podobna je Pythonu.

<p>primer vstavljanja ruby kode v HTML</p>

<% 3.times do%>

Zdravo! <br />

<% end %>

class SayController < ApplicationController

def hello

@time = Time.now

end end

Page 41: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

41

Funkcije, napisane z jezikom Ruby, vsebujejo manj kode kot pri ostalih jezikih. Ruby

ponuja dosti bližnjic, kar je manj naporno in pridobimo čas. Zaradi bližnjic se lahko

posvetimo samemu delovanju aplikacije in nam ni treba skrbeti, kako bomo določene stvari

implementirali (primer povezave na podatkovno bazo). Sistem MVC poskrbi za ločevanje

različnih delov strani. Kljub vsemu sam sistem na začetku naredi kopico različnih datotek,

kar lahko deluje nepregledno. Predhodno znanje jezika Ruby ni potrebno. Skozi učenje

jezika ustvarjanja spletnih strani se naučimo preproste sintakse in delovanja. Jezik Ruby je

primeren tako za večje kot manjše projekte.

Za izdelavo željene strani smo skupaj z namestitvijo potrebovali zelo malo časa. Za to so

poskrbele bližnjice in enostavnost jezika.

Page 42: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

42

6 PRIMERJALNA TABELA STREŽNIŠKIH SKRIPTNIH

JEZIKOV

Na podlagi teoretičnega ozadja jezikov in praktične uporabe smo naredili primerjalno tabelo

vseh petih jezikov.

Tabela 1: Primerjalna tabela

PHP

JAVA

ASP.NET

PYTHON

RUBY

Jezik namenjen samo

dinamičnim spletnim

stranem

DA

NE

DA

NE

NE

Izvor jezika

Pear, C,

JAVA

C, C++

C#,

VisualBasic

/

C

MVC

NE

NE

OPCIJSKO

DA

DA

Odprta koda

DA

DA

NE

DA

DA

Podpodročje ali

framework jezika, ki

se ukvarja s spletnimi

stranmi

/

JavaServer

pages (JSP)

/ Framework

Django in

ostali

Framework

Rails

Strežnik

Apache

Apache

Tomcat

IIS2

Apache (z

dodatkom)

Apache (z

dodatkom)

Delovanje strežnika na

operacijskih sistemih

Vsi

Vsi

Samo

Microsoft

Windows

Vsi

Vsi

Podatkovne

baze

Privzet sistem

podatkovne baze

MySQL

HSQLDB

SQL Server

SQLite

SQLite

Možnost povezave na

MySQL

DA

DA (potreben

vtičnik)

DA (potreben

vtičnik)

DA (potreben

vtičnik)

DA (potreben

vtičnik)

Page 43: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

43

Kompatibilnost z

ostalimi sistemi

podatkovnih baz

DA

DA

DA

DA

DA

Rezultati

testiranj

Težavnost namestitve*

1

2

1

2

1

Potrebno predznanje*

NE

DA (JAVA)

NE

NE

NE

Koda,

bližnjice

Vse moramo

napisati sami.

Vse moramo

napisati sami.

Možnost

avtomatskega

generiranja kode

Obstajajo

bližnjice.

Obstajajo

bližnjice.

IDE

NE

DA

DA

NE

NE

Čas potreben za

enostavno spletno

stran*

2

2

1

1

1

Podpora pri učenju in

pomoč*

Odlična

Slaba

Dobra

Slaba

Dobra

Primernost za

začetnika

DA

NE

DA

NE

DA

Legenda

Težavnost namestitve – ocenjuje, kako zahtevna je celotna namestitev jezika, strežnika in

dodatnih komponent, če so te potrebne.

1- Namestitev je lažja, saj poteka z uporabo prijaznega uporabniškega vmesnika.

2- Namestitev je težja, saj poteka ročno z uporabo ukaznega poziva.

Potrebno predznanje - ocenjuje, če je potrebno kakšno predznanje za ustvarjanje spletnih

strani s pomočjo skriptnega jezika. Ocena izhaja iz testiranja jezikov, kjer smo lahko videli,

da se je možno nekatere jezike naučiti sproti (predznanje ni bilo potrebno), medtem ko pri

drugih igra predznanje pomembno vlogo.

DA - potrebno je predznanje drugega jezika, saj je sam skriptni jezik premalo za učinkovito

ustvarjanje spletnih strani.

NE - predznanje ni potrebno, saj se sintakse in delovanja naučimo v poteku dela.

Page 44: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

44

Čas, potreben za enostavno spletno stran - ocenjuje čas, ki smo ga potrebovali, da smo s

pomočjo skriptnega jezika ustvarili enostavno spletno stran (stran z delujočo povezavo na

podatkovno bazo). Govorimo o poteklem času, ko smo spletne strani s skriptnimi jeziki

ustvarjali prvič (z učenjem).

1. Delujočo spletno stran smo v primerjavi z ostalimi jeziki ustvarili zelo hitro, saj sam jezik

ponuja dosti bližnjic in poskrbi za avtomatizacijo določenih stvari (povezava na podatkovno

bazo ...).

2. Za delujočo spletno stran smo porabili več časa, saj jeziki ne ponujajo določenih bližnjic in

je potrebno vse napisati ročno.

Podpora pri učenju in pomoč - podpora za učenje je ocenjena na podlagi števila knjig in

ostalih virov, ki so uporabniku v pomoč pri začetnem kot nadaljnjem programiranju s

pomočjo skriptnega jezika. Knjige smo iskali v največji spletni knjigarni Amazon.com.

Poleg knjig med vire sodi tudi podpora na uradni spletni strani jezika in nasploh različni viri

na internetu, ki jih je bilo možno najti, če smo jih potrebovali.

- Odlična ocena pomeni, da za podporo obstaja veliko število različnih knjig (več kot

100), da uradna spletna stran ponuja veliko informacij v zvezi z jezikom in da zraven

naštetega obstajajo še različne druge strani, ki so nam lahko v pomoč (strani,

namenjene učenju, veliko število video posnetkov za učenje ...).

- Dobra ocena pomeni, da za podporo obstaja povprečno število različnih knjig (v

našem primeru med 30 in 70), ki so nam lahko v pomoč. Prav tako lahko najdemo

dosti informacij na uradni spletni strani (žal ne vseh) in drugje po internetu (video

vsebin in dodatnih strani je manj, kot pri oceni odlično).

- Slaba ocena pomeni, da za podporo trenutno obstaja zelo malo različnih knjig (manj

kot 20) in prav tako virov na internetu, vključno z uradno spletno stranjo jezika.

Primernost za začetnika - to je zaključna ocena za vsak jezik, ki je podana na podlagi

rezultatov testiranja iz tabele, analize, uporabe jezika in izkušnje, ki nam jo je jezik ponudil,

saj smo se z večino tudi sami srečali prvič.

- DA - jezik bi na podlagi analize in testiranja priporočali začetnikom.

- NE - jezik je na podlagi testiranja primeren za uporabnika z določenimi

programerskimi izkušnjami.

Page 45: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

45

7 ZAKLJUČEK

V diplomski nalogi smo se podrobneje spoznali z dinamičnimi spletnimi stranmi, njihovim

delovanjem in z osnovo - strežnikovimi skriptnimi jeziki. Spoznali smo lastnosti jezikov in

njihovo delovanje. Pri spoznavanju jezikov smo analizirali literaturo, ki nam je bila na voljo.

Pri jezikih Python in JAVA smo pri analizi naleteli na težavo, saj sta v primerjavi z ostalimi

jeziki ponujala najmanj literature.

Vsakega izmed njih smo preizkusili na praktičnih primerih, kjer smo s pomočjo vsakega

izmed njih ustvarili preprosto dinamično spletno stran. Vsak jezik je bilo potrebno namestiti

skupaj z vsemi komponentami (če so te bile potrebne za delovanje), da smo lahko pričeli z

delom. Pot do željenega rezultata je bila pri vsakem jeziku drugačna. Pri nekaterih jezikih

smo do rezultata prišli zelo hitro in z malo truda, medtem ko je bilo pri drugih potrebnega

več dela. Vsak jezik nudi svoj način ustvarjanja spletnih strani, zato smo se morali naučiti

sintakse in delovanja za vsak jezik posebej. Ugotovili smo, da pri nobenem jeziku, razen pri

jeziku JAVA, ni bilo potrebnega predznanja (zaradi pomanjkanja predznanja je bilo delo

dodatno težje). Sintakse in načina pisanja strani smo se učili sproti med delom. Med delom

smo naleteli na nekaj problemov. Problemi so se pojavljali pri namestitvi jezikov, ki jih je

bilo potrebno nameščati z uporabo ukaznega poziva. Pri nekaterih jezikih je bila

problematična vzpostavitev povezave na podatkovno bazo MySQL, saj so potrebovali

dodatne vtičnike, katerih namestitev prav tako ni bila enostavna.

Sedaj je odvisno od uporabnika, za kateri jezik se bo odločil in kateremu bo prišel do dna.

Dokazali smo, da začetki niso težki. S pomočjo tabele, ki smo jo naredili, predvidevamo, da

bi uporabniku služila pri lažji izbiri pravilnega jezika za njegov projekt. Jeziki so si zelo

različni. Vsak jezik ima svoje pozitivne in negativne strani, do željenega cilja pa lahko

pridemo z vsakim na tak ali drugačen način.

Page 46: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

46

8 VIRI IN LITERATURA

[1] Static website, dostopno na: http://www.techterms.com/definition/staticwebsite, [27. 3.

2012].

[2] J. Murach, Murach's Java servlets and JSP 2nd Edition, USA: Mike Murach&

Associates, 2008.

[3] What is static website, dostopno na:

http://www.roseindia.net/services/webdesigning/corporatewebsitedesign/What-is-Static-

Website.shtml, [28. 3. 2012].

[4] Static Vs. dynamic websites, dostopno na: http://www.edinteractive.co.uk/article/?id=4,

[28. 3. 2012].

[5] L. Welling, PHP and MySQL Web Developement Fourth Edition, USA: Sams, 2009

[6] M. Štrancar, PHP in MySQL na spletnem strežniku Apache, Ljubljana: Založba

Pasadena, 2000.

[7] Budja, B. Skriptni jeziki. dostopno na:

http://www.s-sers.mb.edus.si/gradiva/w3/javascript/skript.html, [30. 3. 2012].

[8] Podatkovna baza, dostopno na:

http://164.8.132.54/RIL_VS/sedmo.html, [29. 3. 2012].

[9] PHP Tutorial - Databases in PHP, dostopno na:

http://www.htmlgoodies.com/beyond/php/article.php/3511346/PHP-Tutorial---Databases-in-

PHP-An-Introduction.htm, [13. 4. 2012].

Page 47: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

47

[10] Database management system, dostopno na:

dostohttp://www.webopedia.com/TERM/D/database_management_system_DBMS.html, [9.

4. 2012].

[11] Popular database Management Systems Overview, dostopno na:

http://dbconvert.com/overview.php, [9. 4. 2012].

[12] Introduction to Internet information services 7, dostopno na:

http://www.windowsnetworking.com/articles_tutorials/Introduction-Internet-Information-

Services.html, [13. 4. 2012].

[13] C. Carneiro, Beginning Rails 3, USA: Apress, 2010.

[14] Stump, J. Understanding MVC in PHP, dostopno na:

http://oreilly.com/php/archive/mvc-intro.html, [14. 4. 2012].

[15] Vrste programskih jezikov, dostono na: http://colos1.fri.uni-

lj.si/ERI/INFORMATIKA/PROGRAMIRANJE/vrste_progJezikov_prevajanje_tolmacenje.

html, [11. 5. 2012].

[16] W3Tech, dostopno na: http://w3techs.com/, [12. 4. 2012].

[17] PHP usage trends, dostopno na: http://trends.builtwith.com/framework/PHP, [9. 4.

2012].

[18] Kaj je odprtokodna programska oprema?, dostopno na:

http://www.coks.si/index.php5/Vse_o_Odprti_kodi, [2. 4. 2012].

[19] PHP Dowload site, dostopno na:

http://www.php.net/downloads.php, [2. 4. 2012].

[20] K. Cox, ASP.NET 3.5 for Dummies, Canada: Wiley Publishing, 2008

Page 48: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

48

[21] ASP.NET Tutorials, dostopno na: http://www.w3schools.com/aspnet/default.asp, [13.

4. 2012].

[22] ASP History&Information, dostopno na: http://www.xmluk.org/asp-history-

information.htm, [10. 4. 2012].

[23] Microsoft SQL Server vs. MySQL, dostopno na:

http://www.mssqltips.com/sqlservertip/1920/microsoft-sql-server-vs-mysql/, [12. 4. 2012].

[24] W.B. Sanders, ASP.NET 3.5 A Beginner's guide, USA: Mc Graw Hill, 2009.

[25] V. Chopra, Beginning JavaServer Pages, Canada: Wiley Publishing, 2005.

[26] What is Android?, dostopno na: http://developer.android.com/guide/basics/what-is-

android.html, [17. 4. 2012].

[27] Web Developement with JavaServer Pages Second Edition, UK: Manning, 2002.

[28] H. Bergsten, JavaServer Pages, USA: O'Reilly, 2000.

[29] JavaServer Pages Techology, dostopno na:

http://www.oracle.com/technetwork/java/javaee/jsp/index.html, [8. 4. 2012].

[30] Kaj je Servlets?, dostopno na:

http://www.presentia.si/baza-znanja-helpdesk/2008/kaj-je-servlets/, [6. 4. 2012].

[31] M. Dawson, Python Programming for the Absolute Beginner, USA: Course

Technology, 2003.

[32] Python programming language, dostopno na:

http://www.python.org/, [7. 4. 2012].

Page 49: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

49

[33] Web Frameworks for Python, dostopno na:

http://wiki.python.org/moin/WebFrameworks, [10. 4. 2012].

[34] Meet Django, dostopno na: https://www.djangoproject.com/, [3. 4. 2012].

[35] A. Holovaty, The Definitive Guide to Django, USA: Apress, 2008.

[36] S. Ruby, Agile Web Developement with Rails Second Edition, USA: Pragmatic

Bookshelf, 2006.

[37] The advantages of static web pages, dostopno na:

http://www.ehow.com/list_6498730_advantages-static-pages.html, [11. 5. 2012].

[38] Deploying ruby on rails is easy, dostopno na: http://rubyonrails.org/deploy, [13. 4.

2012].

[39] Spletno gostovanje za telebane, dostopno na: http://www.neo-serv.net/blog/tag/kaj-je-

streznik/, [11. 5. 2012].

[40] Strežnik - server, dostopno na: http://www.jepa.si/slovarcek/naprave/73-streznik-server,

[11. 5. 2012].

[41] SQL tutorial, dostopno na: http://www.w3schools.com/sql/default.asp, [11. 5. 2012].

[42] A. Sevčnikar, Podatkovne baze, dostopno na:

lpt.unimb.si/lpt/student/im3/files/uvod_v_pb.pdf, [12. 5. 2012].

[43] Usage statistics and market share of PHP, dostopno na:

http://w3techs.com/technologies/details/pl-php/all/all, [12. 5. 2012].

[44] The 17 most-visited sites ob 2011, dostopno na:

http://www.huffingtonpost.com/2011/06/24/most-visited-sites-

2011_n_883756.html#s297574&title=17__Youkucom, [12. 5. 2012].

Page 50: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

50

[45] Usage statistics and market share of ASP.NET, dostopno na:

http://w3techs.com/technologies/details/pl-aspnet/all/all, [12. 5. 2012].

[46] Usage statistics and market share of JAVA, dostopno na:

http://w3techs.com/technologies/details/pl-java/all/all, [12. 5. 2012].

[47] TIOBE Programming community index of May 2012, dostopno na:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html, [12. 5. 2012].

[48] TIOBE company, dostopno na:

http://www.tiobe.com/index.php/content/company/Home.html, [12. 5. 2012].

Page 51: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

51

9 PRILOGE

9.1 CD z datotekami testnih spletnih strani

Diplomski nalogi je priložen CD, na katerem se nahajajo datoteke spletnih strani, ki smo jih

naredili za testiranje jezikov.

Page 52: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

52

Page 53: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

53

Page 54: PRIMERJAVA STREŽNIŠKIH SKRIPTNIH JEZIKOV · spletna stran [2]. Dinamične spletne strani tako vedno poženejo skripto, ko morajo ustvariti spletno stran za uporabnika [37]. Slika

Primerjava strežniških skriptnih jezikov

54