Posts Tagged ‘Javascript’

Întrebări frecvente despre Dynamize

Sunday, March 22nd, 2009

Iată răspunsruile la câteva dintre cele mai frecvente întrebări despre Dynamize:

  • Ce este Dynamize?
  • În linii mari, Dynamize este o unealtă care vă permite să creatţi în mod facil panouri de administrare pentru situri web – moderne, rapide şi uşor de folosit. Mai multe detalii puteţi obţine visitând situl oficial Dynamize sau într-o scurtă prezentare Dynamize.
  • Ce tehnologii foloseşte Dynamize?
  • Tehnologiile pe care se bazează Dynamize sunt: PHP, MySQL, Java, Javascript. Pentru partea de generare a aplicaţiilor folosim Google Web Toolkit (GWT), Java, Java Servlet Technology, transformări XSLT bazate pe XPath. Generarea aplicaţiilor se face folosind Apache Ant.
  • Care este licenţa sub care va fi disponibil Dynamize?
  • Nu ne-am hotărât încă asupra modului de licenţiere, dar un lucru e sigur: Dynamize va fi disponibil în mod gratuit.
  • Cât va costa Dynamize?
  • După cum spuneam şi mai sus, Dynamize va fi disponibil în mod gratuit.
  • Când va fi disponibil Dynamize?
  • Încercăm să finalizăm lucrul la o versiune beta cât mai curând, dar data lansării oficiale nu este cunoscută încă.

Ce este Dynamize?

Sunday, March 22nd, 2009

Recomand citirea în totalite a acestui articol. Lucruri de importanţă crucială sunt prezentate şi în a doua jumătate a articolului.

De mai bine de două luni am început lucrul la un proiect de amploare pe care l-am botezat Dynamize (ca un scurt istoric: Dynamize era numele unui alt proiect, asemănător, care a murit încă din faşă; aşadar noul proiect a moştenit numele vechiului proiect).

Ce este Dynamize? Descrierea oficială spune în felul următor:

În linii mari, Dynamize este o unealtă care vă permite să creatţi în mod facil panouri de administrare pentru situri web – moderne, rapide şi uşor de folosit.

Descrierea neoficială ar putea fi următoarea: se dă o bază de date peste care se doreşte a se construi un sit web. În principiu, un model de dezvoltare “sănătos” este cel în care se începe cu partea de administrare (ca să poţi începe lucrul la un sit, ideal este să ai date cu care să îţi poţi testa şi verifica progresul). De cele mai multe ori, interfaţa de administrare este cea pe care utilizatorul nu o vede, dar care dă atât de multe bătăi de cap celui care se ocupă de întreţinerea sitului… Experienţa pe care am acumulat-o de-a lungul timpului ne-a învăţat că panoul de administrare trebuie să fie cât mai uşor de folosit, cât mai accesibil şi cât mai rapid. De aceea am început lucrul la un proiect care să uşureze munca programatorului şi să reducă complexitatea necesară realizării unui panoul de administrare. Ca un exemplu concret, vă voi prezenta paşii necesari pentru încropirea unei aplicaţii folosind Dynamize:

  • Pasul 1: Crearea bazei de date, respectiv a tabelelor necesare:
    Script MySQL necesar pentru crearea unei aplicaţii cu Dynamize

    Script MySQL necesar pentru crearea unei aplicaţii cu Dynamize

  • Pasul 2: Scrierea codului PHP necesar pentru crearea părţii “server side” necesară aplicaţiei (aceasta se va ocupa de procesarea datelor provenite de la client):
    Script PHP necesar pentru crearea unei aplicaţii cu Dynamize

    Script PHP necesar pentru crearea unei aplicaţii cu Dynamize

  • Pasul 3 (mai dificil): Scrierea codului Java necesar pentru definirea părţii “client side” (interfaţa cu utilizatorul, singura cu care utilizatorul are contact direct):
    Codul Java necesar pentru crearea unei aplicaţii cu Dynamize

    Codul Java necesar pentru crearea unei aplicaţii cu Dynamize

  • Pasul 4: Compilarea codului client şi generarea unei aplicaţii dinamice (bazată în totalitate pe JavaScript).
  • Pasul 5: Verificarea rezultatului obţinut:
    Rezultatul obţinut în urma rulării unei aplicaţii Dynamize

    Rezultatul obţinut în urma rulării unei aplicaţii Dynamize

Ne-am dat apoi seama că modelul acesta de lucru ar putea fi greoi pentru un dezvoltator fără experienţă în lucrul cu limbajul de programare numit Java. Din această cauză am hotărât că este absolut necesar să creem o unealtă grafică care să permită dezvoltarea aplicaţiilor Dynamize. Astfel am început lucrul la Dynamize Generator:

Genratorul de aplicaţii Dynamize

Genratorul de aplicaţii Dynamize

Dynamize Generator este încă în fază incipientă, dar am încredere că vom reuşi să îl terminăm în timp util. Acesta va permite definirea tuturor datelor necesare pentru generarea unei aplicaţii Dynamize printr-un simplu clic. Scenariu: creaţi un nou proiect, definiţi datele esenţiale ale proiectului (URL, datele de conectare la serverul MySQL), definiţi foile de editare dorite (asociate tabelelor din baza de date; într-o versiune viitoare, aplicaţia va “putea” să citească aceste tabele direct din baza de date şi să genereze un şablon de proiect), apăsaţi generate, obţineţi codul sursă pe care îl “urcaţi” pe serverul dorit. În acest moment aveţi o aplicaţie funcţională, rapidă, eficientă şi uşor de folosit.

Editat ulterior: am creat şi o listă a celor mai frecvente întrebări şi răspunsuri despre Dynamize.

GWT-Ext: O superlibrărie GWT/Javascript

Wednesday, November 28th, 2007

Când vine vorba despre Javascript, mulţi au o reacţie de genul: “Ah, chestia aia care nu funcţionează la fel pe toate navigatoarele şi pe care nu se poate face debugging în mod decent!”. Iată că cei de la Google au reuşit din nou să spargă tiparele introducând Google Web Toolkit. Un framework care produce cod Javascript din cod Java. Dar nu despre asta vreau să vorbesc, ci despre o librărie care s-a remarcat în “universul” GWT, şi anume GWT-Ext Widget Library. Bazată pe o librărie Javascript binecunoscută, şi anume Ext JS, GWT-Ext reprezintă o colecţie de componente de toate felurile cu ajutorul cărora se poate încropi o aplicaţie web ultramodernă (acronimul este RIA – Rich Internet Application).

Printre cele mai des utilizate componente: un tree inteligent care permite drag&drop, liste configurabile care suportă paginare (atât pe partea de client, cât şi pe cea de server), meniuri care permit adăugarea de subcomponente, tabele (griduri) editabile şi paginabile. etc.
componente gwt-ext

Singurul inconvenient de până acum mi se pare lipsa unei documentaţii foarte bine pusă la punct. Javadoc-ul existent nu permite explorarea tuturor facilităţilor oferite. Autorul (Sanjiv Jivan) promite pentru perioada următoare două lucruri foarte importante: o documentaţie adecvată şi migrarea spre versiunea 2 a librăriei Ext JS (pe care se bazează GWT-Ext).

Aşadar, pentru toţi cunoscătorii limbajului Java şi a modulului de lucru cu Swing există o alternativă demnă de luat în seamă la tradiţionalul cod Javascript care dă destul de multă bătaie de cap.

Linkuri utile: