Оценка Ваадина: сильные и слабые стороны

  1. События низкого уровня
  2. Компоненты и их распределение
  3. Событийно-управляемая модель
  4. Сильные стороны
  5. Недостатки
  6. Нет модных графических интерфейсов
  7. SEO
  8. Резюме - Минусы

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

Давайте начнем

Vaadin позволяет создавать многофункциональные интернет-приложения (RIA). RIA стараются быть такими же отзывчивыми и интерактивными, как настольные приложения (меньше перезагрузок страницы; обмениваться частями страницы с помощью AJAX и DOM-манипуляций). Vaadin делает еще один шаг вперед, создав одностраничное веб-приложение (SPA) (без перезагрузки страницы).

Единственный язык программирования, который вам нужен - это Java. Нет необходимости в веб-интерфейсных технологиях, таких как JavaScript или HTML. Чтобы получить представление о том, как вы программируете графический интерфейс в Vaadin, взгляните на пример адресной книги на Vaadin.org:

Прежде всего, давайте посмотрим на архитектуру Vaadin. Это важно для последующей оценки.

События низкого уровня

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

Вы можете увидеть это в   Приложение адресной книги   ,  Давайте рассмотрим, какие сообщения отправляются на сервер, когда я нажимаю на кнопку, чтобы удалить выбранный контакт

События низкого уровня асинхронно обмениваются между клиентом и сервером

Клиент не говорит «удалить этот контакт» серверу (семантическое событие). Вместо этого он просто заявляет «кнопка 74 была нажата» (событие низкого уровня). Сообщение содержит только низкоуровневую информацию о взаимодействии с пользователем. В этом сообщении нет логики приложения. Только сервер знает, что означает нажатие кнопки семантически. Вся логика приложения находится исключительно на стороне сервера.

Компоненты и их распределение

Следующий рисунок иллюстрирует компоненты Vaadin и их распределение:

Следующий рисунок иллюстрирует компоненты Vaadin и их распределение:

Архитектура Ваадина: распределение компонентов

Клиентский движок работает в браузере и написан на JavaScript. Он отображает пользовательский интерфейс, получает взаимодействие с пользователем и отправляет их как события на сервер. Браузер служит только в качестве так называемой «платформы тонкого клиента». Ему нужно только визуализировать пользовательский интерфейс и сообщить о событиях низкого уровня на сервер. Между клиентом и сервером отсутствует связь между приложениями. Это является преимуществом, поскольку логика приложения не разбросана по клиенту и серверу.

Server-Side Framework содержит логику пользовательского интерфейса и состояние каждого клиента. Вот где работает логика приложения. Каждый компонент на стороне сервера (например, Button, TextField, Table) имеет аналог на стороне клиента, «виджет». Этот виджет является представлением компонента на стороне клиента.

Разработчик должен только реализовать логику пользовательского интерфейса и серверную часть. Все до этого слоя прозрачно для разработчика. Ему не нужно заботиться о веб-технологиях (HTML, JavaScript) или о взаимодействии клиент-сервер (HTTP, AJAX, JSON-сериализация, сеансы). Он использует только Java API компонентов.

Событийно-управляемая модель

На следующем рисунке показана обработка событий в Vaadin.

На следующем рисунке показана обработка событий в Vaadin

Обработка событий в Ваадине

  1. Пользователь делает что-то в пользовательском интерфейсе, например, нажав кнопку. Это вызывает событие, которое потребляется соответствующим виджетом (кнопкой) в клиентской машине.
  2. Это событие сериализуется в JSON и асинхронно отправляется сервлету Vaadin, работающему на сервере. Сервлет получает запрос клиента и отправляет событие в соответствующий компонент пользовательского интерфейса. Это возможно, потому что каждое событие (виджета) связано с компонентом и доставляется в прослушиватель событий, определенный в логике пользовательского интерфейса.
  3. Логика пользовательского интерфейса (реализованная разработчиком) обрабатывает событие и изменяет компоненты пользовательского интерфейса на стороне сервера (например, вставка текста в текстовое поле, отключение кнопки или фильтрация таблицы).
  4. Сервлет передает эти изменения пользовательского интерфейса в браузер, отправляя ответ обратно в браузер. Клиентский движок в браузере получает ответ.
  5. Клиентский движок изменяет страницу в браузере, манипулируя DOM. Обновленный пользовательский интерфейс представлен пользователю.

Сильные стороны

По моему опыту, Vaadin позволяет вам создавать интерактивные и адаптивные веб-приложения с высоким уровнем комфорта и скоростью разработки. Он поставляется с мощным, простым в использовании набор компонентов , Другим практическим преимуществом является подход к программированию в моноглоте и использование хорошо известного императивного стиля программирования GUI. Если ваша команда разработчиков уже знакома с Java и уже имеет опыт программирования GUI на Swing, SWT / JFace или JavaFX, они сразу же станут продуктивными. Та же концепция, тот же язык. Они не обязаны изучать JavaScript, несколько библиотек JavaScript (jQuery, jQuery UI, AngularJS и т. Д.), Веб-методы (AJAX, сеансы, файлы cookie, специфичная для браузера обработка), протоколы и форматы (HTTP, WebSockets, JSON). Ваадин позаботится об этом. Тем не менее, полезно знать их.

Резюме - Плюсы:

  • Быстрая разработка
  • Плоская кривая обучения благодаря программированию моноглота (только Java)
  • Разрабатывайте веб-приложение как настольное приложение.
    • Хорошо известная парадигма императивного пользовательского интерфейса
    • Специфичные для веб-сайтов вопросы прозрачны для разработчиков. Им не нужно учить их.
  • Комплексный и сложный набор компонентов и механизм привязки данных.
  • Действительно хорошая документация и активное сообщество

Недостатки

Масштабируемость

Одним из недостатков Vaadin является его плохая масштабируемость. Для лучшего понимания я сравниваю архитектуру Vaadin с архитектурой Thin Server.

Для лучшего понимания я сравниваю архитектуру Vaadin с архитектурой Thin Server

Фреймворки презентаций на стороне сервера по сравнению с архитектурой тонких серверов

В архитектуре тонкого сервера логика и состояние пользовательского интерфейса расположены на клиенте. Вы используете библиотеки HTML и Java-Script, такие как AngularJS, для программирования элементов и логики пользовательского интерфейса. Сервер превращается в поставщика данных через веб-сервис REST. Вам не нужно много запросов, потому что вам нужно только запрашивать данные, а не логику пользовательского интерфейса. Этот подход достаточно хорошо масштабируется, поскольку состояние пользовательского интерфейса находится на клиенте (экономит память сервера), логика пользовательского интерфейса выполняется на клиенте (экономит использование процессора сервера), а вызовы службы REST могут быть легко кэшированы и отправлены с помощью балансировщика нагрузки. (Сообщения REST являются самоописательными; для их обработки на стороне сервера не требуется состояния). В целом, эта архитектура хорошо справляется с большим трафиком.

Это недопустимо для приложений на основе Vaadin, которые представляют собой среду представления на стороне сервера. Состояние и логика пользовательского интерфейса хранятся на сервере, и для каждого взаимодействия с пользователем на сервер должен быть отправлен запрос, чтобы клиент знал, как он должен реагировать. Это приводит к увеличению сетевого трафика и загруженности сервера. Более того, вы должны хранить состояние пользовательского интерфейса для каждого клиента. Если количество клиентов увеличилось, вам нужно больше серверной памяти для хранения состояний пользовательского интерфейса.

Тем не менее, я настоятельно рекомендую вам прочитать пост Масштабируются ли приложения Vaadin? , В нем говорится, что Vaadin может обрабатывать тысячи одновременно работающих пользователей . Я хотел бы подчеркнуть, что это огромное количество и должно быть достаточно для многих случаев использования. Для меня аргумент масштабируемости используется слишком часто и даже в тех случаях, когда подход на стороне сервера все еще способен справиться с нагрузкой. Но если вы создаете общедоступные веб-сайты, Vaadin не подходит, потому что он не может масштабироваться так же, как другие подходы - из-за его архитектуры.

« Vaadin никогда не был создан для массовых публичных веб-сайтов . Если вам нужна масштабируемость на уровне facebook, Vaadin - не лучший инструмент для этого. Но для чего-то меньшего Ваадин наглядно работает и работает хорошо ». Йенс Янссон, Ваадин. Источник: Масштабируются ли приложения Vaadin?

Нет модных графических интерфейсов

