The Diary
Дневникът на Георги
<- Неделя, 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 ]Коментари
Firebug си има дебъгер, но не ми се е налагало да го ползвам. Не съм фен на дебъгерите смятам, че ако се опре до дебъгер кодът значи е станал твърде сложен. Обикновено с няколко pritnf/console.log проблемът се хваща.
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 ...
Дебъгването на js с FF3 и firebug е доста бъгаво :-) Често се налага да се рестартира firefox-а. Скоро гледах някаква статия за оптимизация на JS и хората си препоръчваха FF2 в комбинация с някой по-стар firebug.
Ама щом не ти се налага да пишеш сложни неща... е... ами... късметлия си. :-)
Друго което е задължително е комбинирането на js/css файловете за по-малко dns заявки.
Като цяло не съм виждал много-много български сайтове дето да се грижат за читав и оптимизиран фронт енд. За сметка на това има какви ли не изцепки като jquery и mootools на една страница, където и само едното би било overkill (скоро економедия пуснаха някакъв такъв сайт).
За yslow ти казаха. Виж и smush.it
Ооо yslow си ми е винаги инсталирано. Всъщност то ми помогна да открия jslint. Иначе с ff3 не съм имал проблеми с дебъгване, но наистина не правя много сложни неща. Но пък да се качва ff2 и при положение, че вече май дори не се поддържа е меко казано странно. Това smush.it изглежда интересно, трябва да го пробвам.
А... и още нещо полезно - никакви глобални променливи! Е... освен обекта който капуслира всичко де :-)
И всички функции обикновено са ми хванати в някакъв неймспейс/обект - малко като YUI.
Всичко става много по-четимо и лесно за поддръжка. Примерно:
myApp.someRoutine.doSomething();
smush.it ползва стандартните инструменти(optipng, pngcrush и др) за оптимизиране на PNG, без да променят самата картинка. Ако background-ът е еднообразен и не търсиш алфа прозрачност добра работа вършат pngquant и pngnq. Те генерират 8-битови png-та,които нямат проблем в IE6 и не се налага да се ползват разните, смотани филтри. Аз лично предпочитам 24bit png за нормалните броузери и 8 за IE.
И аз след като пробвах няколко други решения стигнах до yui compressor. За проектите, за които компресираме js пишем по едно просто скриптче, което да намачка всички скриптове в един.
Основният инструмент, който ползвам за поглед отвътре на страниците, е Web Developer - по-удобен е и не товари толкова браузъра. Когато с него не стигам до нужната информация, опирам до Firebug. YSlow е задължителен, макар че не винаги последва реална оптимизация. Ако ти е на дневен ред сериозна оптимизация, http://www.phpied.com/ ти е отправна точка - разрови му архивите, има статии в YUI Blog за оптимизация на картинките, sprites и т.н.
Disclaimer: Except where otherwise noted all opinions expressed here are personal
opinions of the author and do not reflect official opinions of my employer or
any other person, company or organization associated with the author.
Copyright: Except where otherwise noted the content of this site is licensed under a
Creative Commons Attribution License. Текстът на договора за ползване на български
Copyright (cc) 2003-2011 Georgi Chorbadzhiyski. Some rights reserved.
Comments, texts and pictures not signed by me are property of their respective owners.
Страницата е генерирана от Glog v3.99-test
http://www.hacksrus.com/~ginda/venkman/
Това изглежда готино, само дето още не съм опрял до него. :-)
Написа Коко на 09-Feb-2009 19:57