5 out of 5 members found this post helpful.
jSpine - o librarie Javascript similara cu jQuery, ideala pentru proiecte mici
De ceva timp utilizez cu succes o librarie pe care am imbunatatit-o constant si care in multe din proiectele la care am lucrat, a inlocuit cu succes faimoasa librarie jQuery.
Nu numai ca este de aproape 50 ori mai mica decat jQuery(care a ajuns la 300Kb) dar este si mult mai rapida, tocmai pentru ca nu inglobeaza anumite componente si nu suporta plugins.
Asa ca sa nu fiu egoist, de curand am decis sa o botez si sa o urc pe GitHub.
Pana va fi gata documentatia, puteti arunca o privire aici: jSpine.js - exemple
Feedback-ul vostru e binevenit, atata timp cat e constructiv.
1 out of 1 members found this post helpful.
Nu-mi place cum suna "copiat". Am simplificat si recreat cele mai utilizate metode cu care utilizatorii de jQuery sunt deja familiarizati, bineinteles respectand method chaining. Incurajez folosirea JS pur la crearea functiilor simple si CSS atunci cand framework-urile devin overkill. In opinia mea, overkill inseamna cantitatea de raw code care poate fi mai mica decat daca ai folosi o librarie sau framework coroborata cu expansiunea complexitatii aplicatiei.
Asta insemnand ca initial, volumul de raw JS poate fi destul de rapid si suficient chiar daca nu poate fi reutilizat sau poate fi reutilizat partial, iar mai tarziu cand complexitatea aplicatiei creste, sa constati ca ai nevoie de o librarie.
De acord, e usor sa ascunzi un element sau sa schimbi un atribut dar daca vrei sa serializezi un form ale carui date sa fie trimise prin XHR, volumul de pure JS devine prea mare.
Ideea ta e buna dar nu ma pricep la vectori si nici mare fan JS nu sunt. Nu scriu JS in fiecare zi ci doar atunci cand nevoia ma indeamna s-o fac.
Asa s-a intamplat si cu jSpine.js care a luat nastere dupa ce m-am saturat de jQuery si JS pur.
1 out of 1 members found this post helpful.
Imi cer scuze, nu am vrut sa insinuez ca ai copiat codul. Am vrut sa zic ca e aceeasi functionalitate.
Inca 2 sugestii:
1. Nu te zgarci cand vine vorba de scalabilitate. Cu siguranta nu o sa poti lua in calcul toate posibilele utilizari. Mai bine cativa kilo in plus decat sa fortezi pe cineva sa foloseasca alta librarie.
2. O optimizare pentru viteza.
Cand ai ceva de genul:
Cod:
for (j = 0; j < elem.options.length; j++)
Vei calcula elem.options.length la fiecare iteratie a lui j.
Varianta optima este:
Cod:
var l = elem.options.length;
for (j = 0; j < l; j++)
Sau:
Cod:
for (var j = 0, l=elem.options.length; j < l; j++)
Totusi, nu recomand ultima versiune. Conform jslint / Douglas Crockford, declararea variabilelor in for nu este "Best Practice". Parerile sunt impartite.. https://www.google.ro/webhp?sourceid...best+practices
2 out of 2 members found this post helpful.
Eu o sa te contrazic aici. 300Kb nu e mult.
In plus jquery-2.2.3.min.js are 85.7kB. La asta putem adauga apc si gzip. Ca sa nu mai zic de cache la client. Timpul de incarcare va fi sub 50ms si probabil de 1ms daca faci cache pe client.
Evident... cu cat mai light cu atat mai bine dar uneori nu merita sa pierzi timpul cu asta.
20th December 2017, 22:49
#10
1 out of 1 members found this post helpful.