- PVSM.RU - https://www.pvsm.ru -
На JavaDay [1] в Питере меня задали вопрос: «Пригоден ли JavaFX для написания браузилок — небольших браузерных игр?» Мой ответ: «Да, конечно пригоден», — очевидно, нуждается в подтверждении. Этому и посвящена данная публикация.
В JavaFX 2.1 есть необходимые для такого рода приложений богатые возможности в области графики, анимации, поддержки медиа-контента. Для их использования не нужно изучать новый язык программирования, достаточно знания Java. API [2] сравнительно небольшой. Разобраться в основных концепциях помогут слайды с моей презентации [3]. Для всего остального есть Java community и множество доступных для языка Java библиотек.
Далее речь пойдет о развертывании приложения и добавлении его в социальную сеть ВКонтакте.
Модели развертывания JavaFX-приложений включают в себя, помимо обычного десктопного, еще два web-варианта:
Сеть ВКонтакте [5] легко позволяет использовать апплеты в качестве приложенй. Этим мы и воспользуемся.
Возьмем, для примера, приложение BrickBreaker, которое вместе с исходным кодом можно скачать с официального сайта oracle.com/javafx [6]. Открыв проект в NetBeans [7]-е и скомпилировав его, мы увидим следующее:
Содержимое папки dist:
Для добавления приложения в контакт нам потребуются все эти файлы (за исключением jnlp) разместить на каком-нибудь хостинге [8], например, на сайте Narod.ru [9]. После загрузки файлов на сервер имеет смысл проверить, что страница BrickBreaker.html доступна и запускает наше приложение прямо в браузере.
Далее идем в контакт на страницу Разработчикам [10] и нажимаем Создать приложение. Вводим название и выбираем тип IFrame/Flash приложение.
После ввода кода подтверждения переходим во вкладку Настройки, выбираем тип приложения IFrame и указываем адрес IFrame — ссылку на BrickBreaker.html с вашего сайта. Сохраняем изменения.
Приложение практически готово. Как показывает практика, оно уже будет работать и в Google Chrome 18, и в Internet Explorer 8. Однако, более осторожный Firefox 12 его заблокирует. Причина в том, что в файл dtjava.js закралась ошибка [11]: происходит обращение к top.execScript, что для кросс-доменных вложенных фреймов, вообще говоря, запрещено. Для исправления этой ситуации необходимо заменить все вхождения строки «top.execScript» на «window.execScript» в web-files/dtjava.js на вашем сервере.
Остальное — мелочи: убрать лишний текст из html файла и привести в соответствие размера апплета. Теперь Ваше JavaFX приложение работает в контакте:
С помощью JavaFX 2.1 легко создавать приложения для социальной сети ВКонтакте. В следующей публикации я покажу, как можно взаимодействовать с ВКонтакте API для получения информации о пользователе и выполнении других операций.
Автор: mrkam
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vkontakte/6975
Ссылки в тексте:
[1] JavaDay: http://www.oracle.com/technetwork/ru/javaday-spb-2012-10feb-1485738-ru.html
[2] API: http://docs.oracle.com/javafx/2/api/index.html
[3] презентации: http://www.slideshare.net/Alexander_K/javafx-21-java
[4] jnlp-файл: http://ru.wikipedia.org/wiki/Java_Web_Start
[5] ВКонтакте: http://vk.com
[6] oracle.com/javafx: http://www.oracle.com/technetwork/java/javafx/downloads/index.html
[7] NetBeans: http://netbeans.org/
[8] хостинге: http://ru.wikipedia.org/wiki/%D0%A5%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3
[9] Narod.ru: http://narod.yandex.ru/
[10] Разработчикам: http://vk.com/developers.php
[11] ошибка: http://javafx-jira.kenai.com/browse/RT-17885
Нажмите здесь для печати.