< HomePage | Снимки
<- Неделя, 1 Февруари 2009 | Начална страница | Вторник, 3 Февруари 2009 ->
Понеделник, 2 Февруари 2009

Няколко програми, без които писането и пускането на JavaScript в production не би било особено забавно. Да започнем с разработката:

- Firebug е абсолютно задължителна добавка към Firefox, дори и за хора, които не пишат код, а просто искат да видят някоя страница "отвъртре". Лично аз го ползвам по най-тривиалния начин чрез console.log и за да гледам какво идва по мрежата и за колко време.

- JSLint е чудесно инструментче, което преглежда какво сте написали и ви казва за потенциални проблеми със стила на написаното. Неинициализирани променливи, забравени ; и подобни. Ползвам го с изключени предупреждения за ползване на eval (все още е най-бързият и лесен начин за обработка на json) и предупрежденията за ползване на повече от един var във функция. Като се махнат тези двете всичкия код, който се деплойва трябва да е jslint чист!

- И накрая едно програмче за смаляване размера на JavaScript файловете, а именно yui compressor. Преди него ползвах някакви мои грозни скриптове, но постоянно им треперех да не счупят нещо. В крайна сметка се спрях на YUI Compressor-а, защото не е просто regex/find/replace, а ползва JS parser и знае какво прави. yui compressor се ползва от JQuery, тъй като като дава най-добри резултати като размер на файла в комбинация с mod_deflate на сървъра.

Толкова от мен, споделете вие какво друго ползвате?

[ Коментари: 8 ]
Коментари

http://www.hacksrus.com/~ginda/venkman/

Това изглежда готино, само дето още не съм опрял до него. :-)

Написа Коко на 09-Feb-2009 19:57


Firebug си има дебъгер, но не ми се е налагало да го ползвам. Не съм фен на дебъгерите смятам, че ако се опре до дебъгер кодът значи е станал твърде сложен. Обикновено с няколко pritnf/console.log проблемът се хваща.

Написа Георги Чорбаджийски (www) на 09-Feb-2009 20:03


CDN - in general. I like Akamai but there are many others ... I use google for js libs - jquery etc. If you follow yslow recommendation + CDN don't have to worry about js compression (mod_expire > 10 years etc. etc.). The only time I had to use js compression/obfuscation is when the client requested it ...
BTW After adobe open sourced the RTMP (go RED5!) there might be a new kid on the block. I personally hate flex/flash ... but that's what I said couple of years back for JS ...

Написа xeno на 09-Feb-2009 20:51


Дебъгването на js с FF3 и firebug е доста бъгаво :-) Често се налага да се рестартира firefox-а. Скоро гледах някаква статия за оптимизация на JS и хората си препоръчваха FF2 в комбинация с някой по-стар firebug.
Ама щом не ти се налага да пишеш сложни неща... е... ами... късметлия си. :-)
Друго което е задължително е комбинирането на js/css файловете за по-малко dns заявки.
Като цяло не съм виждал много-много български сайтове дето да се грижат за читав и оптимизиран фронт енд. За сметка на това има какви ли не изцепки като jquery и mootools на една страница, където и само едното би било overkill (скоро економедия пуснаха някакъв такъв сайт).
За yslow ти казаха. Виж и smush.it

Написа Tuzemec (www) на 09-Feb-2009 23:12


Ооо yslow си ми е винаги инсталирано. Всъщност то ми помогна да открия jslint. Иначе с ff3 не съм имал проблеми с дебъгване, но наистина не правя много сложни неща. Но пък да се качва ff2 и при положение, че вече май дори не се поддържа е меко казано странно. Това smush.it изглежда интересно, трябва да го пробвам.

Написа Георги Чорбаджийски (www) на 09-Feb-2009 23:27


А... и още нещо полезно - никакви глобални променливи! Е... освен обекта който капуслира всичко де :-)
И всички функции обикновено са ми хванати в някакъв неймспейс/обект - малко като YUI.
Всичко става много по-четимо и лесно за поддръжка. Примерно:
myApp.someRoutine.doSomething();

Написа Tuzemec (www) на 10-Feb-2009 11:34


smush.it ползва стандартните инструменти(optipng, pngcrush и др) за оптимизиране на PNG, без да променят самата картинка. Ако background-ът е еднообразен и не търсиш алфа прозрачност добра работа вършат pngquant и pngnq. Те генерират 8-битови png-та,които нямат проблем в IE6 и не се налага да се ползват разните, смотани филтри. Аз лично предпочитам 24bit png за нормалните броузери и 8 за IE.

Написа Peter Velichkov (www) на 10-Feb-2009 12:37


И аз след като пробвах няколко други решения стигнах до yui compressor. За проектите, за които компресираме js пишем по едно просто скриптче, което да намачка всички скриптове в един.
Основният инструмент, който ползвам за поглед отвътре на страниците, е Web Developer - по-удобен е и не товари толкова браузъра. Когато с него не стигам до нужната информация, опирам до Firebug. YSlow е задължителен, макар че не винаги последва реална оптимизация. Ако ти е на дневен ред сериозна оптимизация, http://www.phpied.com/ ти е отправна точка - разрови му архивите, има статии в YUI Blog за оптимизация на картинките, sprites и т.н.

Написа Гонзо (www) на 10-Feb-2009 12:51