Закрытие библиотеки или YUI 3 - PullRequest
       21

Закрытие библиотеки или YUI 3

5 голосов
/ 24 сентября 2011

Я проектирую корпоративное веб-приложение, используя python, django.Мое окончательное решение - какую библиотеку javascript использовать.Я думаю об использовании библиотеки закрытия Google или YUI3.В большинстве разработок я использовал jQuery. Я могу быстро кодировать с помощью jQuery, но это не подходит для корпоративного использования.

YUI 3 кажется довольно хорошим.Он включает в себя большинство виджетов, которые я хочу использовать, но библиотека Closure делает почти то же самое.Лучшее предложение с библиотекой Closure - у них есть Closure Compiler, но, похоже, что Closure требует написания гораздо большего количества кода, чем YUI 3. Документация с YUI 3 тоже довольно хорошая., поэтому библиотека не должна ломаться в мобильном устройстве, таком как Android или iPhone.

Если бы вы были мной, какое решение вы бы приняли?

Ответы [ 4 ]

7 голосов
/ 30 сентября 2011

1001 * Юридическая информация * Я в основном опираюсь на комментарии о jQuery в корпоративной среде, и, поскольку у меня нет опыта работы с YUI, я не могу дать какого-либо осознанного совета, чтобы [не] использовать его вместо Closure. Но в отсутствие других ответов я поделюсь своим опытом с Closure. Закрытие библиотеки

Что касается библиотеки Closure, которую я использовал для нескольких последних проектов, но отнюдь не эксперт в этом, я могу сказать только хорошие вещи.

Библиотека предоставляет основные компоненты, которые вам нужны при создании любого вида пользовательского интерфейса. Но, в отличие от jQuery, в него не входят триллионы « готовых к развертыванию » подключаемых сценариев или, как некоторые говорят, без включенных батарей.

У него есть базовые события, элементы управления, xhr, диалоги, компоненты форм и т. Д., И, по моему мнению, самое важное, пространства имен (или, по крайней мере, что-то похожее на них ...).

При этом вы можете создавать свои собственные пользовательские интерфейсы, ограниченные только вашим воображением и мощью JavaScript (а JS - очень мощный язык, даже если у него есть свои собственные неудобства).

И с помощью Закрывающего компилятора , который не только минимизирует код, но и исключает весь неиспользуемый код, выполняет проверку типов, выдает предупреждения, полезные для отладки и т. Д., Он выглядит как прочная основа для построения больших приложения, созданные командами любого размера.

На мой взгляд, основной причиной использования Closure over jQuery в корпоративных проектах является согласованность. Плагины потрясающие, но они, как правило, включают в себя несогласованность на всех уровнях, будь то методы программирования, визуальные стили и структура, производительность, использование, как вы это называете. Устранение этих мелких несоответствий в большом проекте может потратить много времени.

Итак, в заключение, если у вас большой проект, требующий пользовательского интерфейса и большой гибкости, закрытие - это правильный инструмент для работы. И с "пространствами имен" это даже чувствует себя все Pythonish.

P.S. Мы также используем Django на стороне сервера.

4 голосов
/ 29 января 2012

Вы затронули большинство важных аспектов здесь, проверку типов, минимизацию, пространства имен, но я хотел бы добавить еще несколько.Наряду с предлагаемым шаблонным решением, которое не только очень быстрое и имеет полную поддержку интернационализации, оно смешивается и сжимается с библиотекой.Он также компилируется в код Java, поэтому вы можете выполнять рендеринг как на сервере, так и на клиенте из одного и того же шаблона.Затем есть архитектура компонентов, которая имеет полный жизненный цикл, отделяет средства визуализации от компонентов (если вы знакомы с Swing или Flex, вы поймете идею), она имеет две модели, одна - рендеринг на стороне клиента, а другая - декорация, которая играетпрекрасно вместе с рендерингом на стороне сервера.

Решения для тестирования хорошо определены, и теперь у нас есть тысячи и тысячи строк JavaScript, и без закрытия это было бы неразрешимым беспорядком IMO.

2 голосов
/ 28 сентября 2011

Я бы пошел с YUI 3. Особенно, если единственная причина, по которой вы рассматриваете Google Closure, это компилятор. Поскольку это хорошо работает в YUI 3, с гораздо лучшим сжатием, чем в YUI compresser. Я уверен, что это не так хорошо, как с кодом Closure, но это довольно сложно проверить.

Модульная структура в YUI 3 потрясающая, и в ней достаточно сахара, чтобы вызвать зубную боль, не будучи слишком тяжелым. Yahoo использует его для всех своих сайтов, и они уделяют большое внимание производительности (поэтому не все так плохо).

0 голосов
/ 18 января 2013

В проведенных мною тестах Google Advanced Compress лучше, а после Yahoo! Компрессор YUI. Вы можете сделать тесты здесь: http://jsperf.com/closure-vs-yui

...