luni, 3 decembrie 2007

RSS - de ce apare pe toate siturile

Tot mai des vedem pe diferite situri ca apare RSS feed. Putina lume stie ce înseamnă si la ce poate folosi. Astfel căutând puţin am descoperit ca RSS iţi aduce noutăţile care te interesează, de care ai nevoie, de asemenea te poate apăra de spam, aducându-ti doar ştirile de care ai nevoie si nu in ultimul rând poate aduce si trafic, oferindu-ti posibilitatea sa-ti creezi propriul canal de ştiri.

Mai tehnic - RSS este o metoda care foloseşte XML pentru a distribui conţinutul unui site web, pe mai multe alte situri web. De asemenea RSS permite distribuirea rapida a noutăţilor si update-urilor pe web.( www.w3schools.com/rss).

Ce este RSS?

  • RSS vine de la Really Simple Syndication
  • RSS iţi permite înscrierea conţinutului site-ului intr-un „sindicat”
  • RSS permite vizualizarea si distribuirea de titluri si conţinuturi de articole
  • Documentele RSS pot fi updatate automat
  • RSS permite personalizarea unor situri

De ce sa folosim RSS?

Fara RSS, useri vor trebui sa verifice situl in fiecare zi pentru a afla de eventualele noutati. Aceasta ar consuma timp prea mult. Insa cu RSS ei pot sa verifice situl mult mai rapid, folosind un RSS „aggregator” – un site sau un program care aduna si sorteaza RSS feed-ul. De vreme ce datele RSS sunt mici si uşor de încărcat, va fi uşor de folosit la telefoane mobile sau PDA-uri.

Cum functioneaza RSS?

Cu RSS, iţi înregistrezi conţinutul la companii numite „aggregator”. Astfel mai intai trebuie creat documentul RSS cu extensia .xml, apoi se upload-eaza documentul pe situl tău. Apoi te înregistrezi la un „aggregator”. In fiecare zi acesta va căuta pe siturile înregistrate la el după documente RSS, va verifica link-ul si va arata informaţie despre feed astfel incat clienţii vor merge spre documentele care ii intereseaza.

Despre sintaxa.


Elementul "channel" - folosit pentru descrierea RSS feed. Acest element are trei fi necesari:

Fiecare element "channel" are unul sau mai multe elemente "item". Fiecare element "item" va defini un articol in RSS feed. De asemenea are trei fi necesari:

Cel mai bun mod de gestionare a feed-ului RSS este gestionarea proprie, dar care poate lua mult timp daca ai multa informatie noua, de aceea se poate apela la un RSS automat cum ar fi MyRSSCreator sau FeedFire.

YUI - ca sa nu trebuiasa sa reinventezi roata

YUI (Yahoo User Interface) reprezinta o librarie Open Source de JavaScript si CSS care vine in ajutorul programatorului WEB.

Ai astfel acces, fara prea multa munca la definirea propriilor evenimente si a modului in care acestea sunt tratate, poti simula foarte usor modelul drag&drop cu obiectele definite de tine, iti poti crea propriul calendar sau chiar poti sa-l integrezi pe acesta intr-o unealta mai dezvoltata care sa tina locul unui editor de text de genul editorului de pe acest blog.

Cu alte cuvinte ai totul de-a gata, dar cum totul se plateste si aici e un mic pret de platit. Desi vine cu o serie de exemple destul de bune YUI, este foarte greu sa parasesti tiparul definit in exemple, aceasta in primul rand datorita documentatiei destul de firave si a unui numar foarte mare de functii disponibile.

Oricum daca vreodata ai nevoie sa adaugi un calendar sau cine stie, sa ai de editat un text sau un obiect cadrul aplicatiei tale web, atunci cu siguranta o sa-ti para bine ca cineva ofera open source asemenea widgeturi si ca nu este nevoie sa mai "reinventezi roata".

Google Web Toolkit...un pas mai aproape de AJAX

Google Web Toolkit (GWT) este un framework opensource de dezvoltare Java care faciliteaza scrierea aplicatiilor AJAX. Acestea se pot dezvolta si verifica in limbajul Java folosind uneltele de dezvoltare preferate, iar apoi compilatorul GWT transforma aplicatia Java in cod JavaSCript si HTML care pot fi interpretate de browsere.

Pasii pentru dezvoltarea de aplicatii cu GWT sunt urmatorii:
1) Scrierea aplicatiei Java folosind librariile GWT
2) Compilarea aplicatiei de catre compilatorul GWT ; rezulta un set de fisiere JavaSCript si HTML

Ce ofera GWT:
* componente de interfata dinamice, reutilizabile
* RPC: comunicare intre aplicatie si server se realizeza prin clase Java serializabile
* gestionare a istoriei a browserului
* compatibilitate cu browsere
* suport pentru folosirea API-ului Google in aplicatii GWT (in curs de dezvoltare)

Dupa cum arata si primul exemplu de folosire a GWT , elementele de interfata oferite sunt cele traditionale: butoane, check boxes, meniuri, panels, liste, popups.

Clasele de baza reprezinta o abstractizare foarte aproape de DOM, si exista si un set de clase care impacheteaza obiectul XMLHttpRequest pentru a facilita interactiunea cu serverul.

Iata parerile unui dezvoltator web dupa ce a utilizat GWT cateva luni:

* Curba de invatare: odata ce proiectul functioneaza in Eclipse si poti rula codul in mod "gazda" (fara a te conecta la un server extern), esti pe drumul cel bun. Conceptele de baza pentru clasele de UI se pot intelege in cateva zile, iar modelul de programare este asemanator cu Java Swing, dar are legaturi apropiate si cu programarea AJAX.

*Productivitate:
- testarea compatibilitatii cu browserele este redusa comparativ cu JavaScript;
- refactorizare: verificarea tipurilor de date oferita de Java este de ajutor atunci cand este necesare modificare codului pentru a indeplini noi cerinte legate de interfata

* Dimensiunea codului: compilatorul GWT reduce dimensiunea codului deoarece minimizeaza spatiile albe, maparea functiilor si numele de variabile la valorile lor minime posibile si produce versiuni de cod specifice fiecarui browser, care sunt downloadate dupa ce scriptul determina tipul de browser folosit de utilizator. (compilatorul nu include clase Java care sunt in acelasi pachet, dar care nu sunt referite de codul aplicatiei)

* Ce se intampla mai departe: Java s-a schimbat considerabil dupa 1.4. Este mult mai complex, si se indeparteaza din ce in ce mai mult de JavaScript. Apare astfel intrebarea daca merita efortul de a tine GWT la curent cu ultimele specificatii Java.

In concluzie, GWT este una dintre cele mai bune variante pentru implementarea aplicatiilor AJAX in care clientul interactioneaza frecvent cu serverul.