Подтвердить что ты не робот

Калитка против Ваадина

Разрывается между калитки и ваадином. Я начинаю микро-isv и должен сделать выбор веб-фреймворка. Я сузил свой выбор до калитки и ваадина. Я использовал оба фреймворка, и я обожаю их обоих. однако мне нужно сделать выбор.

Если я выбираю vaadin:

  • Мне не придется много волноваться о внешнем виде. Он поставляется с приятными темами.
  • Я буду делать все свои программы в java, которые очень хороши и не будут тратить время на взлом css, который не очень хорош в
  • И большинство компонентов, которые мне понадобятся для бизнес-приложений, - это OUT OF THE BOX, включая настольные макеты, всплывающие подсказки, ярлыки клавиш, таблицы с перетаскиваемыми и разборными столбцами, чтобы назвать несколько. Как бы то ни было, если я пойду ваадином:
  • я потеряю способность создавать пользовательский интерфейс декларативно.
  • У меня не будет резервной функции, если браузер не поддерживает javascript - например, большинство мобильных браузеров, не являющихся веб-сайтами.
    1. Компания Vaadin продает некоторые компоненты - например, JPAContainer, поэтому не уверен, что компания будет предлагать полную инфраструктуру с открытым исходным кодом. Деловые интересы всегда на первом месте.
    2. Приложения vaadin будут в основном для интрасети. не очень подходит для Интернета с веб-интерфейсом.

Если я иду калитки: Мне нужно будет стилизовать свои приложения, и я вряд ли могу дать им настольный внешний вид.

Любые советы. любой, кто имеет опыт работы в любой из структур, любезно расскажет мне о минусах и плюсах и о том, как вы приняли решение.

4b9b3361

Ответ 1

Я думаю, что я потратил некоторое время для обеих фреймворков. Мне очень нравятся оба, потому что они привносят Swing-подобную кодировку в веб-разработку. И я не знаю, что для меня легче (хотя есть щелчок, но мне не нравится эталонная скорость)

И да, есть различия.

Мне не придется беспокоиться о внешности и ощущении. Он поставляется с приятными темами

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

Я буду делать все свое программирование в java, которое очень хорошо и не придется тратить время на взлом CSS, который не очень хорош в

Тогда Ваадин был бы "лучше".

я потеряю способность создавать пользовательский интерфейс декларативно.

В чем преимущества этого? (Кстати: вы могли бы ввести декларативный код в groovy;-))

Но хорошо. Я знаю, что вы имеете в виду: если вы можете приложить усилия к отдельным дизайнерам, а не к калиткам, лучше.

я едва могу дать им настольный внешний вид.

Почему бы и нет? Или что вы имеете в виду здесь? Wicket поддерживает ajax, и есть компоненты, которые поддерживают приятные "настольные одинаковые" вещи (ajaxlink, lazycomponent, autocompletion, progressbar, см. Материал калитки + расширения). ok, для любого более сложного компонента, который вам придется кодировать в javascript. BUT BTW, вы знали, что можете даже использовать GWT в калитке

Некоторые незначительные переживания:

Ваадин, безусловно, быстрее во время кодирования (без css, html). Но если вы занимаетесь производством, имейте в виду, что простота программирования может привести к снижению производительности на стороне клиента: например, если вы используете "неправильные" макеты, такие как Horizontal/VerticalLayout,... массовое использование javascript может замедлить работу старого браузера.

Но Ваадин не медленный! Используйте соответствующие макеты, такие как CssLayout или FastLayout, а также старый браузер. (Хотя, если бы вы использовали CssLayout, ваш стиль кодирования действительно калитко-подобный.)

Одна проблема с Vaadin заключается в том, что это немного сложнее профилировать, потому что вы не видите легко, где клиенту нужен весь процессор, а вложенные divs получают критические идентификаторы имен.

Одна великая вещь о Wicket - это warp persist integration

(Guice может быть интегрирован в Vaadin и Wicket)

Тестирование пользовательского интерфейса должно быть легким с помощью Vaadin (хотя я не нашел единицы тестирования) и очень легко с калитки.

И последнее, но не менее важное - создание списков/таблиц ОЧЕНЬ прост в Ваадине по сравнению с калиткой.

Ответ 2

Я активно работал с Wicket, но у меня не было опыта с Vaadin, так что это может быть (немного) предвзятым.

Я бы порекомендовал Wicket по понятным причинам, но то, что, вероятно, вас интересует, - это открытость калитки. Как правильно указал Гвибз, Wicket использует основную HTML-разметку в качестве основы, поэтому любые структурные или косметические изменения часто тривиальны для реализации.

Лично одна из вещей, которые мне действительно нравятся в работе с калиткой, - это поток между представлением переднего конца и бэкендом данных, мы реализовали Spring и JPA/Hibernate, что означает, что любые изменения в интерфейсе могут быть переведены обратно в базу данных с помощью одной строки кода благодаря архитектуре на основе Wickets.

Снова я не могу много сказать о том, что Ваадин никогда не работал с ним, но если вы ищете архитектуры, чтобы начать, я также рекомендую вам взглянуть на GWT.

Ответ 3

(продолжение из комментария в первом ответе, относящемся к калитке)

Основное различие между Vaadin и Wicket заключается в том, как написана компоновка пользовательского интерфейса и код на стороне клиента. С Vaadin вы обычно составляете свой пользовательский интерфейс без каких-либо шаблонов или HTML вообще, и вы получаете изящный, полностью Ajax'ed UI из коробки. Однако, если вы предпочитаете шаблонный подход, просто используйте CustomLayout, который делает именно это.

Кодирование на стороне клиента редко требуется, но когда это вы делаете с помощью GWT на Java, который является IMO намного приятнее, чем писать Javascript вручную. Кроме того, с GWT вы автоматически получаете решение, совместимое с кросс-браузером, вместо того, чтобы самостоятельно решать эти проблемы.

При сравнении фреймворков вы также должны взглянуть на активность сообщества и документацию. С Ваадином оба они превосходны. Также обратите внимание на каталог Vaadin, который в настоящее время содержит более 100 очень полезных компонентов пользовательского интерфейса и других дополнений.

Ответ 4

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

Я также упомянул, что для любой структуры потребуется некоторый стиль. Wicket начинается с обычного старого HTML, и Vaadin начинает по умолчанию тему, похожую на MacOSX, но практически для любого веб-приложения, которое вы пишете, потребуется, по крайней мере, некоторая настройка. Имея это в виду, настройка CSS приложения Wicket ЗНАЧИТЕЛЬНО проще, чем Vaadin по той простой причине, что вы контролируете разметку. Vaadin скрывает от вас разметку и генерирует элементы со странными идентификаторами и структурами, поэтому сложнее настроить внешний вид. Просто помните об этом, когда принимаете решение.

Ответ 5

В настоящее время я работаю с Wicket, и я работал на перевале с Ваадином. Я буду коротко в своих наблюдениях:

  • Ваадин имеет право быть свободным, но ИМО, это не так красиво. Если вам нужна поддержка, помощь, документация по этим болезненным и сложным проблемам, с которыми вы сталкиваетесь, то вы ввернуты, потому что у вас нет такой хорошей документации/сообщества по сравнению с Apache Wicket. У Ваадина есть парни, которые помогут вам, но вы должны заплатить за это.
  • Для программирования в калитки вам нужно быть сильным программистом. Ваадин также требует хороших знаний Java, но вы можете легко сделать какой-то код спагетти, если хотите (просто говоря, не делая..);
  • Apache Wicket действительно отделяет веб-технологии (Javascript, HTML и т.д.) от технологии framework (Java). Ваадин также пытается это сделать, но ИМО не так изящна и прозрачна.

Appart from the, мы говорим о двух разных типах фреймворков, двух разных подходах, которые имеют за и против, что я советую вам искать и сравнивать и видеть, что действительно соответствует вашим потребностям.

Изменить: О, и о внешнем виде, например, у вас всегда есть Wicket Bootstrap

Ответ 6

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

Ex. Если вам нужно интегрировать хорошее решение для построения диаграмм, такое как Highcharts, вам придется заплатить и купить расширение диаграмм ваадина (даже если для приложений FOSS доступны бесплатные графические карты, плагин vaadin charts построен на этом не предоставляется бесплатно для приложений FOSS).