Ajax Dojo срещу YUI Libraries Duel

Използване на библиотеки за създаване на допълнителен потребителски опит

libraries

Защо да използваме библиотека?

Сега нещата са много по-добри. Проблеми с браузъра все още съществуват (това е камък в зеленчуковата градина на Windows® Internet Explorer® 6). В допълнение към значително подобрените инструменти, тежестта от разработването на интерфейс за различни браузъри сега се улеснява от голямо разнообразие от библиотеки. Докато се опитвате да изберете правилната среда за разработка, за да улесните живота си, се натъквате на парадокс на избора - но това със сигурност е по-добре от дългите нощи на отстраняване на грешки, опитващи се да преодолеят проблемите с браузър X на операционната система Y! Днес трябва да потърсите библиотека, която да е в основата на вашите усилия за програмиране - вид виртуална машина, която не зависи от различните реализации на браузъра и кода, който се опитвате да напишете.

В допълнение към изглаждането на разликите между браузърите, този набор от инструменти ви дава допълнителен лост в ежедневното ви програмиране. Някои минималистични библиотеки решават един-единствен проблем, докато други служат като универсални инструменти, които се стремят да поправят всички недостатъци на мрежата. Въпреки разликите между библиотеките, те имат много общи черти. Повечето от тях предоставят:

  • обвивка за обекта XMLHttpRequest (XHR);
  • независими от браузъра CSS селектори;
  • опростена обработка на събития;
  • различни анимации, ефекти и джаджи;
  • други полезни функции.

Как избирате само една библиотека? Единственият грешен отговор е кодирането на ръка, без да се използват библиотеки. Изборът на библиотека може да бъде труден, но това е нищо в сравнение с опита да го направите сами. Преди да се паникьосате и да помислите как да изберете една библиотека, знайте, че повечето от тях работят чудесно заедно (в рамките на разумното) и понякога комбинацията е най-добрият вариант. Ето обаче няколко въпроса, на които трябва да се отговори при избора на библиотека.

Защо YUI и Dojo?

YUI 3 е сравнително нов, напълно пренаписан Yahoo! Създадена за подобряване на производителността, тази актуализация изглежда много обещаваща. Към момента на писането обаче библиотеката с приспособления е малка, въпреки че това трябва да се промени през следващите месеци. Ако започвате днес, можете да изберете YUI версия 2, но да запазите YUI 3 в полезрението си за в бъдеще.

Dojo използва подобен подход, въпреки че изпълнението е по-просто. Достъпте до ядрото, като използвате dojo като обвивка от най-високо ниво, докато джаджите са на ниво dijit.

Лесният начин за програмиране на Ajax

Въпреки че самият XHR обект не е много сложен, има много нюанси, които трябва да знаете, за да го направите правилно, така че скоро ще стигнете до ниво на абстракция, което е общо за почти всички библиотеки на Ajax днес. Dojo и YUI не правят изключение и всеки осигурява лесна за използване обвивка. Когато работите с XHR с помощта на библиотеката, ще намерите общи теми. Най-малко тези черупки са:

  • предоставете URL адреса на ресурса, който ще бъде извикан;
  • предоставят начин за предаване на параметри;
  • ще предложи начин за определяне на метода на HTTP повикване (GET, POST);
  • включва механизъм за обратно извикване за обработка на резултата.

YUI и Ajax

YUI съхранява своята XHR обвивка в Connection Manager. API е много прост: извиквате един метод и получавате обект на връзка. Типично обаждане може да изглежда нещо като Листинг 1.

Листинг 1. Пример за YUI Ajax повикване

Може да изглежда малко многословно в сравнение с други библиотеки, но аз разширих кода малко за четливост. Обратните обаждания и URL адресите могат да бъдат вмъкнати директно в обаждането Connect.asyncRequest. Както можете да видите, някои елементи се извличат - в този случай