YUI Teatru - Jeff Craig: "Demistificarea Hand: Modulul de configurare avansata" (31 min.)
16 decembrie 2011 la 10:10 pm de către Ryan Grove | In Dezvoltare , YUI Teatru | No CommentsÎn această discuţie de la YUIConf 2011, Meebo inginer şi YUI contribuie Jeff Craig ( @ foxxtrot ) arata tot ceea ce aţi dorit mereu să ştiţi despre YUI Loader, dar au fost frică să întreb. Aceasta este o trebuie să-vedea oricine pentru a face performanţă, critic de lucru cu YUI 3.
Link-uri
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
YUI: Ore Open Joi Dec 15
13 decembrie 2011 la 11:59 pm de către Eric Ferraiuolo | In Dezvoltare , ore deschise | No CommentsYUI 3.5.0 PR1
YUI 3.5.0 PR1 este acum disponibil ! Aceasta este prima Comunicate de trei Preview pentru 3.5.0.
Pentru aceasta, ore deschise, vom fi subliniind ceea ce este în PR1 si discuta despre cum te poţi implica să vă asiguraţi că 3.5.0 este solid rock. Vom fi, de asemenea, cere pentru un show-de-mâini de la dezvoltatorii minunat care am inceput sa folosesc deja 3.5.0 PR1 (care este pe CDN ). Vino joi, nu te prins cu mâna în jos :)
De asemenea, YUI Schela site-ul Bibliotecii a fost actualizat cu cele mai noi ghidurile de utilizare şi Docs API, şi ca răspuns la feedback-ul de la ultimele ore deschise , ne acum folosind noastră wiki GitHub pentru a urmări discuţiile în curs de dezvoltare .
Înregistrare
De înregistrare este disponibil pe YouTube YUILibrary canal .
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
App Modificări cadru în YUI 3.5.0
12 decembrie 2011 la ora 03:40 de către Ryan Grove | În Dezvoltare | 1 ComentariuDe la lansarea iniţială a App-cadru în YUI 3.4.0, am fost uimit de cat de repede că a fost adoptată. În cazul proiectelor mari şi mici , atât de mult timp utilizatorii de YUI şi cei care sunt complet noi pentru biblioteca au fost entuziasm, folosind componente de MVC cadru App şi furnizarea de feedback-ul mare şi rapoarte de bug-uri. Vă mulţumim!
În YUI 3.5.0, App-cadru va primi o mulţime de bug fixat şi unele îmbunătăţiri majore. Eric Ferraiuolo acoperit multe dintre schimbările viitoare ale lui Discuţie YUIConf fantastic , dar vrem să le evidenţia aici, precum şi astfel încât veţi şti ce vine şi de ce ar trebui să se pregătească pentru cazul în care aveţi de gând să faceţi upgrade App-cadru pe bază de cod de la 3.4.x la 3.5.0. Aceste schimbări sunt deja în YUI 3.5.0 PR1 , care a fost lansat astazi, asa ca acum este o mare de timp pentru a începe testarea lor.
Y.Controller este acum Y.Router
"Controler" a fost un nume stupid şi confuz pentru o componentă care se referă într-adevăr mai mult cu rutare bazat pe URL, mai ales având în vedere rolul tradiţional mai mult ca-operator pe care îl joacă Y.View. Am decis să muşte glonţ şi redenumi clasa Y.Controller la Y.Router în 3.5.0. Y.Controller va deveni un alias pentru a păstra compatibilitatea înapoi, dar acest alias vor fi în cele din urmă eliminate, astfel încât ar trebui să actualizaţi codul pentru a se referi la noul nume.
Noua ruta manipulare semnătura
Semnătura metodei pentru funcţiile de manipulare de traseu în Y.Router sa schimbat uşor pentru a face mai mult similar cu Express şi pentru a face API Router-ului mult mai natural atunci când este folosit pe server (o caracteristică suntem lucrează în prezent la 3.5.0 pentru).
Anterior, o funcţie de tratare traseu primit două argumente: req (un obiect cerere) şi next (o funcţie). În 3.5.0, Stivuitoare traseu va primi trei argumente: req , res (un obiect de răspuns), şi apoi next .
Pentru motive de compatibilitate, noul res argument este, de asemenea, o funcţie care se comporta exact ca next , astfel încât Stivuitoare traseu de stil vechi, care aşteaptă next ca ARG al doilea va continua să lucreze bine în 3.5.0. Cu toate acestea, acest shim compatibilitate va fi în cele din urmă eliminate, asa ca nu asteptati prea mult timp pentru a actualiza codul.
Unele proprietăţi sunt acum atribute
Am experimentat cu un nu-totalitate-YUI-ca stil de utilizare a proprietăţilor pentru opţiuni configurabile din componentele-cadru în App 3.4.0, dar acest lucru sa dovedit a fi un pic confuz şi mai mult de un pic de limitare, deoarece proprietăţile nu beneficiază de la evenimente de schimbare, organisme, cum ar fi atributele şi validatorilor împrejurimi. Deci, în 3.5.0, suntem de conversie a multora dintre aceste proprietati la atribute.
Din păcate, această schimbare nu este compatibil, codul astfel existente care utilizează Y.Controller (acum Y.Router) sau Y.View pot avea nevoie să fie actualizate. Concret, Y.Router lui html5 , root , şi routes proprietati sunt acum atribute, şi Y.View e container , model , şi modelList proprietati sunt acum atribute de asemenea.
În afară de aceasta, Y.View e container atribut tratează acum valori şir ca Selectoare CSS folosit pentru a găsi noduri de pe pagina. În 3.4.x, şi-a asumat o valoare şir reprezentat HTML brut, care ar trebui să fie transformată într-un nod. Pentru a obţine comportamentul vechi, schimba doar valorile existente HTML şir de '<div>foo</div>' a Y.Node.create('<div>foo</div>') .
Documentaţia pentru 3.5.0 PR1
Lucrările în curs documentaţia pentru aceste schimbări şi alte modificări ale YUI 3.5.0 PR1 pot fi găsite pe noastre site-ul de aşteptare . Iată câteva link-uri către documentele relevante de asteptare, care includ informaţii cu privire la deprecations-cadru în App 3.5.0 şi detalii despre cum să vă actualizaţi codul:
Reţineţi că conţinutul de la stage.yuilibrary.com reflectă lucrările în curs în curs şi pot fi incomplete sau chiar ocazional rupt ca lucruri noi de testare nou. Veţi găsi întotdeauna Docs pentru cea mai recentă versiune stabilă la site-ul nostru de producţie, yuilibrary.com .
Ce altceva este nou?
În acest post pe blog-am rezumat la deprecations importante care vin pentru a-cadru în App 3.5.0, dar există, de asemenea, o mulţime de îmbunătăţiri ale funcţionalităţilor şi sub-the-hood corecţii de bug-uri. Pentru o listă completă a modificărilor în cadru App 3.5.0 PR1, consulta fisierul-istoric .
De asemenea, căutaţi pentru un post de blog de la Eric curând despre Y.App, un minunat nou la nivel înalt componentă a Cadrului App care încheie de rutare bazat pe URL şi de management în vederea într-un singur uşor de utilizat API care voi primi de la zero la o aplicaţie de lucru în cel mai scurt timp.
Sperăm să vă iubim eliberare previzualizare, si ne-ar plăcea să aud de la tine! Puteţi să ne trimiteţi feedback-ul în forumuri , într- un raport de problemă , pe Twitter , pe Yui # canal IRC pe Freenode, sau doar clopotul aici cu un comentariu.
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
YUI 3.5.0 PR1 este acum disponibil
Decembrie 12, 2011 la 15:36 de Allen Rabinovich | In Dezvoltare | No Comments
YUI 3.5.0 Preview Release 1 a fost implementat pentru testare si feedback de la comunitatea de dezvoltatori. Puteţi găsi pe Yahoo! CDN la yui.yahooapis.com/3.5.0pr1/build/yui/yui-min.js , sau de a descărca un fişier zip , dacă aveţi de gând să găzduiască singur.
Pachetul de modificări introduse în PR1 este disponibilă pe wiki-ul GitHub nostru. În plus, aveţi posibilitatea de a revizui lista de bilete care au fost rezolvate în această versiune .
Lucrările în curs de ghidurile de utilizare şi Docs API pentru 3.5.0 pot fi găsite pe site-ul nostru de aşteptare, dar aveti grija ca acestea Docs pot fi incomplete sau chiar rupt, deoarece acest lucru este în cazul în care vom testa lucruri noi. Oficial Google Docs pentru ultima versiune stabila poate fi găsită pe site-ul nostru de producţie, yuilibrary.com .
Mai multe modificări vor fi introduse în versiunile viitoare ale previzualizare YUI 3.5.0, unii dintre ei sunt în prezent în filiale proprii dezvoltatorii ", şi sunt disponibile pentru revizuire iniţială prin intermediul cererilor de atracţie următoarele:
Pentru a depune bug-uri împotriva această versiune, vă rugăm să vizitaţi sistemul de urmărire a bug . Dacă doriţi să ofere informaţii privind aceste module şi în viitor, discuţiile în curs de desfăşurare privind diverse subiecte referitoare la eliberarea 3.5.0 se întâmplă în nostru Wiki GitHub.
Daca totul merge conform planului, sperăm să elibereze YUI 3.5.0 PR2 pe 30 ianuarie, 2012. Sarbatori Fericite!
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
YUI Teatru - Rabinovich Allen: "YUI Calendar - un studiu de caz Construirea Module cu stil" (47 min.)
8 decembrie, 2011 de la un 02 noaptea de Ryan Grove | In Dezvoltare , YUI Teatru | No CommentsÎn această discuţie de la YUIConf 2011, YUI inginer Allen Rabinovich ( @ allenr ) împărtăşeşte procesul de el a folosit pentru a arhitectului şi de a construi noi widget-ul calendar în YUI 3, şi explică modul în care se poate utiliza un proces similar pentru a construi propriile widget-uri. El arată, de asemenea pe noi componente şi dezvăluie un truc inteligent de performanţă utilizat pentru a accelera redarea de mai multe calendare.
Link-uri
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
YUI Teatru - Pat Cavit: "Optimizari Automatizarea Site-ul" (32 min.)
6 decembrie, 2011 ora 2:58 pm de către Ryan Grove | In Dezvoltare , YUI Teatru | 2 ComentariiPat Cavit ( @ tivac ), un inginer frontend la ArenaNet si un contributor activ YUI şi membru al comunităţii, ni sa alăturat la YUIConf 2011 pentru această discuţie privind automatizarea build-time optimizare web, cum ar fi concatenarea dosar, minification, redenumirea, şi mai mult utilizarea Ant construi instrument.
Link-uri
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!
În YUI 3 Galerie: Widget Editor Bulk
5 decembrie, 2011 de la un 01 noaptea de John Lindal | In Dezvoltare , YUI 3 Galerie foto | No CommentsPlugin QuickEdit pentru YUI 3 DataTable îl face uşor de a edita o pagină întreagă de înregistrări ca o operaţie atomică. Cu toate acestea, uneori, ai nevoie pentru a face chiar mai mult. De exemplu, aţi putea avea de a edita simultan mai multe înregistrări decât vă puteţi potrivi confortabil pe o singură pagină. Sau aţi putea avea nevoie pentru a sprijini adăugarea, duplicarea, şi eliminarea înregistrărilor, ca parte a operaţiunii atomice. Sau aţi putea dori să domenii de grup vizual prin plasarea lor într-o celulă singur tabel. Editor Bulk widget acceptă toate aceste posibilităţi.
( Click pe imagine pentru a juca cu acest exemplu .)
Prezentare generală
Widget Editor Bulk constă din trei componente:
-
Data source Aceasta încheie un YUI sursa de date şi gestionează modificările: insertii, absorbţii, şi valori modificate.
-
Base widget Aceasta prevede structura de bază pentru editare de gestionare a înregistrărilor şi de câmpuri din fiecare înregistrare. Clase derivate sunt responsabili pentru prestarea fiecare înregistrare într-un
rând
separat, care ar putea fi un div, un TBODY, sau un alt recipient.-
HTML table implementation Aceasta se extinde widget de bază pentru a face fiecare înregistrare într-un TBODY într-un tabel HTML. Coloana de configurare determina care câmp este afişat în fiecare coloană a tabelului. O celulă de formatare particularizată poate fi utilizată pentru a face mai multe câmpuri într-o celulă singur tabel.
Configuraţie
În exemplul de care a generat poza de mai sus, de configurare a fost păstrată cât mai simplu posibil:
fields defineşte valori editabile în fiecare înregistrare. Tipul implicit este de intrare.
Celelalte tipuri sunt valabile şi selectaţi textarea.
(Selectaţi
necesită o listă de valori.), De validare de bază este oferit de Formularul de Manager de modul de galerie. Acest lucru se referă la câmpurile obligatorii, lungime, restricţii şi zone numerice . Validare mai complex poate fi efectuată prin specificarea regex sau funcţia proprie ( fn ). Aici este un fragment de exemplu viu:
domenii de var = { titlu: { Tipul: "textarea" }, an: { validare: { CSS: "yiv-întreg: [1500,2100]" } }, culoare: { Tipul: "selectaţi", valori: [ {Valoare: "roşu", textul: "Red"}, {Valoare: "verde", textul: "verde"}, {Valoare: "albastru", textul: "Albastru"} ] } };
Y.BulkEditDataSource necesită o instanţă a Y.DataSource şi de următorii parametri:
-
uniqueIdKey Numele de o cheie care identifică în mod unic fiecare înregistrare.
-
generateRequest O funcţie de parametrii pentru a genera cerere pentru
Y.DataSource. (Aceasta este gol în exemplul, deoareceY.DataSource.Localîntoarce întotdeauna toate datele.)-
extractTotalRecords O funcţie pentru a extrage numărul total de înregistrări de la
Y.DataSourcerăspuns.
Deoarece exemplu utilizează Y.DataSource.Local , totalRecordsReturnExpr este, de asemenea, necesară. Această expresie OGNL specifică în cazul în care, în răspunsul pentru a stoca numărul total de înregistrări. (Observaţi că extractTotalRecords citeşte această valoare.)
var ds = new Y.BulkEditDataSource ( { DS: raw_ds, uniqueIdKey: "id", generateRequest: function () {}, totalRecordsReturnExpr: ". meta.totalRecords", extractTotalRecords: funcţia (de răspuns) { a reveni response.meta.totalRecords; } });
Y.HTMLTableBulkEditor necesita sursa de date, configurare domeniu, precum şi coloana de configurare. În configuraţia coloana, cheia este numele de domeniu, dacă nu specificaţi o formatare particularizată. Eticheta este utilizat ca titlu de coloană. Aici este un fragment de exemplu viu:
coloane var = [ { cheie: "caseta", etichetă: "<input type="checkbox" id="select-all" />", formatare: Funcţia (o) { var markup = '<input type="checkbox" class="record-select" id="{id}" /> "; o.cell.set ("innerHTML", Y.Lang.sub (marcare, { id: this.getRecordId (o.record) })); } }, {Cheie: "titlu", etichetă: "Titlul"}, {Cheie: "an", etichetă: "Anul"}, {Cheie: "culoare", etichetă: "Color"} ];
(Reţineţi că exemplul viu defineşte o extensie minoră a Y.HTMLTableBulkEditor să se ocupe de coloana caseta.)
Puteţi trece, de asemenea, o instanţă de Y.Paginator la Y.BulkEditDataSource . Acest lucru este demonstrat într-o separat, mult mai complicat exemplu viu .
Surse locale de date la distanţă faţă de
Atunci când decide dacă să utilizaţi un local sau o sursă de date la distanţă, trebuie să ia în considerare cu atenţie compromisuri. Evident comerţ-off este ca o sursă de date locală este mai rapid atunci când paginating, dar de încărcare pagina iniţială va dura mai mult, şi necesită mai multă memorie pe client.
Widget Editor Bulk impune suplimentare de comerţ-off-uri, cu toate acestea.
În primul rând, YUI sursa de date trebuie să se întoarcă de date imuabile. Acest lucru este automată pentru surse locale de date, dar poate fi dificil să pună în aplicare pentru surse de date de la distanţă. Veţi avea nevoie pentru a bloca rândurile din tabel baza de date pentru durata operaţiunii de modificare în bloc în cazul în care mai mult de un utilizator este permis pentru a le modifica.
În al doilea rând, alegerea între sursă locală şi la distanţă de date afectează modul în care este permis pentru a salva datele. Atunci când utilizaţi o sursă de date locală, puteţi face un efort
de economisire cel mai bine,
de exemplu, salvaţi toate înregistrările valide la server, eliminaţi-le de la sursa de date la nivel local, şi să permită utilizatorului să se concentreze pe înregistrările care au valori invalide. Atunci când utilizaţi o sursă de date la distanţă, cerinţa de imutabilitatea permite doar să facă tot sau nimic
de economisire, de exemplu, datele pot fi salvate numai după ce toate datele sunt valabile.
Real-lume de utilizare cauza
Motivaţia iniţială pentru widget-ul redacţiei masă a fost de a permite post-procesare a unei foi de calcul încărcat. Introducerea un pas de post-procesare elimină necesitatea pentru valorile de calcul tabelar pentru a fi perfectă. Erorile pot fi marcate şi fixe în widget-ul Editor în masă în loc de respingere a întregii încărcare. În plus, procesarea pe server se poate face cel mai bine de ghicit atribuirea de valori suplimentare necesare pentru fiecare înregistrare, iar utilizatorul poate verifica şi repara aceste valori suplimentare înainte de a salva. Acest lucru simplifică crearea iniţială a foii de calcul.
În acest scenariu, o sursă de date de la distanţă este cea mai buna alegere. Încărcat de date sunt stocate într-un spaţiu zgârieturi, şi este garantat, prin urmare, imuabilă, deoarece nici un alt utilizator poate vedea. "Totul sau nimic" economisirea este necesar: După ce toate erorile au fost stabilite, operaţiunea de salvare este atomic, la fel ca o operaţiune de standard de încărcare.
Împărtăşiţi şi extinde: Bookmark cu del.icio.us | Digg it! | reddit!

Copyright © 2006-2012 Yahoo! Inc Toate drepturile rezervate. Politica de confidenţialitate - Condiţii de furnizare a serviciului
Powered by WordPress pe Yahoo! Gazduire Web .

