Aplicații Rich Media pentru Web

Responsabil laborator: Andrei Avram (andrei.avram@gmail.com)

Data postării laboratorului: 11 Mai 2009

Data ultimei modificări: 11 Mai 2009


Din anii '90, când Web-ul a început să fie utilizat în scopuri comerciale, au fost create aplicații web care să prezinte informații și în alte formate decât cel text. Așa numitele aplicații multimedia (în special sunet și video) și-au găsit rolul și în aplicații web și au fost găsite metode pentru prezentarea lor în cadrul browser-ului (standardul HTML nefiind gândit pentru facilitarea prezentării de documente multimedia).

Odată cu dezvoltarea puterii de procesare a calculatoarelor personale și cu pătrunderea mai pronunțată a Internet-ul rapid (broadband) către tot mai mulți utilizatori, aplicațiile multimedia au evoluat la ceea ce se numește azi ”rich media”, aplicații multimedia interactive.

Streaming media și Nonstreaming media

Metodele de distribuiție a conținutului media pot fi împărțite în două categorii:

 

  1. Metode care respectă modelul de distribuție în care receptorul deține toată informația înainte de a o prezenta utilizatorului - este, spre exemplu, cazul cărților sau a CD-urilor, și este de asemenea modelul de distribuție după care este gândit și Web-ul (inclusiv protocolul HTTP) 
  2. Metode care se bazează pe modelul televiziunii și al radio-ului, în care informația nu este stocată, ci este transmisă pe măsură ce este creată / citită și prezentată pe măsură ce este primită.

    Acest model este util (și) în Internet mai ales în transmiterea conținutului media cu video și sunet, și este unul din domeniile cele mai vizate de aplicațiile de tip rich media, pentru că acest tip de probleme nu pot fi rezolvate satisfăcător de către limbajele clasice (HTTP). 

Rich Media

Aplicațiile multimedia care permit controlul utilizatorului au fost denumite generic Rich Media. Termenul se referă la orice fel de documente sau aplicații media interactive (http://en.wikipedia.org/wiki/Interactive_media). Un exemplu de asemenea aplicație este binecunoscutul streamplayer folosit de youtube.com.

O parte din domeniile în care aplicațiile rich media au fost cel mai relevante în Web sunt:

Din punctul de vedere al dezvoltatorului de aplicații web, acesta este segmentul interesant din cadrul mai generalei direcții a aplicațiilor multimedia, întrucât acestea implică prezentarea unor date dinamice, în funcție de nevoile utilizatorului.

Aplicațiile care intră în această categorie se dezvoltă, în general, în limbaje și medii de dezvoltare specializate pentru media, și apoi se execută de către un interpretor (sau client) care se intalează ca plug-in în browser-ul client-ului, dar care rulează separat (ca și proces) față de acesta.

Momentan, liderul în dezvoltarea platformelor pentru rich-media este Adobe, care dezvoltă platforma Flash, alt jucător în această piață fiind Microsoft, cu Silverlight. O platformă utilizată pentru aplicații web interactive au fost și applet-urile Java, o tehnologie Sun, care însă azi nu mai este populară (deși se mai folosește pe scară redusă).

Flash (http://www.adobe.com/products/flashplayer/)

Flash este acum cea mai populară platformă pentru aplicații web rich media, Adobe susținând că majoritatea stațiilor conectate la internet au instalat un client Flash. Flash a început ca o serie de unelte pentru dezvoltarea animațiilor, pentru web și nu numai, fiind orientat către designeri mai mult decât către dezvoltatori. Limbajul din spatele animațiilor se numește ActionScript, și a trecut prin mai multe modificări conceptuale, versiunea curentă, ActionScript 3.0 (http://en.wikipedia.org/wiki/ActionScript) fiind un limbaj matur, orientat obiect, asemănător cu Javascript.

Flash este o tehnologie proprietară, sursele fiind închise (closed source) și mediul de dezvoltare fiind distribuit contra cost. Clientul (closed source) este disponibil gratuit.

Introducerea unei aplicații Flash se face prin introducerea unui tag HTML <object> asemănător cu cel de mai jos:c

 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="40" height="25"> <param name="movie" value="appFlash.swf" /> <param name="quality" value="high" /> <embed src="appFlash.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="40" height="25"></embed> </object>

Pentru că cele mai multe browsere (din motive de securitate) blochează încărcarea și executarea automată a aplicațiilor conținute în tag-uri de tip <object>, Adobe sugerează utilizarea unui script Javascript pentru generarea codului necesar introducerii unei aplicații Flash într-o pagină HTML și apelarea acelui script la încărcarea paginii.


Flex (http://www.adobe.com/products/flex/)


Mediul de dezvoltare pentru Flash și chiar și limbajul ActionScript au fost concepute pentru dezvoltatorii de conținut, și conțin elemente care sunt mai familiare acestora decât dezvoltatorilor de aplicații. Pentru aceștia, Adobe a dezvoltat Flex, o suită de tehnologii menite să ușureze dezvoltarea și lansarea unui aplicații într-un mod uniform pe browsere diferite în sisteme de operare diferite, folosind platforma Flash (Flash player).

Flex permite, prin folosirea ActionScript și a unui limbaj bazat pe XML, dezvoltarea rapidă a aplicațiilor rich media și refolosirea componentelor.

Exemple de aplicații Flex: http://flex.org/showcase/.

Flex este un framework opensource și gratuit, iar un IDE pentru el, deși contra cost, a fost integrat de Adobe în Eclipse și poate fi încercat gratuit pentru 60 de zile. Există și o variantă gratuită pentru studenți, aici: https://freeriatools.adobe.com/flex/ .

Un exemplu rapid, relevant, și recomandat de urmărit de construire a unei aplicații web în Flex: http://www.adobe.com/products/flex/media/flexapp/

Task-uri:

  1. Prezența la laborator: 10p 
  2. Bonus: Dezvoltarea unei aplicații în Flex (temă liberă, la nivelul de complexitate a celei din prezentarea de mai sus, deadline 18 mai): 5p