Flash Super Marathon

35
Cercul de Rich Internet Applications XML, PHP, ByteArray Facultatea de Informatică Iași

description

Maratonul de pe 12.12.2009

Transcript of Flash Super Marathon

Page 1: Flash Super Marathon

Cercul de Rich Internet ApplicationsXML, PHP, ByteArray

Facultatea de Informatică

Iași

Page 2: Flash Super Marathon

• Așa cum spune și denumirea, este un limbaj pentru marcare extensibil….

• Cam așa arată:

XML - eXtensible Markup Language

2http://www.info.uaic.ro/~flash

Page 3: Flash Super Marathon

<lista_filme><film>

<nume>Inglorious Bastards</nume><autor>Quentin Tarantino</autor>

</film><film>

<nume>Fight Club</nume><autor>David Fincher</autor>

</film>………………..………………..

</lista_filme>

XML - eXtensible Markup Language

3http://www.info.uaic.ro/~flash

Page 4: Flash Super Marathon

<prieteni><prieten>

<nume>Becali</nume><prenume>George</prenume> <telefon>0744666999</telefon>

</prieten><prieten>

<nume>Geoana</nume><prenume>Dan</prenume><prenume>Mircea</prenume><email>[email protected]</email>

</prieten>………………..………………..

</prieteni>

XML - eXtensible Markup Language

4http://www.info.uaic.ro/~flash

Page 5: Flash Super Marathon

1 - XML structurează datele (informațiile)

2 - XML seamănă un pic cu HTML

3 - XML este text, dar nu e făcut pentru a fi citit

4 - XML este 'vorbareț' prin design

5 - XML este o familie de tehnologii (SVG, MXML etc.)

XML – în 10 puncte*

5http://www.info.uaic.ro/~flash

* - http://www.siteuri.ro/developer/xml-in-10-points.ro.html

Page 6: Flash Super Marathon

6 - XML e nou, dar nu chiar atât de nou

7 - XML tranformă HTML în XHTML

8 - XML este modular

9 - XML este baza RDF-ului și Web-ului Semantic

10 - XML funcționează pe orice platformă, estesuportat bine și nu are nevoie de licență

XML – în 10 puncte*

6http://www.info.uaic.ro/~flash

* - http://www.siteuri.ro/developer/xml-in-10-points.ro.html

Page 7: Flash Super Marathon

În AS3 – poate fi declarat în aplicație

7http://www.info.uaic.ro/~flash

Page 8: Flash Super Marathon

În AS3 – poate fi declarat în aplicație

8http://www.info.uaic.ro/~flash

Page 9: Flash Super Marathon

XML – poate fi încărcat din fișier extern

9http://www.info.uaic.ro/~flash

Page 10: Flash Super Marathon

• XSL – pentru a formata un XML

• DOM / SAX – pentru a parcurge un XML

• DTD / Schema – pentru a testa corectitudinea unui XML la nivel sintactic (dacă se conformează unui anumit șablon spre exemplu)

XML – ce ați mai putea citi voi…

10http://www.info.uaic.ro/~flash

Page 11: Flash Super Marathon

În AS3 – Pentru acest XML…

11http://www.info.uaic.ro/~flash

Page 12: Flash Super Marathon

• De exemplu după ce a fost încărcat:

XML – cum se parcurge:

12http://www.info.uaic.ro/~flash

Page 13: Flash Super Marathon

• De exemplu după ce a fost încărcat:

XML – cum se parcurge:

13http://www.info.uaic.ro/~flash

Page 14: Flash Super Marathon

• De exemplu după ce a fost încărcat:

XML – cum se parcurge:

14http://www.info.uaic.ro/~flash

Page 15: Flash Super Marathon

• De exemplu după ce a fost încărcat:

XML – cum se parcurge:

15http://www.info.uaic.ro/~flash

Page 16: Flash Super Marathon

• De exemplu după ce a fost încărcat:

XML – cum se parcurge:

16http://www.info.uaic.ro/~flash

Page 17: Flash Super Marathon

XML – preluarea atribute:

17http://www.info.uaic.ro/~flash

2009

Page 18: Flash Super Marathon

XML – inserarea unui element

18http://www.info.uaic.ro/~flash

Page 19: Flash Super Marathon

insertChildAfter

insertChildBefore

Replace

hasSimpleContent

hasComplexContent

attributes

Etc, etc…

Sa încercam să facem un exemplu….

XML – alte comenzi

19http://www.info.uaic.ro/~flash

Page 20: Flash Super Marathon

• Punem un DataGrid, apoi:

In Flex e even easier:

20http://www.info.uaic.ro/~flash

Page 21: Flash Super Marathon

• Câteva cuvinte despre PHP …

Some PHP

21http://www.info.uaic.ro/~flash

Page 22: Flash Super Marathon

• Am putea ca atunci când facem “load” să nu dăm ca sursă un fișier PHP – dacă acolo avem o variabilă, atunci aceasta se poate încărca ca o variabilă; dacă PHPul generează un XML, PHP-ulpoate fi încărcat ca un XML.

Some PHP

22http://www.info.uaic.ro/~flash

Page 23: Flash Super Marathon

• Putem spre exemplu să preluăm datele dintr-o bază de date (MySQL), să construim pe baza acestor date un XML pe care să îl “livrăm”aplicației Flash.

• Leț Trai It

Some PHP

23http://www.info.uaic.ro/~flash

Page 24: Flash Super Marathon

• În design mode o să avem:

Să facem un RSS Reader

24http://www.info.uaic.ro/~flash

Page 25: Flash Super Marathon

Să facem un RSS Reader

25http://www.info.uaic.ro/~flash

Un TextInput cu id=myTextInput

Page 26: Flash Super Marathon

Să facem un RSS Reader

26http://www.info.uaic.ro/~flash

Un Buton cu click="myRSSFeed.send()"

Page 27: Flash Super Marathon

Să facem un RSS Reader

27http://www.info.uaic.ro/~flash

Un DataGrid… revenimasupra lui

Page 28: Flash Super Marathon

Să facem un RSS Reader

28http://www.info.uaic.ro/~flash

Un TextAreaid="myTextArea"

Page 29: Flash Super Marathon

Să facem un RSS Reader

29http://www.info.uaic.ro/~flash

Page 30: Flash Super Marathon

XML – sooper trooper: există multe aplicații care să-l înțeleagă, e ușor de înțeles și de modificat de către om etc… etc…

Problema este cu XMLurile foarte foarte mari…

Pentru a parcurge XMLul, el trebuie să fie complet încărcat în memorie după care să i se construiască arborele DOM. Construirea arborelui DOM – mare mâncătoare de memorie

XML…

30http://www.info.uaic.ro/~flash

Page 31: Flash Super Marathon

• Nu dorim să dăm cu piatra în XML – are avantajele lui

• Când e vorba de comunicare / reprezentarea informațiilor utilizând minimum de memorie, soluția ideală este dată de obiectele de tip ByteArray (șir de octeți)

• Obiectele de tip ByteArray pot fi citite/scrise super rapid (darrrr… nu pot fi înțelese de către om, nu sunt structurate)

ByteArray

31http://www.info.uaic.ro/~flash

Page 32: Flash Super Marathon

ByteArray

32http://www.info.uaic.ro/~flash

Page 33: Flash Super Marathon

Comunicarea utilizând variabile

33http://www.info.uaic.ro/~flash

Page 34: Flash Super Marathon

• Dap:

Putem salva ByteArray-ul pe disc ? (PHP)

34http://www.info.uaic.ro/~flash

Page 35: Flash Super Marathon

Test it…

35http://www.info.uaic.ro/~flash