
Pre-PS - Ниже приведены мои личные мнения, которые не отражают точку зрения компании.
— -
Компании, ориентированные на дизайн, опережают индекс S & P500 на 219% за 10-летний период. К 2020 году пользовательский опыт (UX) обгонит цену и продукт в качестве ключевого отличия бренда.

Приведенные выше 2 точки данных сыграли решающую роль в принятии окончательного решения принять позицию в Ваадине по сравнению с двумя другими конкурирующими предложениями, которые у меня были на столе.
Это было 12 месяцев назад; сразу после аспирантуры, когда я искал миссионерскую компанию, чтобы начать свою профессиональную карьеру.
Не зная много о мире разработки корпоративных веб-приложений, я решил, что лучший способ узнать о нашей технологии и ее применении в различных отраслях - это задавать правильные вопросы непосредственно нашим конечным пользователям.
Так что я тут же прыгнул.
После сотен бесед с лицами, принимающими деловые и технические решения, и разработчиками, использующими технологию веб-интерфейса, в JP Morgan Chase, AMEX, DellEMC, Anthem, GSK, AT&T, Comcast, Adobe, XPO Logistics, VW, судах США и штата Нью-Йорк, Монтана , & Юта, среди прочего, теперь у меня есть данные и идеи, которые я представил ниже.

Три наиболее распространенных вопроса, которые люди, принимающие решения в отношении веб-приложений, задают себе при обновлении своего технологического стека веб-интерфейса, чтобы избежать технического долга:
- Как мы можем использовать внутренние ресурсы Java для создания современных пользовательских интерфейсов для наших веб-приложений и минимизировать накладные расходы, связанные с наймом интерфейсных разработчиков и отсутствием необходимости поддерживать несколько технологий?
- Какого увеличения производительности мы можем достичь, придерживаясь одного языка для разработки веб-приложений и избегая переключения контекста между клиентской стороной на основе JS (Sencha ExtJS, JQuery, PrimeFaces, Angular и т. Д.) И Java для серверной части?
- Каков путь наименьшего сопротивления для миграции наших существующих устаревших / монолитных систем или настольных приложений Swing в современную сеть, чтобы избежать технических долгов в долгосрочной перспективе?
—
Ниже приведены результаты моего исследования о том, почему предприятия используют Vaadin. Следующие 5 пунктов были частью повторяющихся ответов, которые я получил во время интервью.
5 причин, по которым предприятия используют Vaadin для удовлетворения потребностей пользовательского интерфейса веб-приложений

Причина №1:
С Vaadin вы можете использовать свои внутренние серверные ресурсы (Java) для создания современных пользовательских интерфейсов для своих бизнес-веб-приложений без необходимости иметь дело с несколькими интерфейсными технологиями.
Технический директор, который ранее работал в Amazon, Wells Fargo и Bank of America, поделился со мной, как он оценивал структуру, прежде чем принять ее в стек технологий своей компании.
«У меня не было средств на увеличение нашей численности. Так что у меня не было роскоши нанять специалистов по интерфейсному JS. Кроме того, я не мог отказаться от Java, в которой есть множество библиотек, которые помогают нам в разработке. Мы рассмотрели React, Angular и Vaadin.
Поскольку у нас есть опытные Java-разработчики, Vaadin выглядел многообещающим решением, которое не только минимизирует наш технологический стек, но и минимизирует затраты на обучение.
Нашей предыдущей технологией пользовательского интерфейса была Sencha ExtJS. Новому члену команды потребуется 4 месяца, чтобы набрать обороты. Но с Vaadin мы сократили время нарастания на 300%. Я могу заставить приличного Java-программиста внести свой вклад в нашу основную кодовую базу в течение 3-4 недель.
Изначально переход казался значительным в краткосрочном плане. Но за трехлетний период, когда мы сравнили стоимость обслуживания и поддержки нашей системы Sencha и Vaadin, мы поняли, что смогли снизить общую стоимость владения (TCO) почти на 40%.
Итак, на вашем месте я бы спросил архитекторов об их совокупной стоимости владения с их существующим технологическим стеком и оценил, насколько Vaadin может помочь им снизить затраты при одновременном повышении производительности разработчиков и скорости вывода на рынок. Те все это веские деловые и технические причины, по которым вы хотите использовать новую технологию ».

