Cross-platform

"Рождественские новости"

  • На gamedev.tutsplus.com появилась статья о том, как, используя понятия момента силы, можно управлять движением космического аппарата. Будет интересна начинающим разработчикам игр
  • Рождественский эксперимент от Nicolas Barradeau, написанный с использованием three.js и Haxe. Весь контент в демке сгенерирован процедурно
  • Santa’s Christmas Presents - рождественская игра от Эдриена, написанная с использованием HaxeFlixel
  • ZoriON - еще одно рождественское приложение от Josu Igoa
  • Все еще не ощущаете духа Рождества? Тогда вот вам пазлы для iOS и Android от Майка Робинсона
  • Если вы оказались в Восточном Лондоне (а вдруг :) ), то полюбуйтесь на Рождественские проекции Hackney. Вот небольшой пост о ней, а вот еще более краткий пост в гуглоплюсе
  • Думаете, что на Haxe можно писать только игры? Тогда почитайте сообщение от Михаила Иванчева о его последнем андроид-приложении - Tageshoroskop
  • ProG4mr выпустил GConsole - консоль для NME-приложений
  • Fintan показал демо-видео о том, как gruntjs помогает автоматически собирать js-приложения и сразу же обновляет окно браузера (почти что live-кодинг)
  • Вышел FlashDevelop 4.2.2 с некоторыми приятными добавлениями для работы с файлами
  • Nicolas Cannasse написал статью в своем блоге о своем stage3D-движке и перспективах его развития. Похоже, что в следующем году нас ждет много чего интересного!
  • Михаил Иванчев, как и обещал, сделал подарок на Рождество Haxe-сообществу - выпустил Haxe биндинги для кроссплатформенного движка GamePlay. Работа пока не окончена (и версия 0,7 говорит сама за себя), пока что возможно скомпилировать проект только под Linux, Android и 32-битную Windows.
  • Andrew напомнил о том, что на Хабре вышла интереснейшая статья о лив-кодинге в NME (как я мог забыть?!)

Релиз NME 3.5.0

Рождественский подарок от Джошуа Граника и команды - релиз NME 3.5.0.

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

Update: уже вышла версия 3.5.1, которая исправляет проблемы выявленные сразу после релиза. См. комментарии.

Для HTML5 кроме исправления ошибок, и проблем совместимости, добавлена поддержка requestAnimationFrame и реализация drawTiles для canvas...

Вторая неделя декабря в мире Haxe

Подводим итоги прошедшей недели:

  • В SVN-репозитории Haxe появилось html5 API (раньше для того, чтобы им было удобно пользоваться, нужно было использовать экстерны от других разработчиков или создавать их самому)
  • А Энди Ли уже создал ветку в репозитории jQueryExtern для Haxe 3
  • Джошуа Граник, по видимому, хочет изменить адрес сайта для NME. Доказательство: в твиттере он провел опрос, какое доменное имя предпочтительнее: nme.io или nme.so (большинство выбрало первый вариант)
  • Ludum Dare прошел, но оставил после себя несколько игр-прототипов на Haxe (большинство из которых используют HaxePunk). В конкурсе также принял участие Nicolas Cannasse
  • Статья для начинающих пользователей Linux о том, как настроить IntelliJ IDEA и начать кодить на Haxe (как раз то, что мне нужно)
  • Success Story 14-летнего Эриена Манна, выбравшего Haxe для мультиплатформенной разработки
  • И подробный пост от Mr Laurent Bédubourg об использовании Flash Gaming SDK в Haxe и о создании экстернов для него (планирую перевести эту статью)
  • А тем временем в группе на Google+ уже состоит 310 человек

Новости за первую неделю декабря 2012

Официальный релиз Haxe 2.10 и NME 3.3.4

Вчера, 16.07.2012, официально вышла новая версия Haxe, отличиями которой являются:
- Java и C # таргеты, пока что находятся в стадии бета-версии (окончательная реализация ожидается в Haxe 3.0). Cauê Waneck работает также над библиотеками hxjava и hxcs.
- Уменьшение размера генерируемого Javascript-кода. В качестве примера его работы приводится простой пример Hello Haxe, в результате скомпилированный код будет состоят всего из 7 строк.
- Улучшение механизма макросов, упрощающее их использование и понимание.
- C++ дебаггер.
- Множество небольших улучшений языка:
прямая инициализация свойств и переменных
использование using теперь подразумевает использование import
подклассы теперь могут расширять видимость методов
и др.
- И, конечно же, множество исправлений ошибок, оптимизаций и т.д.
Полный список изменений доступен здесь.

Сегодня, 17.07.2012, также вышла версия 3.3.4 библиотеки NME с улучшенной поддержкой BlackBerry, iOS, HTML5, документацией и др.

Box2D на NME?

Попытался портировать туда свою любимую обертку вокруг Box2D - QuickBox2D и столкнулся с рядом траблов, один из которых наличие нескольких разных портов.

Try Haxe!

Всем привет!

Совсем недавно в гуглгруппе прошла очень интересная тема - онлайн редактор с автокомплитом и сборкой http://try-haxe.aaaliasing.net/
По моему это отличная штука для продвижения haxe. И хотелось бы, чтобы все ее знали и использовали. Проект опенсурс и рад любой помощи.
Кроме автокомплита по ctrl-space, есть и хоткей на сборку ctrl-enter.

П.С. Со своей стороны я закоммитил автору простенький шаринг и поддержку haxelib в проекте. Надеюсь так они скорее появятся.

Aswing под Nme

Прогресс китайской нации не стоит на месте - paling на haxe.org выложил ссылку на бету haXeAsWing, теоретически работающую с NME.

Когда будет время, попробую собрать.

Релиз Haxe 2.09

В субботу 14 апреля на конференции WWX в Париже Николя Канасье объявил о релизе новой версии Haxe 2.09

Отдельно отмечается, что начиная с этой версии, Haxe включает сервер компиляции. Это возможность для создателей IDE и плагинов, улучшить как скорость компиляции так и скорость автоматических подсказок при написании кода на Haxe. (подробнее)

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

  • новые пакеты sys.io и sys.net + класс высшего уровня Sys
  • Reflect.getProperty/setProperty
  • кроссплатформенные haxe.Json and haxe.Utf8
  • source mapping для отладки haxe->JS и --js-modern (подробнее о том, что такое source maps для html5)
  • поддержка Flash 11.2 and 11.3 + @:sound и @:file
  • серьезное улучшение скорости работы автодополнения
  • ... и другие изменения

Релиз NME 3.2

Вышла новая версия NME - 3.2.
Среди новых фич есть довольно вкусные, за что спасибо неугомонному Джошуа Гранику, который в последнее время стал просто главным двигателем haXe движения.

  • Добавлена встроенная поддержка SWF ассетов (Flash и целевые платформы на C++ ) Подробнее
  • Android приложения будут ставиться сразу на SD карту по умолчанию.
  • Улучшена поддержка специальных папок для всех целевых платформ
  • Пофиксили проблемы с "исчезающими объектами" при программном рендеринге.
  • Поддержка “template” файлов, перезаписывающих шаблоны по умолчанию для каждой цели.
  • URLLoader теперь поддерживает HTTP POST и SSL в целях основанных на C++.
  • Tilesheet.drawTiles теперь можно пользоваться и в Flash.
  • Поддержка джойстика для Windows, Mac and Linux.
  • Улучшена тесселяция для примитивов при аппаратном рендеринге.
  • Стало возможно добавлять дополнительные iOS фреймворки через NMML.
  • Исправили автоматическую ориентацию экрана в iOS.
  • Множество других исправлений и улучшений.

Релиз моего порта Flixel

Привет всем!
Последний месяц я в свободное время занимался допиливанием порта Flixel v2.55 (движка для создания 2d-игр) на haxe. Отличительной особенностью этого порта является его ориентация на кроссплатформенность (flash и c++). Специально для этого была переработана система рендеринга (для c++), которая теперь использует метод drawTiles().
Репозиторий проекта находится здесь: https://github.com/Beeblerox/HaxeFlixel. Там же лежит порт Mode demo.

Релиз Nme 3.1

- куча исправлений
- сборка для html5 "из коробки"
- новое апи с проверкой типов ассетов nme.Assets
- поддержка нативных расширений
- команда nme setup для установки всего дополнительно необходимого для сборки проектов (например nme setup webos)
- поддержка сертификатов для android market (раньше приложение можно было подписать только отладочным ключом)
- nme.net.SharedObject для всех платформ
и многое другое

всем использующим рекомендуется сделать haxelib upgrade

Релиз haXe 2.08

Вышел haXe 2.08!
Это будет последний релиз в ветке 2.*. Следующий релиз, который пока планируется на весну 2012 будет уже называться haXe 3.0.

Что нового в haXe 2.08:

  • Серьезные улучшения в качестве получаемого js-кода в haxe -> JavaScript. (а для тех, кого и в нем что-то не устроит возможность написать собственный js-генератор с помощью макросов)
  • js.JQuery теперь стал частью стандартной библиотеки. С помощью нового тега метаданных @:overload в нем поддерживается полностью типизированный доступ.
  • весь новый API Flash Player 11 теперь доступен, с высокоуровневым haXe доступом к 3D шейдерам через HxSL а также теперь можно напрямую включать растровые изображения с помощью :
    @:bitmap("file.png") class File extends flash.display.BitmapData {}
  • два новых API для разработки на стороне сервера: URL Dispatcher и новая версия SPOD позволяющая напрямую писать SQL как haXe выражения (см. SPOD Macros)
  • множество улучшений в Макросах

Релиз NME 3.0 и HXCPP 2.08 на haxelib

Важный релиз: на haxelib обновились версии библиотек NME и HXCPP.
Особенно важен релиз NME 3.0. Главное новшество там - встроенный "install-tool" который позволяет легко собирать проекты с одним базовым кодом для разных платформ - от flash до iOS и Android. Подробнее об этом можно почитать здесь: http://haxe.ru/nme-gm2d-setup, несколько ссылок по теме я насобирал здесь: http://haxe.ru/node/338
И еще у NME недавно появился офсайт: http://haxenme.org/ там пока немного информации, но все коротко и ясно для старта.

NME - gm2d - Android - iOS... Настройка среды для кросс-платформенной разработки

Внимание! На момент эта статья уже не актуальна для тех, кто хочет просто установить стабильную версию и начать ей пользоваться. Сейчас всё гораздо проще.
Эта инфа теперь может пригодиться тем, кто хочет устанавливать и собирать версию из СВН или тем, кто хочет чуть глубже разобраться от каких мучений их избавил install-tool который сейчас входит в NME.

Публикую плоды своих изысканий и тестов настройки среды для создания кросс-платформенных проектов на haXe, позволяющих собирать из одного кода приложения для Android, iOS, webOS и конечно стандартных для haXe flash, c++ ...
Основано в основном на статьях с http://gamehaxe.com и на собственном опыте. На момент поставил такую среду на двух машинах и успешно собираю приложения для Android. В iOS тоже собираю, но с ним не всё так гладко пока.
В общем делюсь тем, с чем успел разобраться сам. Итак поехали:

  1. Если вдруг кто еще не поставил, качаем и ставим haXe: http://haxe.org/download
  2. Ставим hxcpp, nme, gm2d через haxelib:
  3. в консоли:

    haxelib install hxcpp
    haxelib install nme
    haxelib install gm2d

    эти первые два шага идентичны и для установки на Mac и на Linux (на Mac нужно еще запустить @haxelib setup@ перед установкой либ)
    дальше то, что связано с компиляций C++ нужно смотреть для каждой отдельной платформы

  4. качаем и ставим VisualStudio C++ Express. Она нужна hxcpp для компиляции сгенеренного C++ кода
  5. Update: Всё! Новые версии NME и HXCPP вышли на haxelib. так что остальную часть этого раздела можно уже не читать, а переходить сразу к настройке и сборке проекта.

RSS-материал