JavaScript: РИА инструментарий - PullRequest
3 голосов
/ 29 января 2012

Я ищу инструментарий JavaScript RIA. Мои требования: хороший внешний вид, бесплатная лицензия и вменяемый API. Есть идеи?

Вот что я нашел до сих пор:

ExtJS

1010 * плюсы *

  1. идеальный вид
  2. много виджетов
  3. поддержка мобильных платформ
  4. модульная система
  5. охватывает HTML5 и CSS3

против

  1. стоит денег, дорого ($ 500 +)
  2. очень плоская кривая изгиба. руководство по быстрому старту (но это уже не имеет значения из-за пункта 1)

QooxDoo

против

  1. просто безобразно. выглядит как то, что пережило 90-е годы и не изменилось вообще

Dojo

профи

  1. хороший внешний вид (не так много тем, но тундра выглядит хорошо)
  2. бесплатное лицензирование

против

  1. слишком асинхронный (их AMD)
  2. очень необычный и громоздкий API, который я вряд ли могу назвать вменяемым
  3. грязные документы (я узнал, что их AMD только из канала #dojo irc)

SproutCode

профи

  1. MVC
  2. Генераторы
  3. документы

против

  1. шаблонизируя, что мне не нужно
  2. не нашел способа использовать его в производстве без множества зависимостей
  3. все еще не может понять, как создать RIA без написания собственных стилей и макетов

Wijmo

профи

  1. JQuery на основе

против

  1. стоит денег
  2. не имеет макетов

1 Ответ

4 голосов

Если вы и ваша команда не очень опытны в JavaScript, и вы не заинтересованы вкладывать свое время и время вашей команды в передовые технологии, тогда ваша лучшая ставка будет (приоритетный заказ):

  1. Ext JS

    • декларативный, имеет MVP
    • , поскольку она лицензирована по лицензии GPL , вы можете использовать ее бесплатно, если вы не распространяете свое приложение за пределами вашей организации . Если вы являетесь подрядчиком и передаете свой код авторскому праву своему клиенту, ваш клиент сможет использовать его внутри своей организации.
  2. jQuery UI + любой плагин jQuery Grid (если вам это нужно)

    • У jQuery огромное сообщество
    • проще найти людей, знакомых с jQuery
    • это абсолютно бесплатно
  3. Yahoo UI

    • хорошее сообщество
    • множество виджетов, стилизация с помощью CSS
    • Лучшая доступная поддержка (если вам это нужно)
  4. GWT

    • на основе Java (и многим Java-разработчикам это нравится)
    • труднее отлаживать и создавать сложные макеты

Однако я настоятельно рекомендую вам получить некоторые знания и опыт работы с интерфейсными технологиями, особенно CSS. CSS прост в , если вы исследуете некоторые основные правила и шаблоны. Вам не нужно становиться гуру CSS, чтобы уметь профессионально заниматься стилизацией и версткой.

Так что, если вы хотите немного изучить интерфейс или у вас есть некоторый опыт, мой список будет совсем другим. Перед тем, как выбрать библиотеку виджетов, я предлагаю вам начать с некоторого MV * framework

  1. Магистральные
    • MVP
    • текущий лидер тренда, большая общность
  2. Knockout
    • Шаблон MVVM, привязки данных
    • подходит для больших групп людей с разной степенью квалификации
    • интеграция с веб-стеком Microsoft
  3. Есть много других, но все они очень похожи на Backbone или Knockout

Учитывая, что вы выбрали фреймворк, ваш лучший выбор виджетов:

  1. jQuery UI

    • отличная интеграция со всеми фреймворками MV *
  2. Yahoo UI

    • лучшая доступность

И эти библиотеки очень нежелательны:

  1. Ext JS

    • полностью обходит все обычные практики веб-разработки, не уважает CSS
    • чрезвычайно сложно настроить
    • труднее отлаживать
    • не бесплатно, если вы хотите распространять свое приложение
  2. GWT

    • цикл edit-compile-deploy-test очень длинный. Трудно работать на высокой скорости.
    • трудно отладить некоторые кросс-браузерные проблемы

Как видите, Ext и GWT несколько противоречивы. Используйте Ext, если вы знаете, что делаете, то есть когда ваша команда плохо разбирается в webdev и если вам не нужно настраивать ее внешний вид. В большинстве случаев лучше ориентироваться в образовании и пользовательском интерфейсе jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...