Archive for JavaScript

06.16.08

JavaScript curat

Posted in JavaScript at 4:55 am by rast

Interesant de remarcat, cel puţin pentru mine - care am început “să scot capul” din… starea mea de “în aşteptarea pensiei”; este faptul că prin alte ţări se caută programatori JavaScript. Pe la noi prin ţară, anunţurile de job-uri, trec JavaScript-ul la alte cunoştinţe sau: “constituie avantaj”. Dar câte se pot realiza din JavaScript?

Sunt multe framework-uri, cu diverse efecte vizuale şi funcţionalităţi. JavaScript-ul nu l-a mai îmbunătăţit nimeni, a rămas aşa, de multă vreme.

Dacă s-ar aduce îmbunătăţiri semnificative, rulând pe partea de client-side, nu ar fi mai comodă programarea în model MVC?

Cred că, în viitor, JavaScript-ul va căpăta… un avânt considerabil. Nu numai ca funcţionalităţi oferite, în fereastra browser-ului, ci şi ca uşurinţă de manevrare pentru utilizatorul final.

Se observă o tendinţă de oferire a numeroase posibilităţi de personalizare a formei în care este prezentat conţinutul. Acel “V” din MVC.

06.10.08

Google - JavaScript framework

Posted in JavaScript at 4:42 am by rast

Google a anunţat că va hosta cele mai populare framework-uri de JavaScript, pentru a sprijini site-urile ce le folosesc şi a decongestiona traficul web. Este o idee cu o funcţionalitate foarte importantă şi de viitor.

Nu mă abţin să nu-mi dau cu părerea despre utilitatea acestei iniţiative. De exemplu: eu, cu un site web, cu un hosting cu plată, limitat la un anumit trafic lunar, fiecare vizitator ce accesează pagina face download (trafic) la framework-ul (librăria) respectivă, care are o dimensiune destul de mare. Aşa că îl pun pe programator :) să-şi acceseze librăriile JavaScript ce le foloseşte de pe site-ul Google.

Nu intru în amănunte… teoretice, acest serviciu trebuie testat. Punctul de plecare al folosirii este la:

code.google.com

Deocamdată fiind disponibile: dojo, jQuery, MooTools, prototype, script_aculo_us, nu şi extJS.

 

Se rezolvă astfel, o problemă personală, a celor ce deţin un site. Se reduc nişte cheltuieli. Dar nu se rezolvă o problemă a Internet-ului. Ar fi interesant să se download-eze librăria de pe fiecare proxy în parte. Ar fi interesantă o facilitate a fiecărui proxy, de a menţine în “baza de date” (cache) librăriile cele mai importante. Astfel, s-ar reduce mult trafic pe toată reţeaua Internet, librăriile fiind luate “mult mai de aproape”, de pe serverul proxy. decât de pe serverele Google.

05.09.08

jQuery plugin

Posted in JavaScript at 2:55 am by rast

Mă tot “obsedează” ideea de a face o interfaţă cu copac tree, la site-ul de bancuri. ExtJS iese din discuţie din cauza mărimii. Am căutat pe net plugin-uri de jQuery pentru a realiza acel tree. Am găsit mai multe, chiar.

Primul care l-am încercat, de o dimensiune mai mare decât a jQuery, m-a surprins prin complexitatea codului şi simplitatea funcţionalităţii. Plus de asta era şi slab la capitolul SEO. Următorul plugin testat… “mic şi al drak” :) … şi bun la SEO.

Întâmplările/plugin-urile de mai sus, mi-au răscolit amintiri, din “pionieratul” meu de SEO-ist. Prin august 2005 mă contactează un amic să-l ajut să-şi facă un site. PHP ştiam… dar de SEO nici măcar nu auzisem. Pe vremea aia mă credeam/vedeam “ieşind la pensie” de la acel loc de muncă şi nu mă interesa promovarea pe Internet. Am început munca. Mă întâlneam deseori cu amicul meu şi discutam despre site/proiect. El era foarte documentat în probleme de SEO. Aşa am luat şi eu contact cu această problematică şi-mi pot exprima părerea că nu toţi programatorii pot “digera” tehnicile de SEO. Un programator, deja format, cu mulţi ani de programare “în spate”, are o minte structurată pe anumite direcţii, algoritmi, etc. Munca de SEO presupune alte abilităţi, cunoştinţe. Mi-a venit greu la început dar, cu timpul, m-am obişnuit. Acum stăpânesc destul de bine strategiile SEO, trebuie să le perfecţionez… să le ţin la curent cu ultimele schimbări din mediul web.

Făceam recent observaţia că nu s-a găsit nimeni să “colecţioneze” plugin-urile de jQuery într-o “bibliotecă”, astfel încât să nu mai cauţi pe Google ceea ce ai nevoie. Iată că m-am înşelat! Am găsit două site-uri ce au făcut o astfel de… “adunătură” de plugin-uri:

- cel de aici, adună vreo 50

- cel de aici, este mai… bogat, adună 240

05.06.08

Noutăţi jQuery

Posted in JavaScript, Uncategorized at 10:13 pm by rast

Echipa care dezvoltă jQuery anunţă realizarea versiunii beta 1.5b4 a “pachetului” pentru efecte vizuale, jQuery UI. În această versiune, spun ei, ar fi rezolvat 50 de bug-uri, dar au mai rămas 5 bug-uri mari pe care vor să le “trateze” până în versiunea finală.

Echipa jQuery, încearcă să-i tot adauge noi funcţionalităţi. Astfel, librăria jQuery (ca să nu zic: fişierul .js) creşte ca dimensiune. Dacă mă gândeam la jQuery ca o alternativă, la anumite efecte şi funcţionalităţi, a lui extJS, mi s-a cam dus elanul. Dezvoltarea lui lasă de dorit, prea multe bug-uri… şi creşte şi dimensiunea pachetului transferat prin cablele Internet-ului. Nu mai este o alternativă viabilă la extJS.

ExtJS, jQuery şi plugin-uri

Posted in JavaScript at 3:56 am by rast

Iar critic munca altora!

Pentru site-ul de bancuri, am încercat să fac, în partea stângă, un meniu gen acordeon, în extJS. Oricât reduceam scriptul, rămânea mai mare de 400 kb. Dependenţele sunt foarte multiple. Nu-i critic prea tare pe “lucrătorii” la extJS, ei declarând “din prima”, extJS-ul ca fiind un tool pentru dezvoltarea web aplicaţiilor, deci nu “doar” un framework cu câteva facilităţi. Ai inclus extJS-ul… ai de toate!

M-am gândit să folosesc jQuery şi am găsit un plugin care creează un acordeon. Puteţi vedea un demo, aici. Plugin-ul este destul de bine realizat.

“S-a găsit” câte un programator care a dezvoltat câte un plugin, două… şi le-a promovat. Oare nu s-a găsit vreun programator care să adune plugin-urile într-o bibliotecă? Noi, ăştia “clone” de programatori, să le găsim “adunate” undeva… să nu-l mai obosim pe săracu’ Google să le caute… pe cele de care avem nevoie.

Încâlceala asta de framework-uri şi plugin-uri, scrise “pe genunchi” de câte un programator, motivat de anumite interese sau pasiuni, mă duce cu gândul la “esenţa” societăţii noastre actuale, consumatoriste şi în fugă după profituri cât mai mari.

Încep să-mi fac un vis! Să visez la o societate mai organizată! Nu bazată pe legea profitului, ci bazată pe o lege a minimului efort. Cine a depus un efort şi a creeat o unealtă, iar mai apoi a obţinut un profit “de bun simţ”, să creeze facilităţi să poată fi utilizată şi de alţii, cu eforturi minime.

Dar nu! Unii vor să profite de eforturile unora şi să câştige ei cât mai mult! Pe deasupra îi şi mai consideră fraieri pe cei ce au depus efortul. Normal! Reacţia de apărare a celor ce au depus efortul, este firească. În loc de profit, miştocăreală sau bătaie de joc.

