| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Обратная сторона web-фрэймворков |
| Автор: Vasay 25.12.2009, 02:28 |
| Решил поднять очень больную тему для Java WEB фрэймворков - удобство их использования со стороны пользователя и совместимость с SEO (поисковыми системами). C SEO все просто - если вы хотите, что бы какая-то страница вашего сайта была проиндексирована поисковой машиной - у нее должен быть уникальный URL и на нее можно было бы попасть по обычной ссылке с другой страницы о которой знает поисковик (т.е. не с помощью JavaScript ссылки или POST запроса). Теперь подумайте - удовлетворяет ли ваш любимый фрэймворк этому требованию. В качестве примера неудачного выбора фрэйморка могу привести веб магазин (на одном форуме я уже писал разработчику о недостатках его сайта, надеюсь он их быстро поправит, так что не уверен, что спустя некоторое время после написания данного поста по ссылке будет именно то, что я хочу показать): http://e-carneol.com/web/portal/home Вот кто мне может сказать, какой товар я смотрел по http://e-carneol.com/web/portal/home?p_p_id=catalog_portlet_WAR_carneol_INSTANCE_nxd7&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_catalog_portlet_WAR_carneol_INSTANCE_nxd7_com.sun.faces.portlet.VIEW_ID=%2Fpages%2Fcatalog%2FviewProductList.jsp&_catalog_portlet_WAR_carneol_INSTANCE_nxd7_com.sun.faces.portlet.NAME_SPACE=_catalog_portlet_WAR_carneol_INSTANCE_nxd7_ ? Посмотрите, что видит на этом сайте http://www.google.ru/#hl=ru&source=hp&q=site%3Ae-carneol.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=site%3A&fp=5f96a978f2abe2da Попробуйте кинуть ссылку на какой-нибудь товар по аське другу (или открыть в другом браузере). Еще один пример: фотоальбом, который не смогут проиндексировать поисковики (по крайней мере пока не станут нормально понимать js) http://livedemo.exadel.com/photoalbum/index.seam С Юзабилити все немного сложнее. Тут многое индивидуально. Вот зайдите на упомянутый выше фотоальбом, выберете Sport & Cars, затем Cars..... а затем нажмите кнопку назад вашего браузера, мой firefox отработал это действие некорректно, так же как и последующее нажатие кнопки вперед. Так же попробуйте открыть какую-нибудь ссылку из левого меню в новом окне (в новой вкладке) - мой firefox опять же не смог справиться с этой задачей :-( А вот, посмотрите на фотографию этой классной машины (если конечно ее увидите): http://livedemo.exadel.com/photoalbum/index.seam?cid=368653 Кстати, есть еще момент - производительности. Попробуйте взять стандартную табличку из набора компонентов Woodstock и вывести 100 строк - если FireFox справится с этой задачей легко, то IE умрет даже на весьма приличной машине (спасибо обилию JS). Что я всем этим хочу сказать? Будьте внимательны при выборе технологии, что бы потом не создавать интернет магазины, которые не увидит ни один поисковик, или корпоративные приложения пользователи которых будут вас потом люто ненавидеть (имел дело с одним таким приложением как пользователь, столько мата в адрес разработчика сложил...) |
| Автор: gcc 25.12.2009, 09:18 |
| mod_rewrite? |
| Автор: Vasay 25.12.2009, 12:22 |
mod_rewrite в Java нет, хотя есть возможности URL-mapping-а, однако, в случае с ajax, или использовании POST запросов они Вам не помогут. |
| Автор: Omut 25.12.2009, 20:48 |
"Огласите весь список, пожалуйста"(с)('Приключения Шурика') Какие фреймворки Вы СОВЕТУЕТЕ? Вот хотя бы из перечисленного: Struts, Struts2, JSF1.2, JSF2.0( jsf-ы без аяксов), Tapestry5, Wicket, SpringMVC(куда ж без него)? Что из этого Вы бы порекомендовали, а что забраковали бы для интернет-магазина? Можно прям табличку в 3 столбца |Годится|Не подойдёт|Краткое обоснование| |
| Автор: AJetman 25.12.2009, 21:21 | ||
Странный вопрос, автор топика лишь предупреждает выбирать технологию для разработки веб-приложений более тщательно. Работал плотно с Wicket. С точки зрения SEO в нем все нормально, нужно лишь классы страниц "монтировать" по ключам. Для этого, кстати, советую сразу использовать сторонний аддон wicketstuff-annotations... |
| Автор: Vasay 26.12.2009, 00:59 | ||
Omut,
Это действительно хорошая идея, но лично я не могу гарантировано сказать про все фрэймворки. Да и возможна такая ситуация, когда фрэймворк позволяет делать правильные URL, но ради этого приходится отказаться от какого-то функционала. Однозначно плохо обстоят дела у Ajax фрэймворков (GWT, ZK, у различных faces....) У Wicket, насколько я понял из своего небольшого знакомства с ним, если не использовать Ajax компоненты соответствие контента страницы и URL - однозначное, но вот управлять URL в полной мере нельзя (могу ошибаться). Однако это не критичный недостаток. С Tapestry5 тоже игрался немного, из того на что обратил внимание - активное использование JS в компонентах, например, при пагинации таблицы. Насчет JSF (без активного использования ajax) - не могу сказать, я видел сайты на jsf с правильными url-ами, но как, и какой ценой люди этого добивались - не знаю. В своей практике я использовал связку SpringMVC+Velocity. Много ручной работы, но результат меня радовал (хотя все и не для широких масс делалось |
| Автор: Vasay 26.12.2009, 16:05 | ||
garbuz,
Там LifeRay. Но виной того что получилось - не liferay (он позволяет делать вполне приличные урлы), а jsf (насколько я понял), с помощью которого был создан портлет магазина. |