Tehnologii pentru interfața cu utilizatorul Web 2

În prezent, dezvoltatorul aplicațiilor enterprise este supus presiunii din partea utilizatorilor și a profesioniștilor, atunci când vine vorba de interfețele utilizatorilor. Într-o tabără există unități de afaceri care reprezintă utilizatorii. Ei doresc ca aplicațiile lor să aibă o interfață bogată de utilizator care crește productivitatea utilizatorilor. Reprezentanții acestui grup preferă ca toate aplicațiile să se comporte ca Microsoft Excel sau alte aplicații similare instalate pe clienți. Ei doresc ca aplicațiile să le ofere un timp de răspuns instantaneu. Dacă există mai multe reprezentări ale acelorași date (de exemplu, un tabel și un grafic) și unul dintre ele se modifică, aceștia vor ca reprezentarea celeilalte afișate să reflecte imediat modificările.







Reprezentanții profesioniștilor IT ca un model curat, bazat pe server, de livrare. Recunoscând că lucrul cu utilizatorii cu cod HTML este mai puțin convenabil decât cu interfața nativă a sistemului de operare, ei consideră costul instalării, configurării și gestionării codului pe mașinile client prea înalte, în ciuda muncii mai prietenoase cu utilizatorul oferită de soluție.

Deci, ce fac dezvoltatorii săraci? Utilizatorii nu doresc să-și piardă productivitatea datorită întârzierilor de reacție ale serverului multiplu și echipele IT nu doresc să revină la vechile modalități de implementare și gestionare a codului pe mașinile client. Cum putem reconcilia aceste cerințe aparent contradictorii în așa fel încât ambele tabere să fie satisfăcute?

Din fericire, există tehnologii care vă permit să obțineți confortul utilizatorilor atunci când lucrați cu funcții care depășesc capacitățile unui browser obișnuit și fără a fi nevoie să instalați manual codul pe mașinile client. Aplicațiile create cu aceste tehnologii sunt uneori numite aplicații Web 2.0. În articolul său, "Ce este Web 2.0? Modele de design și modele de afaceri pentru următoarea generație de software" (vezi Resurse), Tim O'Reilly afirmă:

Intrăm într-o perioadă de inovare fără precedent în domeniul interfeței cu utilizatorul, deoarece dezvoltatorii web pot crea în sfârșit aplicații Web care sunt la fel de funcționale ca și aplicațiile PC locale.

Aplicațiile Web 2.0 capătă tot ce este mai bun din ambele lumi: un model renumit de implementare bazat pe server este combinat cu o experiență înaltă a utilizatorului, practic comparabilă cu confortul de a lucra cu aplicațiile instalate de client.

Mai jos sunt diferitele tehnologii pe care le puteți alege pentru a crea un mediu atrăgător și ușor de utilizat în aplicațiile de astăzi Java EE:

  • Flex și OpenLaszlo
  • IBM® Workplace ™ Client și IBM Lotus® Expeditor
  • Se confruntă cu componentele clientului
  • Ajax
  • HTML

Flex și OpenLaszlo

Flex și OpenLaszlo - campanii declarative similare pentru a crea mai mult decât capabilitățile browserului de interfețe pentru aplicațiile Java EE. Flex este oferit de Adobe / Macromedia, iar OpenLaszlo este un software open source inițial dezvoltat de Laszlo Systems Inc. În ambele medii, pentru a proiecta și a crea o interfață cu utilizatorul, utilizați o gramatică unică, specifică tehnologiei, bazată pe XML.

De exemplu, pentru a utiliza un buton în Flex, puteți scrie următorul cod în MXML (Multimedia XML):

Și în OpenLaszlo scrieți următoarele pe LZX (LasZlo XML):

Deși ambele tehnologii sunt similare în multe privințe, există o diferență esențială: au nevoie de o infrastructură de execuție diferită. Pentru ca clientul să facă schimb de date cu serverul, Flex are nevoie de un server Flex Data Services, care stabilește o conexiune cu clientul care rulează în plug-in-ul Flash Player. Serverul servește în mare parte ca intermediar pentru orice schimb de date între client și componenta server a aplicației.

În cea mai recentă versiune a OpenLaszlo, există unele modificări în zona de execuție care îi pot face mai atractive pentru dezvoltatori. Una dintre modificări este că versiunea 3 a introdus modul de implementare SOLO, eliminând necesitatea pentru serverul Laszlo Presentation Server în unele configurații. O altă îmbunătățire importantă este mediul de rulare al clientului. Cea mai nouă versiune, OpenLazlo 4 (versiunea beta actuală), permite aplicațiilor bazate pe Laszlo să ruleze fără plug-in Adobe / Macromedia Flash Player. Multe companii, îngrijorate de faptul că trebuie să utilizeze un plug-in proprietar ca Flash Player, această schimbare va trebui să aibă gust.

Cum puteți determina ce este mai bine pentru organizația dvs.? În cazul Flex, avantajul cheie este că aveți suport complet de la Adobe / Macromedia, însă veți suporta costurile achiziționării unei licențe pentru Flex Data Services Server. Pentru unele companii, costul unei licențe nu este la fel de important ca și suportul complet al produselor. Aplicațiile Adobe Flex 2 necesită și pluginul Flash Player V9. În ciuda faptului că Flex poate ajuta la crearea unui mediu de utilizare atrăgător, costul acestuia, precum și faptul că are nevoie de un plug-in, pot sperie unele companii.

IBM Workplace Managed Client și Lotus Expeditor

Atât IBM Workplace Managed Client cât și Lotus Expeditor sunt construite pe baza sursei open source EclipseRPC. Tehnologia EclipseRPC se bazează pe mediul de lucru al instrumentelor de dezvoltare Eclipse, o platformă comună, gestionată și controlată de eclipse.org. Dacă aveți nevoie de operații deconectate în conformitate cu cerințele afacerii dvs. și puteți instala componente pe mașina client, Workplace Managed Client și / sau Lotus Expeditor sunt cele mai bune tehnologii pentru crearea și implementarea aplicațiilor.

IBM Workplace Managed Client este o componentă a familiei de produse IBM Workplace. Acesta combină diverse servicii pentru a lucra împreună într-un mediu integrat sau mediu desktop. Ea are caracteristici, cum ar fi managementul documentelor, mesagerie (inclusiv instant), Web-navigare, o interfață directă la Notes® 7, eLearning, spații echipa de suport, Web-conferințe, precum și o funcție de activitate Explorer pentru urmărirea fire legate de misiunile de lucru. Lotus Expeditor oferă o platformă de client bogat, care suportă aplicații de întreprindere, tranzacții, de gestionare a dispozitivelor și a serviciilor bazate pe Web. Există multe motive pentru a alege Clientul gestionat la locul de muncă sau Lotus Expeditor. Workplace Managed Client este de obicei cea mai bună alegere în cazul în care cererea dumneavoastră este de colaborare în natură. Dacă aplicația este mai dedicată colaborării cu tranzacțiile, Lotus Expeditor este de obicei recomandat.







Și locul de muncă Managed Client și Lotus Expeditor permit dezvoltatorilor să creeze aplicații client bogat instalat pe masina client, și adăugați-le pentru a sprijini operațiunile deconectate. Deoarece aplicația este instalată pe client, clientul poate fi utilizarea mai completă a puterii stații de lucru pe care ruleaza, permițându-vă pentru a crea un mediu atractiv și confortabil pentru utilizatori. General și Workplace Managed Client și Lotus Expeditor oferă un sistem de operare independent de platforma bazat pe Eclipse, care se ascunde de tine nuanțele sistemului de operare, în același timp, folosind serviciile OS native atunci când este posibil. Acest lucru vă permite să dezvolte o bază comună Java cod care rulează în Linux ™ și Windows ™, și în viitor pe Macintosh.

Pentru a obține beneficii maxime din această tehnologie, aveți nevoie pentru a proiecta aplicația în așa fel încât să permită arhitectura Eclipse plug-in-uri. Componentele UI sunt create cu widget-uri SWT (Standard Widget Toolkit) sau componente JFace. SWT - un set de widget-uri și grafică de bibliotecă integrată cu sistemul de ferestre nativ, dar cu un API-sistem de operare independent, și JFace - UI set de instrumente implementate folosind SWT, care simplifică multe sarcini comune privind interfața cu utilizatorul de programare. JFace nu depinde de nici un manager de ferestre din punct de vedere al API, fie în ceea ce privește punerea în aplicare, și este proiectat pentru a lucra cu SWT, nu ascunde acesta din urmă. Rezultatul final este un foarte interactiv și ușurința în utilizare, simțindu-se ca lucrul cu aplicațiile de sistem de operare de utilizator familiare.

În cele din urmă, faptul că, pe baza Client Managed Workplace și aplicațiile Lotus Expeditor pot fi gestionate prin intermediul server, le diferențiază de native aplicațiile bazate pe Windows. Aceasta este o oportunitate esențială pentru a minimiza, dacă nu elimina complet toate costurile legate de administrarea sistemului asociate codului postat pe aplicația client. Ca urmare, compania, pentru a implementa cererea primește toate beneficiile de proprietate pentru a implementa servere de aplicatii Java EE, iar utilizatorul - ușor de utilizat, „ascuțit“, în conformitate cu un sistem de operare specific și aplicația este instalată pe client; aceasta este o soluție câștigătoare pentru majoritatea organizațiilor.

Se confruntă cu componentele clientului

JavaServer Faces (JSF) - o componentă a EE Java 1.4, a fost inițial dezvoltat ca JSR 127. Obiectivul major al acestei tehnologii a fost de a reduce nivelul de calificare a Java-developers necesare pentru a dezvolta interfete de utilizator pentru aplicațiile lor Java EE. Deoarece JSF este un mediu de lucru, acesta conține o mulțime de oportunități gata făcute, care, în trecut, dezvoltatorii au trebuit să programeze manual atunci când creați aceeași interfață folosind JavaServer Pages (JSP-uri).

De exemplu, să presupunem că aveți un set mare de rezultate JDBC ™ pe care doriți să le afișați pentru utilizator. Spațiul de lucru JSF oferă un widget DataTable pe care îl puteți utiliza pentru a afișa date. Dacă ați creat deja o interfață de utilizator cu simple JSP-uri, va trebui să controlați interacțiunea utilizatorului cu tabela și să determinați care rânduri de date să fie afișate utilizatorului.

În JSF DataTable, atunci când utilizatorul dă clic pe Next (Următorul) pentru a afișa următorii x rânduri de date din tabel, mediul de lucru JSF va procesa solicitarea Next și nu este nevoie să codificați singur ceva. În timp ce JSF vă facilitează crearea de interfețe avansate bazate pe HTML, JSF se face în mod deliberat prin tehnologia serverului. Interogarea următoarelor rânduri de date x merge de la browser la server, unde se procesează codul mediului de lucru JSF. JSF necesită o comunicare bidirecțională cu serverul.

Pentru a îmbunătăți widgeturile JSF de bază din IBM Rational® Application Developer V6, sunt prezentate Componentele clientului Faces. Faces Client Components este o extensie a tehnologiei JavaServer Faces, care vă permite să executați unele servicii client-side pe partea clientului. De exemplu, dacă ați utilizat componenta DataGrid Faces în exemplul de mai sus, afișarea următoarelor linii de date x nu va necesita interacțiune bidirecțională cu serverul.

Utilizarea componentelor clientului Faces va duce în mod firesc la un dezvoltator JSF de la Rational Application Developer. Pentru a utiliza Componentele clientului Faces, trebuie să creați o pagină JSP Faces și să selectați modelul "Basic with caching data cache". Apoi, atunci când proiectați interfața de utilizator în Rational Application Developer, pur și simplu selectați comenzile UI corespunzătoare din secțiunea Faces Client Components a paletei de instrumente din Rational Application Developer.

În cele din urmă, în opinia mea, ora stelară a lui Ajax a venit atunci când Google a lansat o versiune beta a aplicației Google Maps bazată pe Ajax. Oricine a lucrat anterior cu un site Web de cartografiere a observat rapid avantajul software-ului Google pe alte site-uri similare de pe Internet. În timp ce laicii se întrebau și se întrebau cum a făcut Google acest lucru, programatorii care au privit mai profund pe Ajax acolo și au început să speculeze, ca și cum ar folosi tehnologia pe baza sa pentru a îmbunătăți ușurința de utilizare și viteza de reacție a propriilor aplicații.

