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

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

Вот уже и настали времена, когда небольшой блог на Java занимает целых 20 мегабайт :)
Эти времена были всегда. Просто использовались библиотеки языка программирования или ОС, поэтому и не было видно сколько МБ за собой тянет «Hello World»…
Из 20,5 мегабайт 19 занимают библиотеки, которые, теоретически, класть необязательно.
Это точно. На самом деле я там и привожу пример во-второй главе, как всё красиво поднимается через maven. А у меня пока руки не дошли с ним разобраться. Но следующие проекты только через maven :)
Хм, тот кто поставил минус может предложить другое решение? :)
а я заинтересовался. на пхп писал 5 лет назад. много воды с тех пор утекло. изучать питон или руби как-то лень чтоли… а вот явой бы позанимался. тем более, начинал когда-то с паскаля и С.
Сразу прошу прощения, если недостаточно уважительно выразился о некоторых ЯП. поверьте, я их уважаю не меньше, просто для нормальных расчетов МНЕ нужен язык с жесткой типизацией.
Лучше изучайте новые фреймворки для PHP, тут за последние два года много чего сделали. Да и работу всегда найти можно, в отличии от джавы (особенно если вы не в Москве или Питере).
Простите, но как человек, имеющий большой опыт работы с большинством технологий упомянутых в статье, позволю себе ужоснутся Вашей фразе: «Java — технологией где-то между PHP и С++»
Да, возможно в вашем контексте это звучит ужасно. Но когда я делал выбор между Java, PHP и С++, то Java для меня лежала где-то между ними. Видимо, я написал это в контексте выбора между этими тремя технологиями.
Не работал. Но там какие-то URL страшные, когда я в последний раз его смотрел. Что сейчас там не в курсе.
Постоянные танцы с бубном — сыроват :-(.
примеры танцев в студию!
Если jBoss Seam сыроват, то что уж говорить про другое…
Лежит Ваш блог
Render queue error in BeginRender[Start:articles.abbreviate]: org.apache.tapestry5.ioc.internal.util.TapestryException
Да, чёто вылетело :) Пересоздал.
PHP программисту в новинку было столкнуться с десятком фреймворков, которые навязывают для создания веба на J2EE. Сервлеты, портлеты, JMS, RMI, EJB, JSP, JSF — чего там только не было!

JMS, RMI, EJB имеют ну очень косвенное отношение к разработке web-приложений на Java
Да, но скажите это авторам туриалов и книг, которые под одну крышу J2EE чего-только не наложат. Просто помню себя, когда растерялся среди зоопарка аббревиатур J2EE, а я просто хотел делать веб :)
J2EE это не только Web, но и серверные приложения с «бизнес-логикой», которую уже не засунешь в хранимые процедуры СУБД. ;)
Откройте для себя JSF
Введение в JavaServer Faces 1.2: Часть 1. Создание простых приложений
Введение в JavaServer Faces 1.2: Часть 2. Жизненный цикл обработки запросов в JSF, конвертация и валидация данных, обработчики событий

JSF — фреймворк JSP — приложения на нём могут работать не только в полновесных контейнерах J2EE (таких как GlassFish и Geronimo), но и в контейнере сервлетов Tomcat (или Jetty).
Открыл и закрыл после этого «Объявление объекта Calculator в файле faces-config.xml». Спасибо, но туча XML конфигураций напрягают мой моск, когда работаешь в реальных условиях, а не делаешь «калькулятор». Я могу еще конечно привести аргументы против JSF. Но во-первых, сейчас и не вспомню уже всё, а во-вторых, нет желания сейчас копаться и вспоминать, чем меня отпугивает JSF.
В faces-config.xml надо писать один раз и использовать почти во всех проектах, если у вас конечно нет каких либо костылей.
так что я бы на вашем месте все же более внимательно рассмотрел JSF
Привет ИТДшнегам)
На самом деле, в сторону JSF лучше не смотреть, ну не используют его…
Вот.

И вам здрасьте:)

Используют, но в России не очень активно. Мы на нем пишем — достаточно удобно все интегрируется со Спрингом. Очень богатая библиотека компонентов Rich Faces, довольно сильно упрощает некоторые вещи во время разработки — есть машина состояний, куча всяких вкусных валидаторов, хорошо кастомизуемые и очень функциональные компоненты, плюс хорошо встроена поддержка аджакса.

Заценить все добро можно здесь.
GWT =) Советую попробовать…
Хотя еси ты в Аргусе(там щас?)то за вас все решают....)
>Используют, но в России не очень активно
А я не по России, я по другим смарю, там где работаю.)
Не, я не в Аргусе, но все равно за меня решают, а GWT мы и так юзаем, хотя не очень активно.