Ваадин очень быстро занимается созданием бизнес-приложений. «Бизнес-приложения» означает приложения, состоящие в основном из форм и таблиц. Однако, если вам нужен сложный и тяжелый пользовательский интерфейс (например, анимации и пользовательские функции пользовательского интерфейса), Vaadin не подходит, потому что тогда вам нужен детальный и прямой доступ к DOM , что не так просто с Vaadin. В этом случае подумайте о найме ниндзя JavaScript и создайте свой пользовательский интерфейс напрямую с помощью веб-интерфейсных технологий.

SEO

Поскольку Vaadin загружает контент асинхронно с помощью JavaScript по одному URL, SEO сложно. Есть трюки и библиотеки сделать ваш контент доступным для сканеров. Но они определенно требуют дополнительных усилий, и результат может оказаться не таким гибким, как вы того пожелаете. Если SEO является главным требованием для вас, Vaadin (или SPA в целом) не лучший выбор.

Резюме - Минусы

  • Не масштабируется по сравнению с другими архитектурными подходами. Более высокая нагрузка на сеть и сервер (память, процессор).
  • Не подходит для модных графических интерфейсов.
  • SEO

Заключение

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

Если вы сталкиваетесь с низкой или средней нагрузкой (например, для внутренних систем или внутренних приложений для выбранной группы пользователей), Vaadin идеально подходит. В этом случае вы можете извлечь выгоду из ускоренного развития, плоской кривой обучения и высокого уровня комфорта. Если ваша команда уже знакома с Java и императивным программированием GUI, преимущество Vaadin еще больше.

Наоборот, если вам приходится иметь дело с огромным количеством пользователей, важен рейтинг Google или у вас необычные требования к пользовательскому интерфейсу, Vaadin не подходит. Поэтому я бы не советовал строить интернет-магазин с Ваадином.

Похожие

SEO услуги
... и в Лондоне для продвижения вашего сайта в поисковых системах. Основные основные направления деятельности нашей компании на протяжении многих лет в области поисковой оптимизации. Мы накопили огромный опыт и навыки, которые позволяют нам осуществлять весь комплекс мероприятий, чтобы обеспечить условия максимально эффективного продвижения и эффективной рекламы вашего сайта в Интернете.
Лос-Анджелес SEO
... нете. Мы делаем это для вас в Лос-Анджелесе SEO . Ventura IT Los Angeles SEO - одна из старейших компаний в сфере веб-дизайна в Лос-Анджелесе, Южной Калифорнии и во всем мире. Предоставляя услуги до появления Интернета, Ventura IT предоставила клиентам веб-дизайн, компьютерное программирование, электронную коммерцию, дизайн баз данных, маркетинг, социальные сети, дизайн и разработку мобильных приложений, графический дизайн, консалтинг и общие
SEO по-испански
Если вы ищете компанию, которая предлагает услуги Веб найти тебя это то, что вам нужно Если вы ищете компанию, которая предлагает услуги SEO на испанском языке, вам нужна WebFindYou. Мы являемся ведущей компанией, предлагающей услуги SEO на испанском языке. Говоря о SEO, мы имеем в виду сокращение вашего термина в английской поисковой оптимизации , которое состоит из
SEO СЕГОВИЯ
«Когда ладья летит низко ...» Так начинается одно из самых повторяющихся высказываний в самые холодные дни Сеговской зимы. Что ж, если мы откроем руководство по птицам на страницах, посвященных воронкам, мы увидим, что есть вороны, вороны, галки и даже галки, но нет ладьи; Это потому, что это имя является чем-то общим, что используется для обозначения всех птиц среднего размера и черного цвета. Таким образом, эта запись предназначена для оценки различных видов воронок, присутствующих
Значение SEO
SEO означает поисковую оптимизацию , что переводится как поисковая оптимизация . SEO - это группа методов, которая направлена ​​на улучшение позиционирования нужного сайта в списке результатов поисковой системы. Методы, используемые для SEO, включают: переписывание HTML-кода
Мэриленд SEO | Мэриленд SEO Услуги
... иртуальный адрес для Мэриленд SEO Services. Мы предлагаем вечнозеленые и дружественные для поисковых систем сервисы, предназначенные для улучшения видимости веб-сайта вашего бизнеса в основных поисковых системах, таких как Google, чтобы привлечь больше кликов и трафика на ваш сайт, что приведет к увеличению числа клиентов для вашего бизнеса. SEO в Мэриленде определенно отличается от обычного SEO тем, что вы пытаетесь ранжироваться по поисковым запросам и получать наглядное представление о кирпичном
flash seo архивы
В последние пару лет малые и средние местные и региональные компании все чаще выбирают корпоративный сайт Flash, поскольку
SEO онлайн обучение
Поисковая оптимизация - SEO является общей техникой цифрового маркетинга. SEO - это процесс внедрения ряда методов на странице и за ее пределами в соответствии с рекомендациями Google и других поисковых систем с целью повысить видимость веб-сайта на верхних страницах по релевантным и целевым ключевым словам, привлечь органический трафик на сайт. кульминацией в потенциальных клиентов, превращая их в клиентов. Все новые, релевантные методы и темы SEO подробно, всесторонне и детально освещены
SEO-VIP | Что такое органическая SEO компания SEO SEO VIP?
SEO-VIP | Что такое органическая SEO компания SEO SEO VIP? Ни для кого не секрет, что «горячая линия» принесла новаторские новости для владельцев бизнеса и позволяет им получать целенаправленную и целенаправленную информацию для максимизации и увеличения своих продаж. Похоже, что среди многих направлений рекламы SEO является органическим и органическим.
SEO Конкурс Феномен
Последний феномен конкурса SEO. Конкурс SEO (поисковая оптимизация) или конкурс поисковой оптимизации - это состязание, позволяющее получить верхнюю позицию участников блога (статьи) на странице результатов поиска с использованием ключевых слов, для которых установлено ограничение по времени. Конкурс SEO был впервые проведен в ноябре 2002 года в немецкой группе Usenet немецким веб-мастером с ключевым словом Schnitzelmitkartoffelsalat. В качестве жюри SEO-конкурсов выступает
SEO видео консультанты
... им голосом, вот новая версия видео, снятого с 5-й конференции GT, состоявшейся в Риччоне 11 и 12 декабря. В конференции, посвященной специалистам по SEO / SEM, а также специалистам по веб-маркетингу и поисковым системам, приняли участие одни из самых авторитетных консультантов в области поисковой оптимизации. Вот список докладчиков и некоторых наиболее известных участников в области SEO (поисковая оптимизация) и интернет-маркетинга в целом: Джорджио Тавернити

Комментарии

Что, если этот чат мог бы утроить сумму расходов, которые остаются в их городе, уменьшить загрязнение окружающей среды в их сообществе, улучшить здоровье их соседей и укрепить демократию?
Что, если этот чат мог бы утроить сумму расходов, которые остаются в их городе, уменьшить загрязнение окружающей среды в их сообществе, улучшить здоровье их соседей и укрепить демократию? Что если медное кольцо разработчиков контента, возможностей ссылок, настроений потребителей и локальных ресурсов в реальном времени просто ждет вас, чтобы захватить его, в поездке, которую мы еще не предприняли, в обстановке, о которой мы просто не говорим? Давайте сегодня пойдем другим
Помните, как легко было найти мой веб-сайт, когда вы искали «Торонто SEO эксперт», «Торонто SEO услуги» или даже «SEO специалисты»?
Помните, как легко было найти мой веб-сайт, когда вы искали «Торонто SEO эксперт», «Торонто SEO услуги» или даже «SEO специалисты»? Это доказывает, насколько эффективными могут быть услуги SEO для вашего бизнеса! Я знаю, как использовать всю мощь органического SEO, и мой сайт - прекрасный пример того, как безупречно SEO-кампании могут работать и для вас.
Где вы должны добавить их или как вы можете использовать их для улучшения вашего SEO?
Где вы должны добавить их или как вы можете использовать их для улучшения вашего SEO? Ну, ключевые слова должны быть разбросаны по всему содержанию вашего сайта, будь то страницы, Сообщения в блоге , слоган, категории, заголовки, URL-адреса и т. д. На каждой из этих страниц рекомендуется выбирать одно ключевое слово «focus» и добавлять его несколько раз (однако оставайтесь
SEO-VIP | Что такое органическая SEO компания SEO SEO VIP?
SEO-VIP | Что такое органическая SEO компания SEO SEO VIP? Ни для кого не секрет, что «горячая линия» принесла новаторские новости для владельцев бизнеса и позволяет им получать целенаправленную и целенаправленную информацию для максимизации и увеличения своих продаж. Похоже, что среди многих направлений рекламы SEO является органическим и органическим.
Отсюда мы можем сделать выводы, поисковая оптимизация (SEO), чтобы найти слабые стороны поисковых систем или они следуют правилам поисковых систем?
Отсюда мы можем сделать выводы, поисковая оптимизация (SEO), чтобы найти слабые стороны поисковых систем или они следуют правилам поисковых систем? В SEO-конкурсах этот фактор важен для победы. Google как судья SEO конкурса Возможно, 80% интернет-пользователей используют Google в качестве поисковой системы для поиска сайтов или контента, поэтому организатор конкурса считает Google правильным выбором. Тем не менее, последний алгоритм Google отображает результаты
Должен ли акцент быть сделан на Onpage SEO или Offpage SEO?
Должен ли акцент быть сделан на Onpage SEO или Offpage SEO? Специалист или полный сервис? Фрилансер или агентство? Кто следующий Поисковая оптимизация Если вы хотите воспользоваться дополнительными услугами, вам следует искать более крупные агентства с более чем двумя сотрудниками и несколькими основными компетенциями. Вы должны скептически относиться к тому, что фрилансер
Я имею в виду, является ли последняя версия HTML настолько продвинутой с точки зрения SEO, что мы можем рассматривать ее как отдельное поле в SEO?
Я имею в виду, является ли последняя версия HTML настолько продвинутой с точки зрения SEO, что мы можем рассматривать ее как отдельное поле в SEO? Этот пост более подробно рассматривает последнюю итерацию HTML и проливает свет на обратную сторону HTML5 в SEO. Я действительно потратил лишнюю милю и прошел курс основ HTML5 от Envato, чтобы по-настоящему понять преимущества, которые он приносит в таблицу SEO. Таким образом, вы сможете принять обоснованное решение, если вашему сайту нужен HTML5 прямо
Au/seo/ тот, который не идеален и не поможет в SEO, может выглядеть примерно так: / productid?
Что привело этого сумасшедшего на рынок, которым все и их брат хвастаются SEO?
Что привело этого сумасшедшего на рынок, которым все и их брат хвастаются SEO? Действительно ли это следующая лучшая вещь после FLASH? Или SEO является таким огромным активом для присутствия любой компании в сети, что владельцы бизнеса наконец осознают, что они должны хотя бы смутно знакомы с этим термином, достаточно, чтобы хотя бы сказать, что на них работает специалист по SEO? Это немного и того и другого, так что давайте углубимся и покажем, как наше агентство может помочь
SEO и SEM - это стратегии цифрового маркетинга, которые помогают вам позиционироваться в поисковых системах, но знаете ли вы, что они собой представляют и как применять их на практике?
SEO и SEM - это стратегии цифрового маркетинга, которые помогают вам позиционироваться в поисковых системах, но знаете ли вы, что они собой представляют и как применять их на практике?
Каковы недостатки SEO?
Каковы недостатки SEO? У SEO также есть свои недостатки, которые могут осложнить его эффективность: Неопределенность и сложность прогнозирования результатов Основным недостатком SEO является отсутствие предсказуемости. Помимо списка общих рекомендаций, выпущенных Google, поисковая система не признает официальную процедуру в отношении того, как работает SEO. Причина проста: Google будет держать в секрете свой алгоритм, чтобы избежать злоупотреблений со стороны

Тем не менее, я настоятельно рекомендую вам прочитать пост Масштабируются ли приложения Vaadin?
Источник: Масштабируются ли приложения Vaadin?
SEO-VIP | Что такое органическая SEO компания SEO SEO VIP?
Что, если этот чат мог бы утроить сумму расходов, которые остаются в их городе, уменьшить загрязнение окружающей среды в их сообществе, улучшить здоровье их соседей и укрепить демократию?
Помните, как легко было найти мой веб-сайт, когда вы искали «Торонто SEO эксперт», «Торонто SEO услуги» или даже «SEO специалисты»?
Где вы должны добавить их или как вы можете использовать их для улучшения вашего SEO?
Где вы должны добавить их или как вы можете использовать их для улучшения вашего SEO?
Отсюда мы можем сделать выводы, поисковая оптимизация (SEO), чтобы найти слабые стороны поисковых систем или они следуют правилам поисковых систем?
Должен ли акцент быть сделан на Onpage SEO или Offpage SEO?