Как стать автором
Обновить

Комментарии 13

Конкретно у меня первая загрузка 3МБ

Так и хочется воскликнуть: НИ ХРЕНА СЕБЕ!

Поясню: я конечно понимаю, что сейчас вроде как везде широкополосный интернет, но давайте вспомним про мобильный интернет в России…
Ну, у нас не сайт, а рабочее место, реализованное в виде «тонкого клиента». Т.е., это не главная страничка портала, а полнофункциональное приложение с большим количеством функций. 3-мегабайтовый скрипт, сгенерированный GWT, грузится один раз после очередного обновления промышленного сервера (обычно, не чаще одного раза в месяц) и кешируется браузером. 3МБ раз в месяц — совсем немного, а дальше ходят только чистые данные. Так что мобильный интернет — не наша специфика.
Про Code Splitting вы не слышали?
Спасибо, слышал. Но не вижу никакого смысла его применения конкретно в нашем проекте. Еще раз повторю — пользователю загружается 3МБ JavaScript раз в месяц, это немного даже для возможностей сетей десятилетней давности. Специально спросил сейчас у специалиста поддержки, он сказал что пользователи не жалуются на то, что после обновления первый вход в систему длится дольше. А заниматься преждевременной оптимизацией — плохая практика.
про jsf о какой версии такие ваши впечатления?
по мне так вобще отличная штука начиная с версии 2, читабельность, разбивка на шаблоны, навигация, доступ к бинам и тд…
можно любой html шаблон разрезать и натянуть какими нужно кусками, аякс, частичный рендеринг…
только скорости под нагрузками можно добавить это да
О спецификации версии 1.2. Я слышал о том, что в версии 2 многое стало лучше, но вещь это достаточно свежая и сталкиваться на практике не приходилось. Если попаду на новый проект с тонким клиентом, обязательно рассмотрю JSF 2 как вариант реализации клиентской части.

PS Насчет "любой html шаблон разрезать и натянуть какими нужно кусками, аякс, частичный рендеринг" — это у нас и в 1.2 работало, реализация RichFaces.
JSF 2 и выше вполне достойная вещь, позволяющая практические без написания JS кода делать нормальные веб приложения.
Не очень понятен смысл написания собственных инструментов для тестирования. Тот же JMeter, настроенный как прокси, может записать все запросы из браузера. Всего делов-то: выкинуть ненужное, залупить (от loop) этот запрос, настроить сохранение ошибок, да задать правила построения уродских графиков.
Поддерживаю, но лишь отчасти. На самом деле разработанный модуль тестирования немного сложнее, чем я написал (т.к. статья была не об этом). Модуль осуществляет логин пользователей, подгруженных из базы либо текстового файла, и последующую передачу запросов с персональным куки (JSESSIONID) для каждого пользователя. При этом, вытащенные из FireBug запросы отправляются не в исходном виде, а с подменой некоторых частей персонально для каждого робо-пользователя (специфика бизнес-логики).

Возможно, есть готовые инструменты, которые могут все это осуществить, но я разработчик, а не специалист по автоматизированному тестированию, и, к сожалению, не разбираюсь в них.
Я тоже разработчик, но очень рад что наткнулся на JMeter. Разумеется, там также можно сделать X потоков с разными JSESSIONID.
Кроме того, можно например инкрементить некий счётчик, и использовать его в переменных (например, если надо залогинить юзеров user1..user100 с паролем user). Но вот если данные совсем непредсказуемые, то да — с этим хуже.
Самые крутые JMeter'овцы QA-шники вроде бы умеют парсить ответ веб-сервера регэкспом и заносить совпадения в переменные, это я не умею.
А ведь данных на странице обычно гораздо больше: заголовки, меню, различные блоки и т.д. Фактически, достаточно насыщенная данными и функционалом страница обычно весит не менее 100-200 кБ. GWT же для отображения такой же страницы заберет с сервера 1 кБ данных и всё.

На дворе 2006 год? И к тому же, давайте сравнивать котлеты с котлетами (тонкие клиенты или SPA), а не с олдскульной полной загрузкой HTML на каждый чих): XHR был ещё в IE5 в 1999 году; 2006 год — во всех популярных на тот момент браузерах.

Хотя я понимаю, почему вы используете GWT — веб-приложением занимаются явисты. Переход на стэк HTML5 — это новый отдел фронтендеров и соответственно другой бюджет отдела разработки. Возможно текущие задачи GWT решает (хоть и не лучшим способом). Но вы должны понимать, что вы отстаёте и чем дольше будете сидеть на нём, тем сложнее будет переход на современный стэк создания SPA, а это быстрая и комфортная работа с любого девайса, где есть браузер.

Если есть желание уже начать переходить, попробуйте начать писать клиент на Angular.js + HTML5 (на ангуляре пишутся большие корпоративные SPA — десятки тысяч SLOC).
Ну во-первых, краткое упоминание пары технологий в статье ни в коем случае не преследовали целью полноценного сравнения. Я сразу открестился от этого, написав, что это "чтобы немного “окунуться” в рассматриваемую тему".

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

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

В-четвертых, «чтобы купить что-то хорошее, надо сначала продать что-то хорошее». Какие бы экономные технологии вы бы не использовали, вы не сможете выполнить сколь-нибудь сложную логику на клиенте, не заставив его перед этим что-то загрузить. У меня пользователь целый день сидит на своем рабочем месте и переходит по страницам. Как бы вы не экономили на частичном обновлении страниц, за день в любом случае набежит не один мегабайт метаданных, описывающих интерфейс.
Вы посвятили второй абзац сравнению GWT + AJAX со способом получения готовых страниц (или кусков html-кода), полностью генерируемых на сервере, который (в контексте SPA) использовался со времён веб 1.0, в то время как AJAX, JSON, client-side templating, routing уже давно доступны + сегодняшний стэк HTML5. Не было бы этого некорректного сравнения — не было бы и моего комментария.

Во-вторых, я не писал «плохо решает». GWT пока всех полностью устраивает? — вот и отлично. Возможно скоро поменяются бизнес-процессы и люди захотят работать мобильно, с помощью планшетов или мобильных, а там свои нюансы и, я думаю, вы не станете отрицать, что стэк HTML5 там куда как актуальнее. Вот тогда и начнётся работа по оптимизации.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации