Планетарий

           Java для всех платформ: Java SE, Java ME, JavaFX и JavaCard

День был насыщен выступлениями IT-гуру каждое из которых было сделано в своём неповторимом стиле.

Послание от Ivar-а Jacobson-а, выдержанное в классическом лютеранском тоне, вызвало у всех участников конференции крик скорби в связи с тем, что IT индустрия до сих пор находится в поиске единой методологии разработки ПО, после чего презентация превратилась в проповедь об инженерных универсалиях, применимых в процессе создания программ. К сожалению разум Главного Лектора Планетария после долгих и в целом безуспешных попыток найти подобную универсальную вещь, сломался, и чтобы хоть как-то сохранить свою значимость в теле хозяина, выдал старый и проверенный результат: все в Шелл.

Далее выступал евангелист Bob Martin, он так отчаянно пытался убедить всех в своей правоте, что даже несколько раз вызвал смешки в зале, хотя его речь была посвящена таким злободневным темам, как "Разработчики против Менеджмента" и "Как выжить в бедовом проекте". Слушая это выступление Главный Лектор постоянно ловил себя на мысли, что выступающий страдает глоссолалией, уверенность в этом особенно возросла, когда Боб дал дельный совет о том, как писать крутой код, в котором тестировщики не смогу найти ни одной ошибки.

День продолжился в стиле Башни Вавилонской, началось всё с замечательного демо по загрузчикам Java классов, но похоже, что подготовка демо завершилась всего за пару минут до начала презентации, поэтому что-то пошло не так, отдадим должное ведущему, у которого оказалось достаточно выдержки, чтобы предложить аудитории отладить и исправить его "сломавшуюся" программу; потом пришёл черёд Stephen-а Chin-а, с его изумительным JavaFX рассказом о потрясающих компонентах, разработанных в рамках проекта JFXtras (мы уже рассказывали вам об одном из них - JavaFX столе, на котором уже размещено более 16 миллионов объектов), после презентации ребята из проекта FEST видели его бегающим между презентационными комнатами, задающим бесконечное число вопросов и раздающим направо и налево подарочные футболки.

Если вдруг вы всё-таки были на конференции, то не могли не заметить тот сюр, который устроили четыре гика в шляпах, танцующих под песни Rick-а Astley, а если заметили, то это значит, что вы участвовали в живой записи выступления команды JavaPosse. Понятное дело, на этой презентации было сказано много добрых слов о Scala, скором выходе Java EE 6 (10-е Декабря уже скоро), безусловно досталось процедурам замыкания, ну зачем вам пересказывать всё, если вы там были? А если не были - дождитесь, пока из записи уберут все нецензурные выражения и выложат в общий доступ: обязательно скачайте - не пожалеете.

И в конце нашего выпуска не можем не отметить зажигательное выступление Stephan-а Janssen-а на конференции Devoxx.

Программирование в ограничениях (Constraint Programming) является видом декларативного подхода к созданию приложений. Особенностью данного подхода является то, что Вы задаёте условия, которым должно соответствовать решение проблемы, вместо того, чтобы определять набор шагов и алгоритмов, необходимых для нахождения этого решения. Уважаемый Deng Xiaoping в своё время достаточно подробно рассказывал об этом. Это очень похоже использование данных о погодных условиях мореплавателями, или же на применение результатов анализа экономических маркеров при составлении политики Центрального Банка, эти условия фактически становятся комплексом ограничений, накладываемых на взаимоотношения внутри тщательно отобранного набора переменных, что позволяет найти одно или несколько решений поставленной задачи.

Существуют различные библиотеки для языка Java, которые могут быть полезны при написании программ, работающих согласно данной парадигме, например Choco или Constrainer - и это всего лишь две самых популярных, а есть и ещё. И, нужно отметить, что интерес  к подобному стилю программирования в последнее время растёт.

Но не бойтесь - хаоса не будет - буквально вчера организация JCP дала разрешение на старт разработки стандартизированного Java API, который будет использоваться при Программирования в Ограничениях.

Мы ни секунды не сомневаемся в том, что Вы уже знаете, как можно вытащить апплет из этой вэб страницы, и какую версию Java нужно для этого использовать.

Но знаете ли Вы, как нужно изменить апплет, чтобы его можно было не только вытащить, но и вернуть назад? Какие нужно сделать изменения в коде, чтобы апплет "знал" поддерживает ли версия Java, запускающая его, функцию перетаскивания? И знаете ли Вы, что теперь не нужно заставлять пользователей удерживать кнопку ALT при перетаскивании?

Если не знаете, тогда бросайте всё и бегом на страницу технических советов от Javafx.com.

То, на сколько привлекательно расставлены в магазинах продукты по полкам, является лишь финальным звеном целой цепочки сложнейших операций, посредством которых товары оказываются на прилавках. И от того, на сколько хорошо сделана эта цепочка, зачастую зависит успех всего магазина.

Давая возможность заглянуть в самый дальний Склад нового онлайн магазина Java приложений, Bernard Traversant расскажет Вам, как разработчики, пишущие на Java и JavaFX, могут выставлять свои программы на продажу. Вы узнаете о том: какую сопроводительную информацию потребует от Вас магазин (наличие/отсутствие экспортной лицензии или же версию платформы для Вашего приложения); как лучше оформить прилавок с Вашими продуктами (как красиво составить краткое описание программы, какие иконки добавить, ну и, безусловно, какую цену назначить); как красиво упаковать приложение в один JAR - архив (внимательные читатели уже знают, что с этой задачей успешно справляется NetBeans 6.7.1); и о многом другом, потратив немного своего драгоценного времени на этот ресурс.

Всем, кто интересуется тем, как можно использовать JVM для запуска языков отличных от Java, или кто пробовал разобраться с тем, как виртуальная машина общается с родной для неё Java и, безусловно, всем инженерам, кто хоть раз занимался разработкой языков программирования, в обязательном порядке нужно посетить ежегодный саммит JVM Language.

Не знаете о чём будут говорить на Саммите? В прошлом году обсуждались следующие темы: использование языка Clojure, запуск PHP на JVM, сложности использования Ruby в рамках JVM, а также JVM и процедуры Замыкания. Несложно догадаться о том, что ни на одной конференции, посвящённой данной сфере IT индустрии, Вы не сможете встретить такого количества экспертов.

В этом году формат Саммита был несколько изменен и теперь включает в себя ещё больше интерактивных семинаров, что поможет, вместе с традиционными презентациями, ещё эффективней проповедовать ключевые идеи мероприятия.

Вы всё ещё сомневаетесь в полезности Саммита? Перестаньте! Ибо John и в этом году ограничить число участников числом 100. Поэтому - скорее регистрируйтесь здесь.

JDK 7: Проект Jigsaw и classpath

Категории: java jdk on вторник авг 04, 2009

Из года в год разработчики, при попытке использовать Java classpath, сталкиваются с проблемами, решение которых будет равносильно решению старой задачи о квадратуре круга. Сначала всё не так уж и плохо - мы имеем дело со вполне линейной зависимостью. Но, со временем, наше приложение становится всё больше и больше, оно уже использует несколько библиотек, которые используют другие библиотеки, а те зависят от ещё одних библиотек... и тут наступает хаос.

Как хорошо, что был создан проект Jigsaw. Дождитесь JDK 7 и Вам станет доступна более адекватная модель использования библиотек, она убережет Вас от попыток найти решение неразрешимого.

А межу тем, на странице Joe Вы сможете прочесть великолепную заметку о трёх составляющих Java classpath.

Scala: всё только начинается?

Категории: java jdk multilanguage on понедельник авг 03, 2009

Если Вы думаете о том, чтобы пополнить своё резюме ещё одним языком программирования, тогда обратите внимание на эту дискуссию о новом языке Scala, который многие прочат в приемники Java, на InfoQ Вы сможете найти небольшое резюме на эту тему, а уважаемый James Strachan ('Groovy' - мастер) продолжил обсуждение вот здесь.

Scala сочетает в себе преимущества объектно-ориентированного и языка функционального программирования, впрочем, как и многие другие JVM языки. Но, в отличие от многих современных JVM языков, он использует статическую типизацию. Подобный подход реализован на других платформах, таких как .NET, или Android, но изначально его имплементацию можно было увидеть исключительно в виртуальной машине Java SE 6. Со времён своего первого релиза в далёком 2003, язык прошёл через несколько итераций поступательного развития, и, хотя программы на Scala используют API языка Java, уже начали появляться фреймворки раскрывающие преимущества Scala при разработке веб приложений, одни из них - Lift.

Команда NetBeans похоже не собирается отставать от прогрессивного мира, и тоже добавляет поддержку Scala.

Ну, теперь у Вас есть все шансы узнать, сможет ли Scala стать достойным приемником Java.

G1: весьма бодрый сборщик мусора

Категории: java javase jdk7 on пятница июл 03, 2009

Долгое время Вам рассказывали о том как круты виртуальные машины Java. Как здорово они масштабируются, как мощно они работают под самыми различными нагрузками. Сейчас, во времена, когда гонка за частотой центрального процессора, подходит к своему логическому финишу, крутость JVM может спасти лишь правильное управление ресурсами многоядерных систем.

Как известно, автоматическое управление ресурсами памяти в JVM, за которое отвечает сборщика мусора, - является наиболее важным фактором, обеспечивающим масштабируемость виртуальной машины. Посетив этот замечательный ресурс - пытливый читатель узнает, что в природе существует несколько видов маленьких трудяг, усердно очищающих память.

Новый (бесплатный) сборщик мусорка "Hotspot Garbage First collector" на данный момент находится в состоянии бета и, для ознакомления, включён в билд Java SE 6u14, а в JDK 7 он будет доступен уже в виде готового продукта. И, должны Вам сказать, что это будет  ещё та штучка, - использующий принцип группировки по возрасту объектов , принцип сжатия, работающий в параллели с основным процессом, он придёт на смену существующему сборщику - CMS и будет чистить, чистить и чистить (все подробности - здесь).

А те, кто уже опробовал новинку, весьма и весьма довольны продуктом!

Java ME. Дефрагментация

Категории: java javame on вторник июн 30, 2009


Хорошая новость для тех, кто жаловался на фрагментацию в Java ME, надеемся, что Вас обрадовал факт создания организации JATAF - группы, объединившей несколько компаний (включая Sun), вовлеченных в разработку мобильных устройств. Основной задачей группы является классификация причин, по которым имплементация, быстродействие и качество Java ME в различных устройствах различаются на столько, что даже самая лучшая API документация не может помочь заставить их работать одинаково.

Конечно, зачастую подобные организации лишь пускают пыль в глаза, имитируя активную деятельность. Но в данном случае, мы имеем дело с практическим подходом к решению проблемы - все силы группы сконцентрированы на подготовке мега-набора тестов, запуск которых возможен с помощью тест-фреймворка, базирующемся на разработке компании Sun именуемой JDTS для мобильных устройств. В состав JTDS входит около 12000 тестов для мобильных устройств, использующих Java ME и, нужно сказать, что мы давно не получали новостей об этом фреймворке. Тесты, подобные тем, что используются в JDTS,  осуществляют проверку соответствия API спецификации, что является основным требованием JCP, а также с их помощью возможно более глубокое тестирование таких условий качества, как надежность продукта и его быстродействие.

Так как JDTS - коммерческий продукт, то задачи, поставленные перед группой, было бы намного сложнее решать, если бы компания Sun не создала очередной проект с открытым кодом. Встречайте, - Java Device Testing Framework от компании Sun Microsystems! Так что, уважаемы читатели, вступайте в ряды JATAF и смело присылайте свои тесты, делая их доступными для всех. На данный момент их уже собрано более 70. Более подробную информацию Вы можете получить почитав, что пишет в своем блоге товарищ Terrence, или же прослушав последний Java Mobility подкаст.

JDK 7: Собирая Мёд

Категории: java javase jdk7 on четверг июн 18, 2009


Другой водопад новостей обрушился на наши головы после анонса JDK 7, также случившегося на JavaOne.

Так, например, нас озадачил Проект Jigsaw, который реализует принцип модульности в JDK. Многие из присутствовавших на конференции были шокированы заявлением Mark-а, о том, что Classpath - Мёртв, чтобы понять, на сколько всё далеко зашло, послушайте этот эпизод из серии JavaPosse, в котором Mark и Alex под пытками рассказывают всю правду.

Сюрпризом для многих стала презентация John-а о том, как как работает VM с многоязыковой поддержкой. Хотя у Charlie она уже давно используется в экспериментальной версии JRuby. И фреймворк ASM, предназначенный для манипуляций с байткодом уже поддерживает эту фишку. Ну, для кого ещё это не стало сюрпризом?

Дальше, проект Coin, объединяющий массу мелких дополнений к версии языка Java из JDK 7, более детально освещён в презентации Joe.

Также рекомендуем Вам уделить внимание этой весьма подробной заметке о NIO2, вошедшей в предварительную версию JDK 7, или просто ещё раз посмотреть презентацию Alan-а на эту тему.

И Слава Богам, наконец наши друзья перестали делать из мухи слона, освещая тему бесплатного использования G1.

Половина недели уже пролетела? День второй: всё о мобильных устройствах!

Ещё больше онлайн магазинов!

День начался с выступления представителей компании Sony-Ericsson, которые, Вы только представьте себе, тоже открывают онлайн магазин Java ME приложений! Так что, учитывая: недавний анонс от Verizon о том, что они делают доступной свою модель разработки Java ME программ, и, конечно, новость об открытии Java Store, мы можем сказать, что предсказание Планетария на счёт того, что нынешний год станет годом онлайн магазинов, действительно сбудется!

JavaFX Mobile 1.2

В новой версии JavaFX 1.2 разработчики мобильных приложений получили ускорение быстродействия: +20% в работе приложений, и на треть уменьшилось время компиляции. И, кроме этого, конечно же такие нововведения, как, например, дополнительные элементы графического интерфейса.

Во время презентации компании Sun - "Mobility keynote", Eric представил новые изумительные JavaFX приложения: ReallyMe для общения, и PayPal для совершения мобильных платежей.

Мобильники с JavaFX

Sony-Ericsson создала клиент для Twitter-a (возможно, не такой хороший, как этот) и показала, как он работает на реальных телефонах собственного производства, включая те, что используют WindowsMobile и SymbianOS. Телефоны, работающие с JavaFX Mobile 1.2 можно приобрести прямо на JavaOne, а некоторые даже раздавались на "Mobility Keynote".

Java ME

Тестирование фреймворка Java Verified будет происходить в режиме открытого кода, и сыграет главную роль в реализации анти-фрагментационной инициативы сообщества JATAF (поддержать которую сегодня решили компании Orange и Vodafone), зрители Java Utopia могли увидеть Java ME 3.0 SDK, работающую на платформе MAC и узнать о последнем релизе продукта PhoneMe M4.

Немного о том, что ждёт нас в конце года....

Мы видели JavaFX (использующий интегрированную версию Java SE для Linux) работающий на новом смартбуке компании Qualcomm, и платформу JavaFX TV запущенную на LG TV.

Категории: java javafx jdk7 on среда май 27, 2009

Главный Лектор Планетария оказался не единственным человеком, подверженным влиянию последних тенденций, но на этой неделе одна тенденция гарантировано получит своё фактическое подтверждение: не ждите новостей о Java SE, Java ME, JavaFX или JavaCard до того, как начнётся конференция JavaOne.

Но если Вы действительно любите Java и уже давно следите за новостями нашего блога, то для Вас не составит труда проследить за цикличностью роста интереса к JavaOne, которая не в последнюю очередь связана с тем, что многие компании, работающие в сфере Java технологиий, любят попридержать объявления о своих новинках до недели конференции. Также Уважаемый Читатель может легко увидеть, как вырос интерес общественности к JavaFX после Мая 2007 года, или к JDK 7 после выпуска Java SE 6 в Декабре 2006, или подтвердить свои подозрения о том, что интерес к Java TV не ослабевает (следите за новостями), впрочем, как и к постоянным обновлениям Java. Даже Проект Vector недавно продемонстрировал нам пик интереса.

И напоследок, тенденция, начало которой было положено на конференции JavaOne в 2001, получит своё продолжение в этом году - не пропустите выступление представителя компании Microsoftсовместимости с .NET).

Конференция GR8 в Копенгагене

Категории: java jdk on пятница май 22, 2009

Вот эта весьма полезная заметка описывающая то, как язык Groovy органично вписывается в Java SE 6, включающая в себя замечательный пример, иллюстрирующий процесс запуска произвольного кода, написанного на Groovy, увидела свет в конце первой конференции GR8, имевшей место в прекрасном городе Копенгаген.

Рассказ о том, как подточить Griffon для своих нужд, также выглядит весьма интересным. А хорошим примером применения этого фреймворка, интегрирующего возможности Groovy в Swing,  будет Twitter клиент, использующий Griffon. Заметка Guillaume о DSL была досконально изучена, и вызвала бурную дискуссию в Twitter-e.

Кто знает, может быть в следующем году будет продолжение ?

В самой последней сборке JDK 7 Вы увидите, что произошло с новым сборщиком мусора G1, после того, как над ним хорошо поработали инженеры Sun, не забыв исправить ряд важных ошибок.

Также в сборке будет доступна черновая реализация JSR 292, а ещё - подтверждение слухов, доступных лишь внимательным читателям Планетария: Charlie колдует над JRuby, а Frank не отстает, подкручивая Jython.

Что мы имеем в чистом остатке: сжатые указатели объектов, NIO 2 (об этой фишке Alan нам рассказывал всё, что знал в подробностях, начиная с нового API файловой системы, заканчивая слежением за direct buffers), плюс одно очень важное изменение в загрузчике классов, SDP API и реализация для Solaris, а ещё поддержку SCTP, которой посвящена статья Chris-а, датируемая сегодняшним днём, - и всё это позволяет нам говорить о том, что процесс - под контролем - мы не ударим в грязь лицом на M3, который выйдет, как раз к началу JavaOne.

Находясь в стенах Планетария Вы можете почувствовать напряжения, исходящее от наших посетителей: все они уже начали обратный отсчёт до начала JavaOne (а может быть до даты окончания конференции)?

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

Alex Miller опубликовал список занимательных тем, посвящённых JDK 7 / Java SE 7, а Terrence исчерпывающее описал то, что будет представлено в сфере мобильных технологий. Также планируется цикл презентаций, о JavaFX (тем более, что в этом году есть о чём рассказать), таких, например, как сессия Jim-а, а вообще - всё они интересные.

Надеемся увидеть Вас нас на конференции!