Nu numai pe Internet se întâmplă astfel de lucruri. Ele se înmulţesc pe zi ce trece în toate domeniile de activitate.

04.22.08

Layout extJS - stil de a învăţa

Posted in JavaScript at 12:20 am by rast

Există mai multe “stiluri” de a învăţa ceva nou. Unul este cel “şcolăresc”… iei manuale (la noi în programare se zice “tutoriale”) şi buchiseşti ce scrie pe acolo. Dacă memoria (încă) te mai ajută ajungi la o finalitate.

Eu mi-am făcut un alt “stil” de învăţare a noutăţilor. Îmi pun o problemă şi caut prin documentaţie (tutoriale sau forum-uri) modalităţi de rezolvare.

Problema care mi-am pus-o a fost layout-ul la site-ul de bancuri. Dacă aş lăsa html-ul simplu, “meniul” din dreapta ar fi prea lung faţă de textele (bancuri, perle, culmi, etc) prezentate în stânga. Ideea “instant”, a fost să utilizez un acordean extJS (Accordion Layout). Da! Dar cum rezolv problema mărimii scriptului extJS? De ce să “târâi” prin Internet ditamai scriptul, pentru doar un efect, poate două? Mi-am pus problema “slăbirii” lui extJS. GATA!!! Cură de slăbire!

Am început să caut prin documentaţiile (forum) oficiale, poate s-au gândit şi alţii la aşa ceva. Mare mi-a fost mirarea când am văzut că însăşi proiectul extJS în sine, a prevăzut ideea unui… “script personal”, pe care îl poate optimiza, fiecare programator, astfel încât să conţină doar librăriile de funcţii de care are nevoie în aplicaţia sa.

Din câte “răsfoieli” am mai dat prin documentaţia proiectului extJS, am ajuns la concluzia că el este dezvoltat (cel puţin coordonat) de “programatori bătrâni”, cu multe ore de programare “la bord”. Prea e bine structurat şi complex. Acolo este muncă serioasă, nu făcută din pasiune, după orele de program.

04.21.08

Extjs form HtmlEditor

Posted in JavaScript at 3:25 am by rast

ExtJS are câteva clase pentru realizarea unui form HTML, în care sunt definite mai multe “input”-uri, cu diverse facilităţi. Într-un form extJS se poate insera şi un editor HTML, pentru care este “dedicată” chiar, clasa “Ext.form.HtmlEditor”.

Voiam la un moment dat, să testez să văd ce capabilităţi are, făcând comparaţie chiar cu acest editot pe care-l utilizez aproape zilnic. Puteţi să faceţi singuri nişte teste, pe o aplicaţie online, de aici.

Pe pagină sunt prezentate 5 forms-uri, cu diferite input-uri, cele cu htmleditor sunt al treilea şi ultimul.

Mă macină un gând… extJS este aproape ca un limbaj nou, se pot crea f. f. multe funcţionalităţi cu el. Există persoane care au făcut extensii, funcţionalităţilor deja oferite, îmbunătăţindu-le capabilităţile. Dar oare, persoane/programatori, care se fragmenteze codul nu sunt? Asta-i grija ce mă frământă, acu’ înainte de a tăia mielul (de pe listă :) ) şi a vopsi oălelele!

De ce să târăi prin cablu bit-uit, atâta amar de cod neutilizat? Ar fi interesantă o fragmentare pe categorii de funcţionalităţi.

04.17.08

Conţinut şi prezentare

Posted in JavaScript at 12:19 am by rast

Îmi place ideea de a separa cât mai mult conţinutul unei pagini web de modul ei de prezentare. Se găsesc pe Internet foarte multe site-uri ce oferă (chiar şi gratis) template-uri de prezentare. Am încercat la un moment dat să studiez aceste template-uri, pentru a mă inspira în partea de webdesing a unui site, domeniu în care sunt deficitar, ne-având un simţ artistic dezvoltat.

Am ajuns la o concluzie personală: creearea unui site nu se face începând de la un template, de la un mod de prezentare, ci de la donţinut. Îţi stabileşti într-un mod destul de amănunţit conţinutul site-ului, îl detaliezi undeva… pe hârtie, dacă este prea complex, îl împarţi în categorii, subcategorii (capitole, subcapitole, paragrafe, etc) şi apoi lucrezi la partea de prezentare.

În acest mod (în această ordine) de abordare a creeării unui site se poate urmări mai uşor atingerea unei uzabilităţi ridicate a site-ului. Am păţit-o de multe ori: începeam un site despre care aveam o idee în mare despre conţinutul lui. Alegeam un mod de prezentare care satisfăceau cerinţele. Construiam designul şi începeam să adaug conţinut. Cu cât conţinutul se diversifica: apărând, modificând sau chiar ştergând, diferite secţiuni - apăreau ne-concordanţe de uzabilitate.

Totuşi, am ajuns la un compromis. Am găsit “un şablon” de paginare a conţinutului unui site, în care se pot interclasa alte componente, astfel încât prezentarea să fie cea dorită… şi uşor de modificat:

paginare

Modul de prezentare de mai sus este “un şablon”, în interiorul fiecărei regiuni se pot plasa diferite componente (div, span, table, etc) conform cerinţelor de conţinut.

04.08.08

extJS - adăugare. modificare, ştergere

Posted in JavaScript at 5:13 am by rast

Iar mă bântuie ideile. Una ceva mai veche, dar cu iz de extJS, am mai scris-o eu pe blog, ataşând şi o imagine… atunci fiind vorba de Java.

Oricând, în programarea bazelor de date, vor fi cele trei operaţiuni de bază efectuate asupra unei tabele:

  • adăugare
  • modificare
  • ştergere

Voiam să concep o clasă, cu tot cu interfaţă, în Java pentru afectuarea acestor operaţii. Am lucrat puţin la ea… ar mai fi trebuit mult de lucru pentru a o termina şi a deveni funcţională.

ExtJS-ul devenind prioritar, mă bântuie ideea de a crea o astfel de clasă ca extensie a claselor extJS. Ar fi vorba de o îmbinare a claselor despre tree, forms şi AJAX.

Am prilejul să testez dacă afirmaţia făcută anterior, că extJS are un cod mai compact şi mai uşor de depanat decât Java, este adevărată sau nu.

Cine ştie mâine ce idei mai trec prin circumvoluţiunile creierului meu bântuit de spiritele nopţii :)

Tree extJS compleeeex

Posted in JavaScript at 5:01 am by rast

Încă nu e ora 15:00 şi iar mi-s obosiţi neuronii. Descifrasem eu de dimineaţă câte ceva la extJS Forms şi am vrut să trec mai departe. Forms-urile sunt utilizate atunci când vrei să adaugi sau să modifici ceva, în baza de date.

Cum am început aplicaţia? Se listează iniţial firmele existente în baza de date, ca în imaginea de mai jos:

extJSTree

La adăugarea unei firme noi, apare formularul cu câmpurile necesare, necompletate. La modificarea datelor unei firme deja existente, formularul va trebui să aibă câmpurile completate cu datele actuale. Soluţia clasică a programării web, este ca după selectarea unei firme din tree-ul afişat să se trimită o cerere spre server care “întoarce” spre calculatorul client datele firmei respective. Practic 2 tranzacţii client-server.

ExtJS vine cu o idee, după cunoştinţele mele de programare, nouă: fiecare componentă a tree-ului (numită “nod”) are setate mai multe elemente, elementul afişat pe ecran fiind cel cu denumirea “text”.

Acest lucru prezintă un mic avantaj. La start-area aplicaţiei, se încarcă tree-ul cu toate datele firmelor din baza de date, iar atunci când se doreşte modificarea datelor unei firme, acestea se completează din nodul selectat al tree-ului.

Important este şi numărul total de firme existente în baza de date.

Mâine, “dis de morning” cu neuronii odihniţi purced la descifrarea unui nou capitol despre extJS, nodurile unui tree, începând cu clasa: Ext.tree.TreeNode.

« Previous entries