[2s.mk-friends] JavaScript assets management

Damjan Georgievski penguinista at mail.net.mk
Sun Apr 29 23:15:16 UTC 2012


Ова е прашање за кое до сега не сум нашол одговор, па решив да го 
споделам тука и да го продискутираме.


Кога правам web апликации кои користам многу javascript библиотеки 
стално ја имам дилемата дали да користам CDN за хостирање на 
библиотеките или пак да ги интегрирам во апликацијата.

CDN има неколку мани:
· не постои начин за контрола дека од CDN-от го добиваш тоа што треба 
(CDN-от може да ти инсертира малициозен код, и додека не се реши тој 
проблем не сакам да промовирам CDN-и)
· плус зависиш од CDN-от иако не би очекувал многу проблеми со нив
· не сите библиотеки се достапни така

Имаат и предности:
· не плаќаш за hosting на тие фајлови
· Google API (1) е прилично добро (можеш да бираш најнова верзија, точна 
x.y.z верзија, или пак најнова од некоја major x.y верзија)
· ако сите апликации го користат истото CDN фајловите најчесто ќе бидат 
кеширани, така да се добива на перформанси


Таа првата мана највеќе ме нервира, така да почесто се одлучувам да 
хостирам кај мене, но тоа пак си има свои мани:

· како upstream ги update-ираат библиотеките (на пр. jquery 1.7.1 на 
1.7.2) па морам да пазам што се десило и рачно да download-ирам и 
интегрирам во апликацијата
· ако користам многу библиотеки, кои пошто се кај мене, најчесто не се 
кеширани, тоа лошо делува на перформансите на апликацијата, така да се 
појавува потребата да ги агрегирам сите во еден минимизиран и 
компресиран фајл

дали има алатки кои ќе ги автоматизираат горниве точки?
Идеално би имал конфиг фајл од типот:

   jQuery>=1.7,<1.8
   jQueryUI>=1.8,<1.9
   angularjs
   underscore

старташ алатка, ги симиња сите и опционално ги минимизиран/компајлира со 
тие неколкуте алатки (google closure, yui compressor, uglifyjs…) и ги 
агрегира во еден фајл на крај.


Идеи?


пс.
нешто вакво прави Python fanstatic


-- 
дамјан



More information about the Ossm-members mailing list