Pure HTML

Deși mulți dezvoltatori și cred că toți utilizatorii, cum ar fi ei înșiși, ar trebui să dureze zece Firefox cu cele mai cunoscute plug-in-uri, de fapt, pe mai multe mașini de acces la Internet este încă folosit Netscape 3.x sau Internet Explorer 4.x. Browsere care nivel poate fi utilizat pentru accesul la o anumită aplicație (codul sursă este pierdut și nu poate fi schimbat), sau pot fi pur și simplu plasate la domiciliu, la utilizatorul conservator de a continua să utilizeze Internet Explorer 4.0, pur și simplu pentru că aderă la principiul „muncii - nu "cu privire la actualizarea browserului.

Deși este clar că HTML nu poate oferi o astfel de utilizare a utilizatorilor ca oricare dintre tehnologiile de mai sus, interfețele utilizatorilor bazate pe HTML pe termen lung vor continua să joace un rol important. Nicio altă tehnologie nu va permite ca o aplicație să fie disponibilă pentru cât mai mulți utilizatori ca HTML-ul pur. Ca urmare, multe aplicații vor oferi în continuare astfel de interfețe utilizator pentru mulți ani.

În concluzie

În general, direcția principală în industria de astăzi este îmbunătățirea experienței utilizatorilor cu aplicațiile server. Ajax, deși nu este destul de matur, a câștigat deja multă impuls și multe întreprinderi, mari și mici, încep să o folosească în producție. Alte tehnologii menționate în articol au puțini admiratori, dar în prezent nici unul dintre ei nu a fost descoperit în prezent.

Există și alte tehnologii de interfață cu utilizatorul, atât comerciale, cât și gratuite (de exemplu, Nexaweb, Backbase și JackBE), însă articolul nu sa ocupat de acestea din considerente de scurtă durată. Ceea ce este important este că nici una dintre aceste tehnologii nu este universală și universală, prin urmare nici una nu este pe deplin adecvată în toate situațiile. Fiecare dintre tehnologiile de mai sus are avantajele sale și poate fi o alegere bună în funcție de circumstanțe.

Deci, cum faceți o alegere? Pentru începători, nu este nimic mai bun decât vechiul HTML bun, dacă alegerea tehnologiei este motivată de audiența maximă a utilizatorilor. Pe de altă parte, dacă aveți nevoie de operații deconectate și puteți instala aplicația dvs. pe mașini de lucru, cea mai bună alegere este una dintre alternativele bazate pe EclipseRPC, Workplace Managed Client sau Lotus Expeditor.

Dacă aveți nevoie de o interfață de utilizare bogată cu precizia și fiabilitatea Flash Player, este posibil să fiți îndreptățit să alegeți Flex sau OpenLaszlo. Dacă creați aplicații utilizând JavaServer Faces, este mai bine să apelați la Componentele clientului Faces.

În cele din urmă, dacă obiectivul dvs. este pur și simplu de a conecta găuri într-o interfață HTML existentă sau de a dezvolta o interfață cu utilizatori bazate pe standarde, plug-in - fără funcționalitate, mai bine decât browserele, alegerea dvs. este Ajax. În acest moment al "ciclului de excitare", Ajax pare a fi cea mai populară tehnologie Web 2.0, dar nu voi renunța la alte tehnologii - ei vor lua propriile lor când se maturizează.

Cheia pentru alegerea celei potrivite este cerințele aplicației, care ar trebui folosite atunci când alegeți tehnologia pentru crearea unei interfețe de utilizator. Deși această recomandare pare simplă și evidentă, în multe cazuri, dezvoltatorii fac exact contrariul, ceea ce poate duce la multe probleme în implementare și implementare (care la rândul lor cauzează întârzieri și complicații semnificative în dezvoltarea proiectului). Nu-ți lăsa să ți se întâmple asta.

Descărcați resurse

Subiecte conexe







Trimiteți-le prietenilor: