Możliwości Haxe

Poniżej niepełna lista właściwości Haxe, która może służyć do szybkiego przeglądu możliwości języka.

Wspierane platformy

Po stronie klienta wspierane są następujące platformy.

  • Kompilacja do JavaScriptu tworzy pojedynczy plik .js
    • interaktywny debugger działający bezpośrednio na kodzie Haxe dzięki JS Source-Mapping (-debug w Haxe 2.09+)
    • redukcja rozmiaru generowanych plików dzięki --dead-code-elimination
  • Kompilacja do kodu źródłowego C++ który następnie kompilowany jest do natywnych plików binarnych
    • pozwala na tworzenie aplikacji dla iOS, Android i innych platform mobilnych
    • przykładem wartym zobaczenia jest NME
  • Kompilacja do Flasha generuje plik .swf, który zwykle działa szybciej niż stworzony w AS3 dzięki zaawansowanym optymalizacją
    • korzystaj z interaktywnego debuggera w swoim IDE (jeżeli na to pozwala) korzystając z -debug -D fdb
    • może kompilować do SWC i importować biblioteki SWF (stworzone w IDE lub zewnętrznych źródeł)
    • może kompilować się do kodu źródłowego AS3

Haxe można wykorzystać również po stronie serwera, co pozwala na współdzielenie kodu i lepszą komunikację:

  • Kompilacja do NodeJS i innych serwerowych technologii opartych o JavaScript
  • Kompilacja do PHP 5 umożliwia łatwe hostowanie aplikacji
  • Kompilacja do NekoVM tworzy pojedynczy plik .n
    • mała maszyna wirtualna o wysokiej wydajności i małe wymagania (więcej)
    • może być uruchamiany z linii poleceń lub na serwerze Apache (z mod_neko lub mod_tora)
  • Wbudowany zaawansowany ORM o nazwie SPOD Macros

Właściwości języka

Poniżej lista niektórych cech języka Haxe. Wszystkie są sprawdzane pod kątem identycznego działania na wszystkich wspieranych platformach z wykorzystaniem dużej ilości testów jednostkowych.

  • Klasyczny model Programowania Objektowego opartego o klasy (class + interface, podobnie do Javy) (więcej)
  • Silnie typowany ale wspierający Dynamic
  • Pakiety i moduły
  • Typy generyczne (parametry typów) z jednym lub wieloma ograniczeniami ale bez wariancji variance
  • Zaawansowana inferencja typów dla wszystkich zmiennych, argumentów metod i zwracanych wartości (nie dotyczy zmiennych klasy)
  • Anonimowe struktury z polimorfizmem
  • Polimorficzne metody (parametry typów dla pojedynczych metod), bez wsparcia ograniczeń
  • Opcjonalne wartości argumentów metod ze stałymi domyślnymi wartościami
  • Metody Inline i stałe inline
  • Deklaracje lokalnych funkcji z obsługą this
  • Automatyczne tworzenie domknięć
  • Potężne typy wyliczeniowe (enum) (z parametrami konstruktora)
  • Brak instrukcji : tylko wyrażenia
  • Wyjątki (try/catch)
  • Metadata
  • Częściowe wywołanie funkcji z użyciem callback
  • Getter/Setter, rozbudowane wsparcie (więcej)
  • Iniekcja method z użyciem domieszek "using" mixin
  • Kompilacja warunkowa
  • Iteratory

Więcej informacji o różnych właściwościach języka możesz znaleźć w Haxe Language Reference

Biblioteka standardowa

Haxe dostarczane jest z rozbudowaną wieloplatformową biblioteką standardową dającą dostęp m.in. do:

Narzędzia i Biblioteki

Szukasz biblioteki lub chcesz podzielić się swoją ze społecznością? Zobacz haxelib, system pakowania bibliotek Haxe
version #13943, modified 2012-05-10 09:53:37 by robertbak