Еще кстати очень хорошая библиотечка — JSF Facelets — там можно писать свои компоненты из уже имеющихся, делать шаблоны страниц и много всяких приятных мелочей.
Откуда вы знаете про «моё место»? Скорее вам нужно говорить «на своём месте». Если бы не tapestry5 я бы давно уже плюнул на java, как не удачный эксперимент и перешел бы на django.
Но я его очень даже внимательно рассматривал в 2007 году. Даже в статье дал ссылку на сравнение JSF и Tapestry4.
использование Seam впринципе сильно уменьшает количество XML конфигов. Но вообще без них пока что никак :(
совсм без них — это путь Grails
Честно создал приложение helloworld на Grails по инструкции на их сайте.
Файл: helloworld-0.1.war
Размер: 17,1 МБ (17 943 625 байт).
Да, работает, но вот размер не радует.
Если каждое такое («самодостаточное», надо сказать) приложение будет занимать под двадцать-тридцать мегабайт, то впору оставаться на PHP.
На самом деле можно перенести большинство библиотек на сервер. Недавняя версия GlassFish как раз из коробки поддерживает Grails и позволяет уменьшить размер деплоящегося файла на порядок.
Вы что, XML в Блокноте что ли набираете?!

Используйте Eclipse WTP и NetBeans для JSF-проектов. автодополнение кода и верификация при редактировании XML очень помогает.
использование JSP вместе с JSF — порочный путь. Facelets(вместо jsp) спасут отца русской демократии, они кстати очень похожи на Tapestry UI.
JSF написана «по мотивам» Tapestry. ;)
Вот смотрю я пример, и wicket'овские экзамплы (второй очень зендвреймворк напоминает) и думаю может вам таки может всеже стоило уделить немного часов джангобуку?
Возможно, но только как сравнение tapestry5 и django. Друг у меня джанговод, уже как год хочет меня на джанго сманить :)
как будто диаволу сопротивляетесь, а может ему просто смотреть также больно, на то, что я чуть ниже перечислил:)
Не знаю, мне tapestry5 нравится, там всё сделано очень просто. А вот сравнения django vs tapestry я не видел. И не знаю человека, который бы поработал там и там. Чтобы делать выводы, кто круче. :)
Вы можете стать таковым, первых 5и — 7и главок будет достаточно, чтобы сравнить

djangobook.com/en/1.0/
На самом деле все эти технологии меня меньше и меньше интересуют. Кто круче, кто не круче. Деньги надо зарабатывать, бизнес делать, эти увлечения технологиями ни к чему хорошему не приводят в капиталистическом мире…
НЛО прилетело и опубликовало эту надпись здесь
попробуйте grails и это уже вы, возможно, не захотите возвращаться к питону)))
Вы ещё другие Java-фреймворки посмотрите для начала: Wicket, Grails, Spring MVC, GWT.

Всё-таки очень многое потеряете при переходе с Java-платформы, задумайтесь — стоит ли оно того?
:) Я и не собирался, джава как платформа меня вполне устраивает. GWT смотрел, но пришёл к выводу, что лучше изучить JavaScript как следует. А затем подключить фреймворк типа ExtJS.
ну, как-то это всё-таки странно странивать Grails со Spring MVC, и Wicket с GWT, ибо концепции-то у них совсем разные.

но я тоже голосую за grails
Да я и не сравниваю, именно потому что разные концепции и предложил.
Grails работает поверх Spring MVC ;)
вот и я, собственно, о том же ;)
Каким образом? У Wicket в шаблонах в отличие от Django/ZF абсолютно никакой логики нет — plain html практически.
я имел ввиду исключительно монструозность констукций. Куча классов, умопомрачительные иерархии каталогов-файлов и жуткие конфиги.
Можно поподробнее?

wicket.apache.org/exampleguestbook.html — 1 класс на модель, 1 на компонент, 1 на контроллер + web.xml основного приложения(он один на всё приложения) & html-шаблон. Что касается «умопомрачительные иерархии каталогов-файлов» — вообще бред какой-то, работая из ide вы неймспейсами/классами оперируете.
ну если сравнивать с джангой, форму можно было бы определять аналогично модели, а в шаблоне использовать
{{ form.element }} или вообще {{ form.as_table }}. OnSubmit в таком простяцком случае выкинуть. Ну, а вцелом, да, это уже намного современнее выглядит.
Ну форма редко получается аналогичная модели, так что на любых больших приложениях код в целом не сильно больше размерами — зато вся остальная инфраструктура(ORM, IDE, VM) у Java на порядок привлекательнее, не говоря уже о рынке труда.
сравнив приведённый пример на wicket'е с grails от первого хочется только плеваться, хотя по сравнению со многими другими штуками wicket не так уж и плох.
Странно, Грем Роше послдений раз сказал, что «Grails is [...], but maybe only 50% less than Wicket :-)». Подходы тут разные, мне лично компонентный нравится больше.
ну меньше-то он в том числе за счёт groovy.
grails всё-таки подкупает тем, что он full-stack и CoC
Ну тут вопрос в том, готов ли человек перейти с Java(тех же вакансий по G&G не так много). А самому Grails надо JPA & Maven допилить, тогда можно будет смотреть, но в целом идеалогия у фреймворка правильная — CoC интеграция с Flex мне очень понравилась, хотя если на Java уметь писать — не сильно сложнее выходит.
>тех же вакансий по G&G не так много
ну, с учётом покупки G2O спринсорсом, «все там будем», как говорится

>Grails надо JPA & Maven допилить
вроде как к 1.1 обещают уже

>хотя если на Java уметь писать — не сильно сложнее выходит.
такие люди не пишут подобных этому топиков ;)
RMI в «десятке фреймворков» не в кассу.
не знаю ваш косяк нашел или в фрэймворке:
елси зайти в одной сессии в редактирование категории, а из другой сессии удалить эту категорию, то при сохранении изменений в первой сессии вываливается исключение
Моя ошибка:

@OnEvent(«activate»)
void edit(String id) {
category = universalOp.get(Category.class, id);
}

Не делаю проверку на null, а там дальше category активно используется, в то время когда из базы вернулся null.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории