Content Delivery Network

Напоследък засилено използвам различни Javascript библиотеки за постигане на максимално бърза разработка и лесно добавяне на функционалност към потребителския интерфейс. И като стана дума за потребителски интерфейс – най-много използвам .

Добавянето става внимателно и винаги след като съм създал пълната функционалност и съдържание на съответното приложение и чак след това добавям допълнителните фичъри за увеличаване на потребителското преживяване и взаимодействие с приложението.

Когато пиша Интранет приложения, големината на зарежданите от браузърите допълнителни библиотеки е почти неограничена. Мрежовите трансфери от по 1 гигабит, развързват страшно много ръцете и дават една чудна свобода на използване на допълнителни фичъри и библиотеки на разработчиците.

Разбира се в Интернет нещата изобщо не стоя така. Всяко едно битче трансфер е от значение и всяка стотна от секундата също. Особено ако става дума за приложение ползвано и от мобилни мрежи, където стойността на всеки мегабайт и всяка секунда е в пъти по-скъпо.

В Интернет разточителното ползване на огромни по размер и много по количество библиотеки е недопустимо. Увеличават размера на свалената информация. Увеличават времето за рендване на съдържаните, че дори и времето и стойността за поддръжка на приложението.

Най-лесния начин за увеличаване бързодействието на едно Интернет приложение е минификация на всички възможни библиотеки под ваш контрол. Проблема е, че изхода е не читаем за човек. Начина е да окажете в минифицирания файл къде е файла с лесно читаемо съдържание. Тази стъпка не е необходим и изисква известни усиля за поддръжка на два файла, но като привърженик на отворения код за уеб – винаги оказвам местоположението на читаемата версия на файла. Един подобен пример е базовия стил на сайтчето на Фото Студио Нана. Както може да видите в началото на файла пише: readable full.css – и ако заредите full.css ще видите лесно четимата версия.

Друго, което е добре да направите е да предавате компресирано съдържание + управление на кеширането. Ей тука няма да се спирам подробно. Темата е обширна и къде по-големи спецове от мен са описали достатъчно из мрежата. Само ще вметна, че не всеки има достъп до управление на тези настройки и дори и да има – не всеки е достатъчно спец, за да си ги настрои максимално добре. Но… все пак за улеснение на self.host-ърите, които нямат достатъчно познания, част от огромните компании в мрежата предоставят подобни решения, невероятно добри и е препоръчително да бъдат ползвани.

Такова решение са редистриибутивните мрежиCDN.

За България препоръчвам ползването на Google мрежата и тази на Майкрософт.

Освен, че съдържанието се хоства на машина с много голям bandwidth (ета не переводится), намалявате трафика си – те са настроени и да оказват как се кешира предоставеното съдържание, което увеличава бързодействието. Прекрасна услуга. Много удобна и спестяваща ресурси (пари, познания, хост, време и т.н.). Силно препоръчвам ползването на CDN. След като добавих Google CDN за и SWFobject на сайтчето на Cyclades Traveller – един проект за Ники Тотухов, времето му за изчитане от роботите на падна с почти 1.5 сек. (по статистика от Google Webmaster Tools).

И накрая, но не на последно място, почти всички CDN хостове предлагат лесен контрол на ползваните версии (и двата оказани от мен по-горе го имат) за библиотеките. Ползвате и не мислите.

Да е жива и здрава … :o)

Вашият коментар

This site uses Akismet to reduce spam. Learn how your comment data is processed.