Haxe 특징

이곳에 Haxe의 모든 특징이 나열되어 있지는 않습니다, Haxe로 할 수 있는것에 무엇이 있는지 확인하는 용도로만 사용하세요.

지원되는 플랫폼

클라이언트-사이드에서는 아래의 플랫폼들이 지원됩니다.

  • 자바스크립트 코드를 컴파일 할 수 있고, 결과물로 단일 .js파일을 생성합니다.
    • 자바스크립트 소스-매핑과 함께 Haxe 소스를 바로 대화식으로 디버깅할 수 있습니다. ( Haxe 2.09 이상에서 -debug )
    • 내보내는 스크립트의 크기를 크게 줄일 수 있습니다. ( --dead-code-elimination )
  • 네이티브 바이너리를 생성하고 나서 C++ 소스코드를 컴파일 할 수 있습니다.
    • iOS, Android를 비롯한 다른 모바일 타겟으로의 개발을 가능하게 합니다.
    • NME가 좋은 예입니다.
  • 플래시의 ActionScript 코드를 컴파일 할 수 있고, .swf파일을 생성합니다. 최적화가 되어있으므로 대부분 일반 ActionScript보다 더 나은 성능을 보여줍니다.
    • 당신의 IDE가 -debug -D fdb로 디버깅 하는것을 지원한다면 대화식 디버깅을 할 수 있습니다.
    • SWC와 SWF 라이브러리를 컴파일할 수 있습니다. ( IDE나 써드파티 라이브러리를 통해 지원됩니다 )
    • AS3 소스코드로 컴파일 할 수 있습니다.

서버-사이드에서 코드 공유와 팀 커뮤니케이션을 위해 Haxe를 사용할 수 있습니다 :

  • NodeJS나 다른 서버-사이드 자바스크립트 기술로 컴파일 할 수 있습니다.
  • PHP 5로 컴파일을 할 수 있어 어디에서나 효율적으로 사용할 수 있습니다.
  • NekoVM로 컴파일 할 수 있고, 결과물로 단일 .n 바이트코드 파일을 생성합니다.
    • 높은 퍼포먼스와 적은 공간을 차지하는 작은 임베드할수 있는 가상머신 입니다. ( 더 알아보기 )
    • 커맨드라인에서 실행되거나 아파치 웹 서버에서 실행될 수 있습니다. ( mod_neko 또는 mod_tora )
  • SPOD Macros라는 전문적인 ORM을 포함하고 있습니다.

언어 특징

Haxe의 일부 언어 특징이 나열되어 있습니다.
모든 기능은 모든 플랫폼에서 같은 동작을 하도록 만들어졌고 테스트되었습니다. 무수한 유닛테스트에 감사드립니다 :

  • 전통적인 객체 지향 클래스 + 인터페이스 모델 ( 자바와 비슷함 ) ( 더 알아보기 )
  • 엄격한 타입을 사용하지만 Dynamic 이라는 동적타입 지원
  • 패키지와 모듈
  • 하나 또는 여러개의 타입을 지원하는 제네릭스( 타입 매개변수 ) ( *가변성 없음 )
  • 모든 변수( 메서드 매개변수/ 리턴타입 포함 )에 적용되는 고급 타입 추론
  • 타입구조를 이용한 서브타이핑이 있는 익명 구조체
  • 엄격한 타입을 사용하는 함수타입, 함수 클로져와 부분적인 애플리케이션
  • Polymorphic Methods (per-method type parameters), no constraints supported
  • 선택적인 매개변수와 매개변수의 기본값
  • 명시적인 인라인 메서드와 변하지 않는 인라인 변수
  • this를 감지하여 지역 함수 선언
  • 자동 클로져 생성
  • 강력한 Enums - 열거형 ( 생성자 매개변수와 패턴 매칭 )
  • 문장 없음 : 표현식만 존재합니다.
  • 예외처리 (try/catch)
  • 메타데이터
  • 콜백으로 부분적 함수 호출
  • 속성과 게터/세터
  • "using" mixin으로 메서드 결합
  • 조건부 컴파일
  • 이터레이터

Haxe 언어 레퍼런스를 읽으면 더 많은 언어 특징에 대해서 배울 수 있습니다.

표준 라이브러리

배터리가 포함된 Haxe : 크로스 플랫폼 표준 라이브러리가 거의 완성되었고, 당신이 Haxe로 많은 것을 할 수 있게 합니다 :

도구와 라이브러리

어떤 라이브러리를 찾거나 커뮤니티와 공유하고 싶으신가요? Haxe 라이브러리 패키저 시스템인 haxelib를 이용하세요.

Haxe가 동작하는 방식을 커스터마이징 하고 싶다면, 이 기능들을 사용할 수 있습니다 :

  • 쉬운 IDE 통합을 위한 컴파일러 기반 완성 지원
  • 언어 커스터마이징/컴파일-타임 코드 생성을 위한 매크로
  • 커스터마이징이 가능한 JS 내보내기
  • 문서화를 위한 XML 내보내기
  • trace와 file position 지원

여기 Haxe와 같이 쓰기를 추천하는 써드파티 툴 혹은 라이브러리가 있습니다 :

version #14140, modified 2012-05-26 06:00:25 by lucidfext