Причина №2:
Vaadin позволяет создавать веб-приложения на одном языке (Java), обеспечивать безопасность типов, веб-безопасность и избегать переключения контекста, как при использовании JS на стороне клиента и Java на стороне сервера.
Технический директор медицинской компании, предлагающей продукт бизнес-аналитики, основанный на Vaadin, сказал мне следующее:
«Причина, по которой мы выбрали Vaadin в моей последней компании, где Google, Accenture и TechData Corp использовали наше веб-приложение, заключалась в том, что оно позволило нам разрабатывать и отлаживать на одном языке без необходимости переключать контексты между клиентской и серверной сторонами. Это было одной из главных сильных сторон Ваадина, а также почему я выбрал Ваадина для своей нынешней компании.
Мы обнаружили, что наши разработчики могут выполнять больше работы, а качество кода хорошее и без ошибок. Итак, это эффективность кодирования и отладки, а качество получаемого кода высокое; это веские коммерческие причины для использования Vaadin.
Когда вы делаете это на двух разных языках на стороне клиента и на стороне приложения, вы имеете дело с двумя парадигмами, вам нужно переключать контексты и устанавливать разные правила для браузера и сервера. сторона.
Для нас наш прирост производительности с Ваадином находится в диапазоне 30–50% »
В нашей беседе мы также обсудили веб-безопасность.
«Что касается проблем безопасности, вы должны избегать вводимых символов, вы должны определить, что они находятся в определенных диапазонах - вы делаете это в JS или Java?
Допустим, я разработчик полного стека, и теперь мне нужно вспомнить, делал ли я это на JS или на Java. Когда у вас есть фронтенд и бэкэнд команда, они должны общаться. Вы должны установить правила, и они должны им следовать.
Но если у вас одна парадигма, это проще, потому что вы делаете это в одном месте. Таким образом, безопасность может пострадать, когда вы имеете дело с двумя языками. Опять же, в моей последней компании мы должны были пройти сертификацию ISO, и тестеры на проникновение обнаружили только 2 некритических проблемы в нашем приложении Vaadin за 5 лет. Для нас это была огромная бизнес-победа ».

