Analiza in Primerjava Tehnologij Za Razvoj Spletnih Aplikacij
Total Page:16
File Type:pdf, Size:1020Kb
Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Alois Paulin Analiza in primerjava tehnologij za razvoj spletnih aplikacij Diplomska naloga Maribor, september 2008 ANALIZA IN PRIMERJAVA TEHNOLOGIJ ZA RAZVOJ SPLETNIH APLIKACIJ Ključne besede: internet, spletne tehnologije, informatika, RIA, Ajax, XML UDK: 004.455:004.738.4(043.2) Povzetek: Pri snovanju spletnih aplikacij je zahtevan poseben poudarek pri izboru tehnologij, na katerih bo aplikacija zgrajena. Razpoložljiv nabor je odvisen od tehničnih pogojev izvajalnega okolja na strani strežnika in odjemalca, osnovnih vsebinskih zahtev, ter nenazadnje od znanja razpoložljivih kadrov. V našem delu smo ustvarili pregled nad tehnologijami za razvoj spletnih aplikacij, tako tistimi, ki so bile v uporabi v preteklosti, danes aktualnimi in tehnologijami, ki se razvijajo za prihodnost. Osredotočili smo se pri tem na tehnologije »odprtih standardov«, ki jih ponuja W3C. Tendence uporabe spletnih tehnologij gredo jasno v smer proizvajanja obilnih spletnih aplikacij (RIA), posledično smo izvedli primerjavo tehnoloških paketov, kot jih ponujajo različni proizvajalci za obvladovanje tega področja. Primerjali smo jih na podlagi kriterijev, ki vplivajo na odločitve za izbor tehnologij v praksi – torej tako iz vidika uporabnosti, kot tudi podprtosti tehnologije. V praktični analizi smo izdelali RIA aplikacijo za poslovanje mladinske organizacije, ki gradi na tehnologijah odprtih standardov, pri tem pa prišli do sklepa, da te tehnologije niso še dovolj široko podprte. ANALYSIS AND COMPARSION OF WEB TECHNOLOGIES Keywords: internet, web technologies, informatics, RIA, Ajax, XML Abstract: When it comes to developing web applications, the major concern regards the technologies, which are used to create a rich user experience. Our decision which one to chose str. 2/84 depends on available infrastructure, both client‐ and server‐side, as well as on basic content‐ dependent needs and the know‐how of our human resources. In our work we describe past, contemporary and avantgardistic web technologies, which are used for web development, focusing mainly on ”open‐standards” principles and tools. As the contemporary development of web technologies is clearly tending towards providing tools for creating “richer” content (RIA), we focused on comparing those kind of tools provided by different software houses. Our comparison based on criteria needed for decisions in real‐world scenarios and applications. We developed an RIA application using open standards technologies for the content management of a youth organization. Doing this, we realized that open standards technologies are not yet supported broadly enough. str. 3/84 str. 4/84 str. 5/84 Preambula Spletne tehnologije me fascinirajo že od kar sem dobil internet, kar pa je bilo relativno pozno. Z računalnikom nisem »gor rastel«, kot je to danes navada, temveč sem ga dobil šele, ko sem bil star cca. 14 let in sem se vpisoval na srednjo šolo. Takrat je naš učitelj za matematiko mojemu očetu svetoval, da naj mi nabavi računalnik, saj da se to danes potrebuje za šolo. Tisti računalnik je imel takrat vrtoglavih 200mhz in luksuznih 64mb RAM, disk pa je bil velik pregrešnih 4Gb. Danes je to konfiguracija, kot jo ima moj telefon, le »disk« je za polovico manjši. Ko sem se prvič srečal z internetom, se mu je pravilo še Yahoo. Takrat v njem nisem videl kaj prida smisla, tako kot tudi v računalniku na sploh ne, tako kot danes ne vidim pretiranega smisla v industrijskih strojih, katere pač ne znam uporabljati koristno. Internet je dobil veljavo v mojem svetu, ko sem v šoli spoznal, kako razburljiv je lahko ta medij za odraščajočo moško osebo (poleg manj častnih vsebin je internet nudil zlasti neomejen vir brezplačnih vrhunskih programov in zastonj glasbe). Kaj hitro sem ogulil parico hišnega telefona in nanjo z dvema »klamfama« priklopil kabel, katerega sem potegnil v svojo sobo. Temu je sledila še lična prozorna škatlica, imenovana modem – et voila: že je bil internet v moji sobi. Seveda sta služila računalnik in internet vsemu drugemu, kot pa šolskim obveznostim, a sem se v lastni režiji na njih naučil več, kot pa mi je ves avstrijski srednješolski sistem lahko ponudil. Kaj kmalu sem želel, da se tudi sam predstavim svetu in začel sem graditi svojo spletno stran. Tem bolj sem gradil in izpiljeval svojo spletno ambasado, tem bolj sem se poglabljal v tehnologije, ki so bile za to potrebne. Priznavanje, ki sem ga bil deležen s strani sošolcev, mi je nudilo povratno vez za nadaljevanje te svoje kariere, ki se je stopnjevala v vedno bolj interaktivne in multimedialne vsebine. Tako sem že v srednji šoli osvojil veščine, ki sem jih v času študija nadgrajeval z znanjem. Predelal sem takorekoč vse, kar spada v repertoire »web‐freelancerjev« ‐ od spletnih strani, client‐side‐ scripting, obdelava slik, videa, zvoka, compositing, 2D in 3D animacija, Flash, DTP... Edino programiranje je veščina, ki sem jo osvojil na faksu, ko sem v prvem letniku poslušal predmet Programiranje I pri prof. dr. Ojsteršku in pozneje še Programiranje II pri prof. dr. Heričkotu. Takrat sem tudi začel programirati v PHP, kar je bilo sicer daleč od logike nižjenivojskega C++ pri Prog. I in objektne Jave pri Prog. II, a je bil edini jezik, s katerim mi je uspelo povezati potrebe spleta z dinamično obdelavo podatkov in interakcijo uporabnika. Java mi je bila takrat prezahtevna, tudi predavanjem sem le z muko sledil. Snov, ki sem se jo naučil takrat za izpit, pa sem skapiral šele pozneje, ko sem naletel na C#. V PHP sem sprogramiral svoj prvi veliki projekt, »m.comm«. m.comm je bil portal za študente Medijskih komunikacij. Pobudo zanj je podala takratna asistentka, Katja, ki je želela animirati str. 6/84 študente k mreženju in aktivni participaciji. Vodja projekta naj bi bil sicer nekdo drug, moja naloga je bila mišljena kot naloga fizičarja pri projektu, kar mi pa nikakor ni ležalo. Projekt mi je takrat uspelo pridobiti popolnoma pod svojo kontrolo, kar pa je imelo za posledico to, da sem pri njem slej ko prej ostal sam. Uspelo mi je, da je portal kljub njegovem neuradnem statusu zaživel, študentje so ga začeli uporabljati, jaz pa sem dobil potrditev, da delam dobro. m.comm se je stalno razvijal, nanj sem vezal dosti seminarskih in ga unovčeval pri vajah. Do potankosti sem se naučil potrebnih tehnologij in si pridobil pomembne temelje za nadaljnjo izobraževanje na tem področju. S časom sem se naveličal PHP‐ja, saj ni bilo več dosti, kar bi se lahko še naučil. Kaj več, kot pa da se učim in pridobivam praktične izkušnje, pa tudi nisem želel. Eno poletje sem se prijavil na poletno počitniško šolo Inštituta za informatiko, kjer smo se učili v C#. Istočasno me je čakal eden težjih izpitov, tako da sem se dopoldan učil programiranja, popoldan pa pozno v noč piflal za izpit. Na tej počitniški šoli sem spoznal mag. Boštjana Kežmaha, ki je v meni očitno videl nek potencial – verjetno v smislu grafičnega oblikovalca. Takrat sem ga nagovoril, če bi lahko dobil server na Inštitutu, da bi na njem začel graditi portal v C#, ki bi nasledil m.comm. Tisto poletje me sonce kaj dosti ni videlo, kljub temu, da sem bil na morju. Programiral sem kar na terasi, nekaj metrov od mene pa so se na plaži sončili turisti. Jeseni je bil mcNet postavljen in odslej sem bil pristaš Microsoftovih tehnologij. V tem obdobju sem bil deležen velike podpore s strani fakultete, oz. inštituta. Pozneje me je Boštjan pritegnil še v svoj laboratorij, kjer sem pomagal kot študent. Veliko mi ni bilo treba delati, saj sem naloge bodisi hitro opravil, bodisi jih ni bilo. Tako sem pretežno delal naprej na mcNetu in spoznaval nove tehnologije. Kljub temu, da sem takrat že poznal CSS, se še nisem zavedal njegovega polnega potenciala, res pa je, da mi tudi ne bi kaj prida koristil, saj takratni alfa‐in‐omega brskalnik, IE, pač ni kaj dosti spoštoval te norme. Šele ko je MS objavil IE7 in z natečajem želel pritegniti oblikovalce k uporabi te tehnologije, sem spoznal, kaj vse se z CSS da. Podobno velja za XML, ki ga šele danes cenim in mi je bil med poslušanjem predavanj pri prof. Juriču zgolj nepotrebno znanje, ki sem ga kaj hitro zopet pozabil. Med študijem sem se poglobil tudi v Flash, ki sem ga pred tem obvladal le iz vidika oblikovalca, a me je začel zanimati tudi iz razvijalskega vidika. Razmeroma slabo razvijalsko orodje (brez podpore za 'intellisense') pa mi te tehnologije ni naredilo kaj prida simpatično, saj sem bil že preveč razvajen luksuza, ki ga nudijo Microsoftove tehnologije. (Tako si tudi ne morem predstavljati več programiranja v PHP in me vedno znova preseneča, kako sme tako z veseljem programiral v UltraEditu.) str. 7/84 Ko se je pojavil XAML, sem bil sprva navdušen nad potencialom, ki ga ta tehnologija obljublja, a se je navdušenje kaj hitro sprevrglo v razočaranje nad novo paradigmo programiranja, ki zamenja do sedaj navajene pristope tako iz oblikovalskega, kot tudi programerskega vidika. Vmes sem za nekaj časa opustil programiranje, oblikovanje in vse ostale tehnologije, ki so me spremljale že od srednje šole in se znašel na študentskopolitični sceni kot novinar, pozneje funkcionar. Moja pozornost se je usmerila na DTP, znanost tiska, filozofijo pisav, sivine teksta in dilemo transformacije barv po posameznih spektrih, poleg obligatoričnih veščin iz psihologije bralca in medijskih žanrov. V Mariboru, april 2008 str. 8/84 Kazalo ANALIZA IN PRIMERJAVA TEHNOLOGIJ ZA RAZVOJ SPLETNIH APLIKACIJ ................... 2 ANALYSIS AND COMPARSION OF WEB TECHNOLOGIES .....................................................