#javascript #web-applications #gwt #frameworks #dojo
Вопрос:
Я пришел из мира Microsoft (и я пришел с миром). Я хочу быстро создать прототип веб — приложения и, если оно сработает, запустить его вживую-и я не хочу использовать ASP.Net.
Однако я не уверен, какой инструментарий веб-приложений использовать. Должен ли я использовать GWT, DOJO…другие рекомендации? Я открыт для любого языка на стороне сервера, но смотрю на RoR, Php или даже Java (J2EE, если быть точным). Я не очень разбираюсь в Javascript/CSS, поэтому набор инструментов, который мог бы сделать это относительно легким для меня на этих фронтах, был бы предпочтительнее.
Кроме того, я являюсь пользователем Mac дома. Какие идеи идут в комплекте с системой, которую вы бы рекомендовали?
Есть какие-нибудь рекомендации, ребята?
Ответ №1:
Если вы открыты для использования Java, GWT-это правильный путь. Это позволяет вам иметь относительно однородную кодовую базу между клиентом и сервером и использовать только один язык на обоих.
Существуют некоторые ограничения для выполнения очень нестандартных задач AJAXy (что делает GWT трудным, но не невозможным), но в любом случае это не похоже на ваш вариант использования.
GWT позволит вам масштабироваться, используя больше его функций по мере усложнения вашего приложения, и ваш прототип не будет одноразовым кодом.
Ответ №2:
Если вы хотите написать интерфейс и серверную часть на JAVA и хотите выполнять сложные задачи типа ajax, то GWT-отличный способ.
Самый простой способ подумать об этом заключается в том, что создание приложения GWT похоже на создание приложения JAVA swing, которое подключается к серверу. Точно так же, как приложение swing, которое использует сервер, вы можете сделать его толстым или тонким. Когда вы закончите, все это компилируется в HTML и javascript и имеет очень хорошую поддержку современных браузеров (ie6 ff, opera, safari).
Он абстрагирует весь javascript и HTML, но если вы хотите, чтобы он хорошо выглядел, вам все равно нужно понимать CSS.
Я думаю, что любой, кто говорит, что это разрушает MVC или что это путаница между клиентом и сервером, не понимает GWT. GWT-это платформа на стороне КЛИЕНТА. И он используется только на КЛИЕНТЕ. GWT предоставляет механизм RPC для подключения его к JAVA (и другим) бэкэндам, но это всего лишь протокол связи, это не означает, что ваш серверный код волшебным образом становится вашим клиентским кодом. Конечно, вы можете написать целую кучу бизнес-правил в свой пользовательский интерфейс, если действительно захотите, но вы можете сделать это с любой платформой, поэтому было бы глупо говорить, что GWT в этом отношении чем-то отличается.
Ответ №3:
GWT-хороший выбор, в то время как если вы выберете более мощный фреймворк JavaScript, основанный на GWT (например, SmartGWT), скомпилированный материал будет слишком тяжелым.
Выберите прямой JavaScript, если вам нужен компактный проект.
Ответ №4:
Я поклонник GWT, однако я очень хорошо знаком с Java. Я обнаружил, что это интуитивно понятно, и на удивление легко быстро получить хорошие результаты. Если вы собираетесь использовать GWT, то вам определенно захочется использовать бесплатную и чрезвычайно мощную среду разработки Eclipse.
Одним из недостатков GWT является то, что он требует поддержки Javascript браузером, нет «изящной деградации».
Комментарии:
1. нет, нет — это просто требует много работы в теге <noscript>=)
Ответ №5:
Мы оценили большой список фреймворков и выбрали нас для Echo2.
- Вам нужно только писать код на Java. Javascript вам нужен только в том случае, если вы хотите написать свои собственные компоненты.
- В таких крупных проектах, как GWT, нет проблем с производительностью при запуске.
- Вы можете использовать весь спектр Java в своем клиентском коде, поскольку он выполняется на сервере. В GWT вы можете использовать только очень небольшой набор классов Java.
Среда разработки для Java-это Eclipse. Это не зависит от используемой структуры.
Ответ №6:
Я поклонник jQuery, цепочка действий, переходов и команд действительно мощная. Мой хороший друг с ума сходит по учебникам, он работает в магазине Java. Он упомянул классную особенность Mootools в том, что вы можете указать функциональность, которую вы хотите включить в фреймворк, и она создаст всю библиотеку в одной строке в файле, который вы можете включить на своей странице, чтобы минимизировать вес фреймворка (довольно классная функция). На самом деле это просто зависит от того, что вам больше всего нравится. jQuery имеет отличные обучающие программы, работает очень быстро и может использоваться вместе с другими фреймворками javascript.
Ответ №7:
Не связано с GWT, но рассматривали ли вы другие бэкэнды, с которыми GWT мог бы хорошо работать?
Grails-это один бэкэнд, который довольно хорошо связан с GWT.
Ответ №8:
Лично я бы избегал серверных фреймворков, которые пытаются встроить или скрыть фреймворк на стороне клиента. Я уверен, что GWT отлично подходит для быстрого выполнения каких-либо задач и, вероятно, подходит для определенных видов приложений, но вы, вероятно, столкнетесь с множеством проблем «по краям» для более сложных приложений. Отделение клиентской платформы от серверной позволяет избежать этих проблем.
Комментарии:
1. @dkarrpipverisignlabscom О каких проблемах вы говорите? Я ожидаю, что мое приложение может немного усложниться со стороны пользовательского интерфейса в более поздних итерациях, поэтому мне определенно не все равно. Я понимаю, что отделение пользовательского интерфейса от серверной части идеально, но если я имею дело с компетентной структурой, меня это устраивает.
2. Вы, очевидно, не использовали GWT. Вам не нужно использовать GWT/Java на стороне сервера, если вы этого не хотите. Я использую GWT на стороне клиента с RoR на сервере.