Причина № 3:
Vaadin позволяет выходить на рынок до 85% быстрее и сокращать время разработки до 50% при создании тех же пользовательских интерфейсов, что и Angular, PrimeFaces, JSF.
Следующее - из моего разговора с архитектором приложений в сфере кибербезопасности, которые используют Vaadin 10 для пользовательского интерфейса своего нового продукта:
«У нас был поставщик, который трижды не соблюдал наши сроки для нашего приложения для управления идентификацией, созданного на PrimeFaces. Поэтому мы решили сделать это собственными силами. Поскольку мы являемся магазином Java, Ваадин казался логичным.
Мы вдвое сократили время разработки для начальной сборки с Vaadin по сравнению с PrimeFaces.
Vaadin действительно эффективен там, где у вас есть пользовательский интерфейс с множеством диалогов, окон, всплывающих окон и т. д. Управление формами и диалогами стало для нас болезненным, используя JS, поскольку мы надеемся, что пользовательский интерфейс будет работать в разных браузерах.
У нас есть интерфейс, в котором вы создаете отчет на основе SQL для планирования встреч. Это заняло у нас пару недель, чтобы построить PrimeFaces, потому что многое нужно было написать на JS для таких идиосинкразий, как диалоги. Но на создание другого пользовательского интерфейса с аналогичной сложностью с Vaadin у нас ушло 2 дня. Мало того, что использование JSF было болезненным, с Vaadin мы смогли выйти на рынок на 85% быстрее, чем раньше.
Главное преимущество Vaadin заключается в том, что он заботится об уровне связи между клиентом и сервером и предоставляет готовые к использованию реализации для многих часто используемых компонентов "из коробки". Он обеспечивает кроссбраузерную совместимость для постоянно обновляемых браузеров для включенных компонентов, а это означает, что мы можем сэкономить много времени, поскольку нам не нужно писать код пользовательского интерфейса для конкретного браузера ».
Ниже приведен мой разговор с Java-разработчиком, который пытался создать аналогичные пользовательские интерфейсы на Angular и Vaadin:
«Мне как Java-разработчику не обязательно изучать JS / Angular.
Это дало мне время больше сосредоточиться на коде приложения, чем постоянно беспокоиться о вызовах REST API на стороне клиента.
Я не эксперт по Angular, поэтому это может варьироваться от разработчика к разработчику. Мне потребовалось 2 дня, чтобы просто настроить Angular в моей системе.
Но с Vaadin я установил ваш плагин в Eclipse и BAM! В итоге я использовал инициализатор Spring, который дает вам стартовое демонстрационное приложение Vaadin и поставляется со встроенным веб-сервером. С его помощью я смог разработать готовый рабочий продукт и представить его конечным бизнес-пользователям за 2 недели, а также смог доработать его ».

Причина №4:
При миграции настольного приложения Swing в Интернет с помощью Vaadin вы можете повторно использовать до 50% существующей кодовой базы Swing и делать гораздо больше с меньшим количеством кода за меньшее время.
Следующим был мой разговор с генеральным директором, который курировал миграцию своего настольного приложения Swing в Интернет с помощью Vaadin -
«Скорость внедрения и повторное использование кода были двумя из основных преимуществ, которые мы увидели при использовании Vaadin.
Несмотря на то, что Vaadin похож на Swing, он НАМНОГО чище и удобнее, и реализован гораздо лучше. Благодаря подходу, основанному на повторном использовании, мы смогли повторно использовать почти 50% вашей существующей кодовой базы.
Мы оценили Vaadin с помощью Angular и React и с таким же количеством разработчиков узнали, что можем выполнить миграцию быстрее с помощью Vaadin. Мы передаем POJO во фреймворк, и даже с серверной архитектурой наше приложение Vaadin работает очень эффективно.
Кроме того, мы использовали JTable в Swing. По сравнению с Vaadin GRID разница днем и ночью. Мы получили 50% нежелательных отзывов от наших клиентов, которые использовали веб-версию нашего приложения ».

Причина № 5:
С Vaadin в составе вашего технологического стека пользовательского интерфейса вы получаете гарантию официальной долгосрочной поддержки и обслуживания для различных версий фреймворка при поддержании бережливого технологического стека.
Это была интересная находка. В ходе бесед с лицами, принимающими технические решения в компаниях из списка Fortune 100, я узнал, что большинство из них - магазины Java.
Этот разговор с архитектором приложений из медицинской компании из списка Fortune 100 дал мне новое понимание Ваадина, о котором я раньше не думал -
«Ваадин существует уже 18 лет. Это почти в 3 раза дольше, чем у других фреймворков (Angular, React, Vue). Мы оценили их все.
Но как магазин Java, когда вы внимательно оцениваете прирост производительности и скорость вывода на рынок, вы можете получить с Vaadin, сохраняя при этом минимальный технологический стек и имея реальную компанию, поддерживающую фреймворк; это серьезное экономическое обоснование.
Для нас, как для глобальной компании, обнадеживает, что в случае возникновения критических технических блокировок в наших корпоративных приложениях мы можем обратиться к вам напрямую за поддержкой. И что нам не нужно полагаться на то, что наши разработчики очищают StackOverFlow, чтобы решить проблему.
Приложения в сфере здравоохранения могут храниться 2–3 десятилетия. Официальная поддержка Vaadin на уровне предприятия вселяет в нас уверенность в создании клиентских веб-приложений с помощью фреймворка ».
TL;DR
Основываясь на обсуждениях, которые я провел с членами нашего сообщества, Ваадин мог бы помочь вам *:
- Используйте внутренние серверные ресурсы / ресурсы Java для создания современных пользовательских интерфейсов для своих бизнес-веб-приложений без необходимости иметь дело с несколькими интерфейсными технологиями;
- Создавайте веб-приложения на одном языке (Java), обеспечивайте безопасность типов, веб-безопасность и избегайте переключения контекста, как при использовании JS на стороне клиента и Java на стороне сервера;
- Повторно используйте до 50% существующей кодовой базы Swing своего настольного приложения и делайте гораздо больше с меньшим количеством кода за меньшее время;
- Выход на рынок до 85% быстрее и сокращение времени разработки до 50% при создании тех же пользовательских интерфейсов по сравнению с Angular, PrimeFaces, JQuery;
- Сократите время запуска для ваших разработчиков до 300% по сравнению с такими технологиями, как Sencha ExtJS;
- Повысьте продуктивность разработчиков на двузначные числа и снизьте совокупную стоимость владения (TCO) технологии, включая разработку, обслуживание и поддержку, до 40%;
- Создавайте веб-приложения с длительным сроком хранения с гарантией официальной долгосрочной поддержки и обслуживания для различных версий фреймворка; а также
- Поддерживайте эффективный стек технологий.
- Ваш пробег может отличаться
Это подведение итогов моих ключевых знаний о Ваадине за 1 год работы в компании. Я едва прикоснулся к миру разработки веб-приложений.
Но меня вдохновляет видение Joonas, основанное на том, что Vaadin был основан, чтобы упростить разработчикам создание современных веб-приложений. Это имеет смысл, если вы думаете, что, когда UX прост, пользователь чувствует себя уполномоченным, имея возможность сосредоточиться на самом важном.
В случае разработки веб-приложений, почему разработчик должен отвлекаться на некорректное поведение своих приложений в разных браузерах или задержки, останавливающие их выполнение?
Пользовательский интерфейс (UI) должен быть красивым и достаточно интуитивно понятным, чтобы делать обучение и инструкции ненужными.
Мы придерживаемся нашей миссии - Борьба за простоту. Но, как вы знаете, сделать что-то простое не так-то просто. Но это наш путеводный компас.
Как компания, мы стремимся упростить разработку пользовательского интерфейса. Таким образом, разработчики могут сосредоточиться на упрощении UX приложений, которые они создают.
Все потому, что, когда ваше приложение просто работает, ваши пользователи влюбятся в него. И когда вашим разработчикам становится легко создавать это приложение с помощью Vaadin, это единственный способ реализовать нашу миссию.
У меня к вам один напутственный вопрос -
Что касается вашего текущего стека технологий веб-приложений и команды, какие 2–3 основных показателя вы пытаетесь улучшить - производительность разработчиков, время вывода на рынок, общая стоимость владения, веб-безопасность и т. Д.?
Давайте не будем здесь интересоваться технологиями и обсудим, что лучше всего подходит для вашей компании. Мне здесь нечего продавать, но мне есть чем поделиться с вами и поучиться у вас.
Если вам нравится здоровое сочетание деловой и технической беседы и вы хотите узнать, как можно изменить производительность команды веб-приложений, давайте подключимся.
Вы можете связаться со мной прямо по мобильному телефону: +1 (408) 763 8988, по электронной почте: [email protected] или забронируйте время, чтобы поговорить в моем календаре здесь.
PS: Пока вы разговариваете по телефону, я буду рад отправить вам одну из наших футболок (без каких-либо условий). В настоящее время доставка осуществляется только в пределах США.
