Как уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов

157.17
Рейтинг
Java *
Объектно-ориентированный язык программирования
Сначала показывать
Порог рейтинга
Уровень сложности
Processing
1 мин
3.3KSun недавно выпустила JavaFX, от которого я далеко не под впечатлением, ведь я видел, на что в действительности способна Java в плане визуализации. А видели ли вы?
+20
Официальный релиз JavaFX
1 мин
2K
Всем привет! Как-то тут на хабре мимо прошла новость, что 4 декабря вышел долгожданный официальный релиз JavaFX. Напомню, что JavaFX — это семейство продуктов для разработки многофункциональных Интернет приложений (rich internet applications) с мощной поддержкой для мультимедиа и разнообразного информационного наполнения. JavaFX является прямым конкурентом таких технологий как Flash и Silverlight.
+26
Основы портлетов
24 мин
31KПривет хабралюди! Сегодня я хочу рассказать об одной интересной технологии, с которой познакомился совсем недавно — это технология портлетов. Хотя на хабре уже есть пара упоминаний о портлетах, но там ничего внятного я не нашел. Поэтому решил написать свою статью, где хочу показать на практике как программировать портлеты. При этом попутно вставляя какие-то теоретические сведения. А принимая во внимание, то, что документации на русском крайне мало, то рассказать об этом хочется вдвойне :)
+29
TeamCity 4.0 released
2 мин
11KЧто такое TeamCity? TeamCity — это, говоря научно-занудным языком, интегрированная среда, которая повышает эффективность групповой разработки, беря на себя такие рутинные действия как сборка билдов, запуск и анализ тестов, а так же анализ исходного кода (инспекции, поиск дубликатов и т.д.) Посмотрев на картинку многое станет понятным:


+34
Работа с get-запросами в JSF
4 мин
3.7KКак известно JSF умеет работать только с post-запросами, однако существет метод, который позволяет разбирать и get.
+5
В обход J2EE или обзор Tapestry 5 фреймворка на примере блога
2 мин
5.5KДва года назад (2006 год) искал альтернативу PHP и своим MVC велосипедам. В то время на PHP только-только начинали появляться профессиональные фреймворки (например, релиза Zend Framework так и не дождался), пришла мода на RubyOnRails, что-то слышал о Django. Подавшись моде изучил пару книжек по RoR, но в итоге не стал связываться с Ruby, видимо остановило отличие синтаксиса от С подобных языков. Как вариант, рассматривал создание веба на С++, но посмотрев имеющиеся фреймворки — передумал. Выбирать было нечего, поэтому выбор пал на Java — технологией где-то между PHP и С++.
J2EE оказалась слишком запутанной для новичка. PHP программисту в новинку было столкнуться с десятком фреймворков, которые навязывают для создания веба на J2EE. Сервлеты, портлеты, JMS, RMI, EJB, JSP, JSF — чего там только не было! Но затем узнал об альтернативах J2EE типа Spring.
До Spring так и не дошел, почему-то показалось, что по сложности он был на уровне J2EE. Остановился на Tapestry4. Этот фреймворк сравнивали с JSF — одной из технологий J2EE для представления веба. Через Tapestry4 впервые узнал об IoC движках (в моём случае был HiveMind). Попозже узнал о Wicket позволяющий делать представление веба не хуже, чем в Tapestry4. Но затем вышла альфа версия Tapestry5, на которой окончательно остановился.
В Tapestry5 понравилось множество вещей. Во-первых, конфигурация фреймворка выполняется через аннотации — XML конфигурация сведена к минимуму. Во-вторых, динамически подхватываются изменения в шаблонах и коде, без перезагрузки контейнера сервлетов — основная проблема J2EE и других Java фреймворков. Правда работает это только для кода, про который знает Tapestry5 (компонеты, страницы и еще кое-что), но и это не плохо. И в-третьих, грамотный ООП подход, простота и наличие собственного IoC движка.
Для работы с базой данных решил использовать ORM Hibernate. Думаю это самая мощная opensource ORM из существующих в настоящее время, поэтому выбор был очевиден. А появление HibernateSearch, HibernateValidator, HibernateAnnotations — окончательно укрепили решение продолжать работать с Java без оглядки в сторону Python с Django.
За 2007-2008 года Tapestry5 была в альфе и API разработчика постоянно менялось, поэтому приходилось изучать код. С одной стороны потерял время, но с другой изучил лучше фреймворк. Накопился опыт, которым есть желание поделиться на примере разработки небольшого блога.
Исходники проекта доступны здесь. В работе можно посмотреть здесь. Для входа в панель управления логин admin и пароль admin.
+13
Технология JavaFX RIA почти готова к выпуску
2 мин
1.6KПеревод
Технология компании Sun Microsystems JavaFX RIA (rich Internet application) почти готова к выходу.
Демонстрируя платформу для приложений, основанной на Java (компоненты на основе скриптов и runtime-система для десктопов и мобильных устройств) – JavaFX, Sun официально заявила что это дает компании возможность входа на рынок, представленный Adobe Systems с Flash и Microsoft с Silverlight. Поставки базовой JavaFX-платформы для десктопов запланированы на конец этого года.
«Мы можем показать JavaFX в действии уже сегодня и мы весьма близки к поставкам конечного продукта», сказал Eric Klein, Sun vice president for Java marketing.
Sun официально продемонстрировала запуск JavaFX на примере работы с видео, где была показана возможность осуществления drag'n'drop видео за пределы браузера, на десктоп. С JavaFX пользовали получат единую платформу, связывая возможности браузеров и десктопов воедино, в отличие от Adobe, которая предоставляет Flash для браузеров и AIR (Adobe Integrated Runtime) для десктопов.
«Здесь, в одном environment мы сохраним время, усилия и деньги разработчиков, потому что им не нужно будет учить допольнительный environment в процессе девелопмента», отметил Param Singh, Sun director of Java marketing.
К концу года будет представлены первые версии JavaFX Desktop и JavaFX Script. Также должны быть выпущены SDK и JavaFX Production Suite, которые позволят разработчикам и дизайнерам работать вместе. Планируется выпуск и эмулятора для мобильных устройств. Официальный релиз JavaFX Mobile последует немного позже. В планах и JavaFX runtime для телевидения.
JavaFX-технологии, как и основная часть Java-продуктов, будут бесплатны. Но Sun делала и будет делать деньги на том, что связано с Java и скоро ожидает значительное увеличение прибыли. Но некоторые ставят эту стратегию под сомнение.
Демонстрируя платформу для приложений, основанной на Java (компоненты на основе скриптов и runtime-система для десктопов и мобильных устройств) – JavaFX, Sun официально заявила что это дает компании возможность входа на рынок, представленный Adobe Systems с Flash и Microsoft с Silverlight. Поставки базовой JavaFX-платформы для десктопов запланированы на конец этого года.
«Мы можем показать JavaFX в действии уже сегодня и мы весьма близки к поставкам конечного продукта», сказал Eric Klein, Sun vice president for Java marketing.
Sun официально продемонстрировала запуск JavaFX на примере работы с видео, где была показана возможность осуществления drag'n'drop видео за пределы браузера, на десктоп. С JavaFX пользовали получат единую платформу, связывая возможности браузеров и десктопов воедино, в отличие от Adobe, которая предоставляет Flash для браузеров и AIR (Adobe Integrated Runtime) для десктопов.
«Здесь, в одном environment мы сохраним время, усилия и деньги разработчиков, потому что им не нужно будет учить допольнительный environment в процессе девелопмента», отметил Param Singh, Sun director of Java marketing.
К концу года будет представлены первые версии JavaFX Desktop и JavaFX Script. Также должны быть выпущены SDK и JavaFX Production Suite, которые позволят разработчикам и дизайнерам работать вместе. Планируется выпуск и эмулятора для мобильных устройств. Официальный релиз JavaFX Mobile последует немного позже. В планах и JavaFX runtime для телевидения.
JavaFX-технологии, как и основная часть Java-продуктов, будут бесплатны. Но Sun делала и будет делать деньги на том, что связано с Java и скоро ожидает значительное увеличение прибыли. Но некоторые ставят эту стратегию под сомнение.
+20
SpringSource покупает G2One (the Groovy/Grails company)
1 мин
1.1KGL пишет, что
1) улучшат плагин для эклипса
2) у SS большой опыт в развитии community-led проектов
3) лицензию никто менять не будет (ASL2)
4) «энтерпрайзность» повысится
Подробности на сайте SpringSource: www.springsource.com/g2one
Официальный пресс-релиз: www.springsource.com/node/836
Вот что пишет Грем Роше (Graeme Rocher, главный по grails): graemerocher.blogspot.com/2008/11/groovy-and-grails-join-spring-family.html
И Гийом Лафорж (Guillaume Laforge, главный по groovy): glaforge.free.fr/weblog/index.php?itemid=259
1) улучшат плагин для эклипса
2) у SS большой опыт в развитии community-led проектов
3) лицензию никто менять не будет (ASL2)
4) «энтерпрайзность» повысится
Подробности на сайте SpringSource: www.springsource.com/g2one
Официальный пресс-релиз: www.springsource.com/node/836
Вот что пишет Грем Роше (Graeme Rocher, главный по grails): graemerocher.blogspot.com/2008/11/groovy-and-grails-join-spring-family.html
И Гийом Лафорж (Guillaume Laforge, главный по groovy): glaforge.free.fr/weblog/index.php?itemid=259
+6
IntelliJ IDEA 8 — Pocket the Eight!
1 мин
2.6KСегодня состоялся релиз IDE, очень знакомой многим Java разработчикам. Хотел бы рассказать о новшевствах и фичах восьмерки.


+29
Задачи для начинающих Java программистов
4 мин
393KВ продолжение моего поста "Начинающим Java программистам" публикую очередную свою шпаргалку, а именно список задач, которые я обычно даю новичкам. Опытным разработчикам они покажутся тривиальными, а только начинающим изучать Java, причём самостоятельно, надеюсь будут в самый раз. Так же если Вы используете какие-то ещё задачи для обучения, то поделитесь ими, пожалуйста.:) Так как мне, иногда, как-то не по себе в ...-цатый раз рассказывать стажёрам одну и ту же задачу — пусть даже они её слышат впервые:)
+34
Как я заново открыл для себя инкапсуляцию в java.
2 мин
20KЯ всегда считал, что Java — лаконичный и красивый (в плане концепции) язык с четкой структурой, позволяющей расширять эту структуру и на всевозможные фреймворки, там самым помогающая привнести порядок и в код конечного программиста. И, прежде всего, я считал, что java — это 100% ОО язык! Но недавно мне попался код, после которого я вечер ходил возмущался. Код совершенно несложный для понимания даже людей несведующий в java.
+13
Java @ CERN
1 мин
1K
На фото Дерек Матейсон из ЦЕРН получает премию от Джеймса Гослинга. Java активно используется учёными в качестве основного инструмента для работы с Большим Адронным Колайдером: их система ATLAS в которой количество столкновений протонов достигает 600 в секунду, генерируя 15 петабайт информации управляется с помощью Java. Java так же используется как основное средство для мониторинга всех систем и 3D-визуализаций.
Подробнее на сайтах SUN & CERN.
+10
Ближайшие события
Начинающим Java программистам
2 мин
1.2MПрограммирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:
Основные ресурсы для начального обучения
- www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
- www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
- java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.
+106
конфиги: XML vs. API
2 мин
2.9KЯ считаю, что использование XML в конфигах — зло и малодушие. Далее попытаюсь обьяснить почему.
-11
Как Sun спонсирует open source, часть вторая. NetBeans Innovators grant
3 мин
790Этой весной Sun вложил 1.000.000$ в развитие open-sourсe. Наша команда так же выставила на суд жюри свой проект.


+20
Как Sun спонсирует open source, часть первая
3 мин
967Этой весной Sun вложилась в open source. Было выделено 1.000.000 долларов США на стимуляцию оупенсорсной активности. Несмотря на относительную (легкая ирония) свежесть новости, я, как непосредственный участник событий, освещу несправедливо обделенную вниманием тему.




+31
тиражируемые решения
3 мин
2KТ.З. примерно следующее — необходимо иметь некоторый «быстрый старт» для приложений с стандартным функционалом. Дополнительным (и самым «заковыристым») условием является то, что этот стандартный функционал необходимо иметь возможность изменять самым невероятным образом, вплоть до полного отключения и замены своим (специфичным для данного приложения) кодом.
Приведу жизненный пример: есть необходимость делать ОЧЕНЬ похожие приложения. Например интернет-магазины, которые построены на примерно одинаковых схемах данных, бизнес-процессах и тп. Т.е. функционал любого из магазинов примерно идентичен, различается только view слой.
Однако в одном из магазинов цена формируется не из таблицы Prices, а получается по более сложной схеме из хранимой процедуры.
Собственно задача такая — как уменьшить «повторяемость кода» (т.е. отойти от monkey-patching-а) и при этом не потерять полный контроль над кодом.
Приведу жизненный пример: есть необходимость делать ОЧЕНЬ похожие приложения. Например интернет-магазины, которые построены на примерно одинаковых схемах данных, бизнес-процессах и тп. Т.е. функционал любого из магазинов примерно идентичен, различается только view слой.
Однако в одном из магазинов цена формируется не из таблицы Prices, а получается по более сложной схеме из хранимой процедуры.
Собственно задача такая — как уменьшить «повторяемость кода» (т.е. отойти от monkey-patching-а) и при этом не потерять полный контроль над кодом.
+16
Класс Money
7 мин
20KМножество приложений оперирует деньгами, но в большинстве языков программирования, в том числе и в Java, нет стандартного класса Money. Многие просто хранят денежные величины в переменный с плавающей точкой, но это плохое решение, так как всегда возникают проблемы с округлением, которые приходится каждый раз решать по-разному. Кроме того, деньги могут измеряться в разных величинах (рублях, долларах, евро и других). Нельзя складывать или сравнивать евро с рублями — это неминуемо вызовет ошибку в результате.
+14
Java — это просто! Java и SNMP
3 мин
21KПосмотрел я на не слишком объемный блог JAVA и решил, что нужно поднимать его рейтинг. К тому же многие хабрики жалуются, что «хабр уже не тот». Возникла идея написать серию статей, продвигающих идею, что JAVA — это легко! Работаю я в среде интеграторов (берем готовые «жирные» системы, связываем в единый комплекс и продаем), и частенько возникает ситуация, когда что-то невозможно решить средствами интегрируемых систем. Тогда коллеги напрявляют прожектор в ночное небо и я иду им на помощь :). Поэтому частенько приходится использовать java в разных аспектах. Начнем с работы с SNMP. Протокол SNMP используется для управления сетью.
+7
Вклад авторов
olegchir 4056.4tagir_valeev 2369.0phillennium 1516.423derevo 1271.0ARG89 1078.2spring_aio 1004.6igor_suhorukov 945.2dbelob 902.0doom369 826.0alizar 756.0