Haxe

нет

Начинаем работать с hxcpp (haxe c++) и Visual Studio C++ Express

Как я писал ранее, теперь haxe можно компилировать в c++ программы. Однако в интернете я нашел только один источник, касающийся связки haxe и c++ (http://blog.touchmypixel.com/2009/04/our-possible-haxe-c-plans/). Причем данный материал на английском языке и несколько устарел, т.к. ориентирован на версии haxe 2.03 и hxcpp 0.4. На момент же написания данного поста мы имеем haxe 2.04 (уже со встроенной поддержкой с++) и hxcpp 1.0.5, и взаимодействуют они уже немного по-другому.
Мне пришлось немного понервничать, устанавливая все это добро, поэтому я и решил поделится опытом. Приступаем к установке...

Вышел haxe 2.04

26 июля вышел haXe 2.04. Основное нововведение - поддержка с++ (спасибо стараниям Хью Сандерсона http://gamehaxe.com/).
Основным преимуществом программ на с++ является высокая производительность. Плюс мы еще на шаг ближе к флэш-играм на iPhone http://gamehaxe.com/2009/07/28/haxe-iphone-cpp-at-last/.
Что необходимо для того, чтобы начать работать с новой платформой, можно почитать здесь http://blog.touchmypixel.com/2009/04/our-possible-haxe-c-plans/ (на английском).
http://ncannasse.fr/blog/haxe_2.04 - здесь создатель языка haXe показывает классический пример "Hello world" для с++.

нет

нет

Баг в Haxe

Нашел один интиресный баг в haxe
main.hx:

import js.Dom;
import js.Lib;
import classes.DisplayObject;
/**
 * ...
 * @author Ekstazi
 */


class Main
{
        static var _logo:Dynamic= new DisplayObject('div');
       
        static function main()
        {
        }
}

displayobject.hx:
package classes;
import js.Dom;
//import js.HtmlDom;
import js.Lib;

class DisplayObject
{
        var obj:HtmlDom;
        public function new(name:Dynamic)
        {
                Lib.window.onload = function(e:Dynamic) {
                        Lib.window.alert(untyped __js__('typeof(name)'));
                }
                obj = Lib.document.createElement(name);
        }
       
        public function addChild(child:HtmlDom) {
                obj.appendChild(child);
                //obj.
        }
       
}

Вызывает ошибку, причина в том, что объявление статических переменных идет перед кодом:
js.Lib.document = document;
js.Lib.window = window;
js.Lib.onerror = null;

Влияние Haxe

Haxe->flash странно на меня подействовал, пишу на php - не в своей стихии, пишу на haxe->javascript - не хватает многих вещей которые были под флэш платформу. Например, нельзя просто взять и сделать lib.current.addChild(someObj), вместо этого:

package classes;
import js.Lib;
import js.Dom;

class Logo
{
        public var displayObj:HtmlDom;
        public function new()
        {
                displayObj = Lib.document.createElement('div');
        }
}

А потом в main:
lib.document.appendChild(logo.displayObj);

Стоит ли изучать haXe, перешагнув через Flash, AS, Flex..

Хочу вот поинтересоваться. Заранее прошу прощения за нубство, подобных вопросов много наверное уже задавалось, но мне к сожалению не удалось найти на них ответ.
Я не изучал ни Flash, ни AS, и не имею о них представления. Но есть желание писать крупные интернет-проекты. Почему Flex, да потому что надоело бороться с псевдо кроссбраузерностью. Но по mxml я не смог найти подходящих материалов, а английский я не знаю абсолютно(вечная проблема =( ). По haxe материалов больше и они(спасибо тем кто писал, переводил) написаны понятно.

Преимущества и недостатки haXe в сравнении с Flex-AS3-MXML

Кратко и сухо

Преимущества:

  • замысел -- один язык -- много платформ;
  • API флэш-плеера доступно в полном объеме;
  • можно использовать Flex-фреймворк;
  • значительное количество библиотек, в том числе 2 gui-библиотеки: arctic и fcomponentsfx;
  • язык более гибкий и лаконичный, с дополнительными возможностями оптимизации;
  • быстрый компилятор (заметно быстрее, чем mxmlc);
  • активное сообщество (англоязычное);

Раздел "Руководство по использованию haXe и Neko" понемногу растет

Раздел Руководство по использованию haXe и Neko понемногу растет. Добавлены небольшие примеры кода и статьи об особенностях haXe -- о локальных функциях и typedef.

нет
RSS-материал