| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Посоветуйте на счет JSF, правильно ли я понимаю. |
| Автор: Killer_13 6.7.2011, 22:27 |
| Вопрос не конкретный, лопатил несколько часов инет, ответа для себя не нашел. Итак, создается приложение, Онлайн тест. Заходит юзер вводит логин, пароль, выбирает тест, потом все результаты отправляются на сервер и там например сохраняются в БД. Слепил с помощью Tomcat, Eclipse и JSP обычную форму логина, которая отсылает запрос потом Servlet отдает обратно обработанный запрос. Читал, что JSF это фреймворк и что он позволяет использовать компоненты API (Если я правильно понял) для создания веб приложения. Теперь суть вопроса. Можно ли с помощью JSF сделать что-то наподобие applet я имею введу, чтоб использовались например swing компоненты со всеми листенерами и чтоб все через браузер так д...? Я просто не хочу ограничиваться возможностями html и подучить чуток свойства свинга а не тэги и формы писать. Тоисть обычные формы и свойства css. В JavaScript фреймворки лезть не хочу. Или можно же сделать applet но для него нужна установлена JVM. Надеюсь аудитория поймет мой вопрос, спасибо за ответы. |
| Автор: Vasay 6.7.2011, 23:50 | ||
Killer_13,
Да, с JSF можно использовать компоненты. Существуют различные наборы компонент от разных разработчиков: PrimeFaces, MyFaces, ICEFaces, OpenFaces, RichFaces. ИМХО - может от этого и есть толк в корпоративных приложениях ( мне не доводилось видеть вменяемые по юзабилити веб интерфейсы основанные на Faces и подобных технологиях ), но для разработки web ориентированных проектов все эти компоненты, да и сам JSF пригодны плохо. |
| Автор: Killer_13 6.7.2011, 23:58 |
| Хорошо, а что предложите, какая альтернатива? Можете закинуть ссылку, где можно посмотреть как выглядят компоненты в веб интерфейсе? тоисть где можно посмотреть реализацию того, что я спрашиваю. Или тут единственное решение - делать как applet, чтоб можно было запустить в браузере? Спасибо. |
| Автор: Killer_13 7.7.2011, 01:24 |
| Вах, окунулся в мир фреймворков, глаза разбегаются. Пока что понравились http://demo.vaadin.com/ http://www.icefaces.org/main/demos/ http://www.openfaces.org/demo/ и много читаю о Spring но демо где можно посмотреть компоненты не могу найти. Также видел книги по Spring. Или это рано еще трогать? Кстати, а как выглядят компоненты JSF? Не могу найти чтоб посмотреть. Это будут обычные Swing компоненты? Приложение самое обычное, нужно за месяц склепать. Онлайн опросник. Какой из них посоветуете? Насколько я понимаю, это реализуется достаточно просто в проекте. Закачиваю библиотеку(фреймворк), потом где мне нужно в классе создаю объект типа ICEFacessButton и у меня будет такая же кнопка как я видел в демо. Спасибо за ответы на такие может и глупые, но для меня сейчас очень полезные вопросы. |
| Автор: Farmazon 7.7.2011, 04:17 |
| это всё от лукавого... Vaadin, GWT, jsf... Всё костыли разной степени сложности для разработчиков, что не хотят javascript учить. Взгляни ещё в сторону JavaScript+JQuery и разработки REST API. |
| Автор: Killer_13 7.7.2011, 10:24 |
| Неее, JavaScript не хочу, с JQuery чуток работал, хорошая штука. Значит как вариант делать свое приложение как отдельную программку, которая коннектится с серваком и так д. В браузере не получится так как я хочу. |
| Автор: Vasay 7.7.2011, 10:31 | ||||
Все эти *Faces - это и есть компоненты JSF.
Приходя в WEB, забудьте все чему Вы научились программируя под десктоп. Все это компонентное программирование - зло. Эти фреймворки Vaadin ICEFaces Openfaces - совершенно не годятся для разработки web приложений. Начните с понимания HTTP. Что такое GET, POST, cookie... Потом ознакомьтесь с идеологией MVC. И начинайте "курить" MVC фреймворки ( Spring MVC, например ) . Для интерактивности можно использовать, например, JQuery. |
| Автор: Killer_13 7.7.2011, 12:05 | ||
| Понятно, Еще один вопросик, а у Spring есть свои компоненты или как он работает? За месяц я наверное не разгребусь со Spring наверное нужно будет все таки делать десктопное приложение. Суть данного проекта подучить Swing я как планировал что я хочу написать, не знал как строятся веб приложения, вот снчало и подумал, что через браузер было бы лучше.
Вы имеете введу Компонентное программирование под веб. Правильно? |
| Автор: Vasay 7.7.2011, 12:52 | ||||||
Killer_13,
Ну, если Вы хотите учить Swing, то писать надо десктопные программы. Но не рассчитывайте на аплеты - их применение оправдано только в корпоративных проектах, где есть гарантия наличия JVM на пользовательских машинах.
Под WWW. Т.е. создание сайтов. Когда речь идет о создании web интерфейса корпоративного приложения - эти фреймворки вполне могут быть оправданы. Но нужно быть очень аккуратным, что бы пользователи не захотели Вас казнить страшной казнью из-за невменяемого юзабилити.
Сразу, чтоб не было дальнейшей путаницы - Spring - это огромный фреймворк, который может применяться и в десктоп приложениях. Он состоит из нескольких отдельных проектов, которые могут использоваться как вместе так и каждый сам по себе. Spring MVC - это один из подпроектов, который используется при построении web приложений для разделения web приложения на слои: доступа к данным, бизнес логики и представления. Наверно, чтоб лучше понять, как это работает, стоит пройти небольшой туториал "Developing a Spring Framework MVC application step-by-step" http://static.springsource.org/docs/Spring-MVC-step-by-step/ Правда, это по версии 2.5 что-то не нашел - есть ли у них подобный по версии 3 - не видел. |
| Автор: Farmazon 7.7.2011, 16:02 |
| в reference по спрингу всё есть... MVC ихний меньше 50 стр про яваскрипт я ни разу не шутил. У него другая парадигма. Я и сам довольно скептично к нему относился пока нужда не заставила разобраться... И фиг ты чего лучше найдёшь для работы в контексте страницы и организации интерактивного взаимодействия. Другое дело, что оно тебе не надо может быть... может тебе действительно сервлетов и JSP хватит (+ Spring MVC в довесок) |
| Автор: Killer_13 7.7.2011, 16:14 |
| В принципе, все стало менее более понятно, помогли мне чуток по полочкам разложить. Ну раз уж такой общий замес здесь пошел, подскажите своими словами с чем и к чему курят "JBoss"? |
| Автор: Farmazon 7.7.2011, 16:20 |
| JBoss - это подготовленная инфраструктура для корпоративных приложений. Тут тебе и контейнер бинов(эти ваши EJB), и пулы потоков исполнения, и JMS, и JPA-Hibernate(ORM) и прочее... К слову сказать, эту инфраструктуру вполне себе можно и самому на Spring собирать, и работать она будет так, как ты её соберёшь, и всякого мусора меньше(а значит jar-hell). Но кому-то удобнее чтобы оно заработало всё сразу из коробки(правда не всё всегда понятно как). |
| Автор: Killer_13 7.7.2011, 16:34 |
| Спасибо за ответ, это мне еще рано. |
| Автор: Vasay 7.7.2011, 16:52 | ||||
Вообще-то JBoss это компания , которая, при поддержке комьюнити, выпускает целый ряд продуктов. Таких как: JBoss Application Server - это сервер приложений с открытым исходным кодом. Hibernate - один из наиболее популярных Java ORM фреймворков Seam — основанный на JSF web фреймворк ( ИМХО корявый ). RichFaces - библиотека компонентов для JSF JBoss Portal - Java Potal. и тд... Добавлено @ 16:54
Зоопарк, действительно щикарный - зверей много, и жизни не хватит со всеми познакомится |
| Автор: Embedded 7.7.2011, 20:28 |
| Killer_13, Вот наверное меня уже принимают тут за фаната Стампеде... но блин интересный сериал, о том как сделать руками веб сайт, в принципе у меня получилось интересно и сделать в т.ч. к нему простую систему управления контентом. Главное я понял как все работает на низком уровне, тот самый HTTP, cookie, сессии и т.д. Но там в сериале нужно думать своим мозгом, а то подопытный там наворотил с ORM (JPA) косяков. Сам сериал: http://forum.vingrad.ru/forum/topic-124877.html |
| Автор: Killer_13 8.7.2011, 01:39 |
| Спасибо, почитаю тему. |
| Автор: Temdegon 8.7.2011, 18:17 |
| Не знаю, че так все хают компонентные фреймворки. Мне вполне нравится как сама идея, так и некоторые реализации. Как-то ковырялся с PrimeFaces, вполне был доволен результатом. Сейчас вот с ZK потихоньку разбираюсь, очень все клево и красиво. |
| Автор: Vasay 8.7.2011, 18:41 | ||
Все зависит - для чего и где применять. Для web-а большинство таких фреймворков не пригодны: - не совместимы с SEO - нет соответствия контента URL - неправильно обрабатываются кнопки "вперед/назад", "обновить" - Неправильно обрабатывается "открыть в новой вкладке/окне". Кроме того часто лезут глюки с поддержкой разных браузеров. |
| Автор: Temdegon 8.7.2011, 19:21 | ||||
Глюки с поддержкой разных браузеров лезут еще чаще, когда человек без опыта начинает писать свою вебморду на html+javascript.
Это бесспорно. Компонентные фреймворки применяются для веб-приложений. Вроде как они для этого и придуманы. По этому в них не нужны все перечисленные пункты. Писать форум, блог, сайт фирмы или хомпагу на них нельзя. А вот админку к ним - в самый раз. ТС хочет аналог Swing, и не хочет возиться с HTML. Его задача вроде как раз хорошо подходит для использования таких фреймворков. Так зачем его отговаривать, и заставлять учить javascript и html? Пусть лучше это время потратит на изучение java и того же Spring. |
| Автор: Vasay 8.7.2011, 20:03 | ||
К сожалению, для создания вменяемого юзабилити потребуется очень много затрат. На практике я не видел еще ни одного удобной админки созданной с помощью подобных фреймворков. Добавлено через 14 минут и 24 секунды Temdegon
Я не призываю писать руками JS. Для таких целей есть, например, jQuery, YUI. Их можно интегрировать там, где нужна интерактивность. К тому же, использовать два идеологически разных фреймворка для написания фронт и бек энда по любому приведет к росту количества кода. |
| Автор: Forsaken 8.7.2011, 22:08 | ||
| Я тоже думаю, что всякие JSF для веба как средство создания сайта полная муть. Лучше делать html + js это гибко, легковесно, аккуратно и по стандартам. В принципе можно понять Гослинга когда он материт эту хреновину (JSF). Точно еще не читал, о чем там вещает нам мс, но походу они хотят взять на вооружение интерфейсы десктопынх приложений написанных на html + css + js. Вообще наверное быстрее и не сделаешь гибкого качественного, юзабильного интерфейса, но уж не знаю что они там замутят, надо почитать, а то я несколько голословен сейчас. http://www.microsoft.com/rus/newscenter/news/read/?id=post/2011/06/02/win8.aspx Vasay
Тоже большая задница. Это вообще антипрогресс и удобство высосанное из пальца. |
| Автор: Temdegon 9.7.2011, 00:20 | ||||
Не совсем понимаю, что подразумевается под вменяемым юзабилити, и почему его легко достичь используюя html+jQuery и так сложно испльзуя какой-то компонентный фреймворк. Но контраргументов у меня сейчас нет, по этому не буду спорить.
Тут http://forum.vingrad.ru/forum/topic-325815.html на данный момент планируется Spring MVC для всего, кроме админки. Ее мы будем делать (точнее сегодня начали) на ZK. Что из этого выйдет, как это повлияет на кол-во кода - будет видно. Пока не вижу каких-то предпосылок для этого. |