Haxe: 크로스 플랫폼 개발의 최고의 비밀

게시 됨: 2022-03-11

현대 프로그래밍 언어 Hax는 일부 서클에서 잘 알려져 있지만 이 글을 읽는 많은 사람들은 들어본 적이 없을 것입니다. 그러나 틈새 시장 상태에 속지 마십시오. 2005년에 처음 등장한 이래로 충성도가 높지만 조용한 편에 속해 있어 전투 테스트를 거쳤습니다. 비즈니스, 게임 및 학문적 맥락에서 개발을 위한 실용적이고 성숙한 기능의 조합을 자랑합니다.

Disney, Hasbro 및 BBC는 Haxe를 사용하고 있는데 왜 더 많은 개발자가 Haxe에 대해 듣지 못했습니까? 아마도 그것의 다재다능함은 Haxe 프로그래밍 언어를 위한 하나의 단일 "킬러 앱"이 없다는 것을 의미합니다.

아니면 가장 초기의 킬러 앱 중 하나(죽어가는 Flash 플랫폼에서 멀어지는 마이그레이션 경로)가 어떤 면에서는 틈새 시장이기 때문일 수도 있습니다. 유서 깊은 캐주얼 게임 시장은 Adobe의 불확실성의 그림자 아래 지난 몇 년 동안 뒤죽박죽이 되어 왔으며 이제 Flash 기반의 모든 것이 2020년까지 공식적으로 움직여야 한다는 것이 마침내 분명해졌습니다.

비즈니스 소프트웨어 엔지니어와 웹 개발자(사실 많은 게임 개발자도 마찬가지)는 "Flash"를 듣고 즉시 꺼릴 수 있습니다. 따라서 Haxe Foundation은 FlashDevelop IDE를 가져와 Haxe IDE인 HaxeDevelop로 더 많이 리브랜딩했습니다.

그러나 연관성을 떨쳐버리기는 어려울 수 있습니다. 특히 연관성이 계속해서 지속되는 경우에는 더욱 그렇습니다. 예를 들어, 소셜 게임의 사용자 수가 7,500만 명에 달하는 FlowPlay는 최근 2년 동안 Flash에서 140만 줄의 코드를 전환하기 위해 Unity 대신 Haxe를 선택하고 HTML5를 선택했습니다. (자세한 내용은 사례 연구에서 확인할 수 있습니다.)

Haxe Foundation이 이와 같은 사용 사례를 강조하면서 게임이 아닌 소프트웨어 개발자에게 여전히 호소력을 발휘하는 것은 어려울 수 있습니다. 그러나 그것이 당신을 약간의 탐색에서 방해하도록 두지 마십시오.

Hax의 큰 장점은 무엇입니까?

Debian 프로젝트는 Hax를 "보편적인 프로그래밍 언어"로 설명합니다. 그것에는 몇 가지 측면이 있습니다.

일반적으로 Haxe 언어는 (좋은) 코드를 재사용한다는 의미 입니다. 내 말은: 많은 플랫폼에서 Haxe 코드를 재사용할 수 있고, 기존 Haxe 및 비 Haxe 코드와 통합할 있으며, Haxe 언어는 형식 안전성과 같이 검증된 많은 패러다임을 제공합니다.

다용성 테마를 계속해서 살펴보면, 이는 물론 플래시 마이그레이션은 제쳐두고 몇 가지 주요 사용 사례 범주로 변환됩니다.

크로스 플랫폼 앱 또는 게임을 처음부터 개발합니다. Haxe는 단일 언어 소스 기반에서 데스크탑, 모바일 및 웹 플랫폼을 모두 대상으로 할 수 있습니다. 크로스 플랫폼 프로그래밍 언어는 새로운 것이 아니며 크로스 플랫폼 데스크톱 및 모바일 앱과 게임을 위한 전문 솔루션이 있습니다. 그러나 Haxe는 여러 플랫폼뿐만 아니라 HTML5 및 기본 바이너리와 같은 여러 패러다임을 대상으로 할 수 있다는 점에서 조금 더 특별한 작업을 수행합니다.

"그들을 모두 지배하는" 하나의 언어. Tolkien 참조를 용서하십시오. 그러나 Node.js가 웹사이트의 프론트 엔드와 백엔드에서 동일한 언어를 사용하는 시대를 환영했던 것처럼 클라이언트-서버 아키텍처와 유사한 프로젝트를 가진 모든 프로젝트는 양쪽 모두에 Haxe를 사용할 수 있습니다.

예를 들어 웹 앱 FontStruct는 프론트 엔드의 HTML5 캔버스와 백 엔드의 Java2D를 통해 그리기 모두에 Haxe를 사용합니다. (하지만 언급했듯이 이 접근 방식은 선택 사항입니다. Hax는 사용자를 묶지 않도록 설계되었기 때문에 기존의 비 Hax 코드와도 잘 작동합니다.) 모든 컨텍스트, 플랫폼에서 앱, 게임, 비즈니스 및 렌더링 로직까지 일관성을 유지하고, 출력 언어는 이런 식으로 훨씬 쉽습니다.

JavaScript에서 벗어나 유형 안전성을 확보하십시오. 잠깐, 이것이 TypeScript의 용도가 아닙니까? 예, JavaScript 출력으로 제한을 유지하려는 경우. 이와 대조적으로 Haxe 언어는 Java, C++, C#, Python 및 Lua 등으로 변환할 수도 있습니다.

한편 Haxe 프로그래밍 언어는 JavaScript에서 배우기에 충분히 쉽습니다. 그 구문은 Rebol과 같은 거대한 패러다임 전환을 의미하지는 않지만 그러한 전환의 이점에도 불구하고 말입니다. Haxe의 핵심 개발자인 Dr. Andy Li는 TypeScript와 Haxe 사이에 더 심도 있는 비교를 작성했는데 이는 두 언어 모두 계속 발전하고 있지만 오늘날에도 여전히 유효합니다.

컴파일러를 위한 매우 빠른 워크플로. 이것은 더 최근에 추가된 부분입니다(Neko가 이전에는 옵션이었지만): HashLink는 매우 빠른 컴파일 속도와 런타임 시 충분한 성능 사이의 균형을 맞추는 크로스 플랫폼 가상 머신(VM)입니다. 3D 게임처럼. 그러나 웹 쪽에서도 Haxe는 컴파일 타임과 런타임 모두에서 TypeScript보다 성능이 뛰어납니다.

흥미진진한 국경. Haxe 자체는 오픈 소스이며 항상 새로운 언어 기능이 추가되는 활발한 커뮤니티를 보유하고 있습니다. 자체적으로 가장 잘 보관된 하위 비밀은 컴파일 시간 매크로 시스템일 수 있습니다. 이 매크로 시스템에는 많은 흥미로운 사용 사례가 있어 원하는 대로 메타 프로그래밍할 수 있습니다. (아래에서 몇 가지 예를 언급합니다.)

누가 Haxe를 사용하고 있습니까?

우선 게임 개발자를 위한 것은 물론입니다. Madden NFL Mobile, Evoland II, Double Kick Heroes… 이러한 게임과 수백 개의 다른 게시된 게임이 Haxe를 사용하여 개발되었습니다. 그러나 Hax는 게임 영역 밖에서도 파장을 일으키고 있습니다.

  • 2014년에 TiVo 는 Haxe를 사용하여 TiVo Premiere 상자의 성능을 30% 이상 높였습니다.
  • Haxe 기반 "스마트 TV" 시스템(둘 다 대규모 사용자 기반)을 위한 DAZN 및 Telecine 을 고객으로 포함하는 Massive Interactive는 수년간 Haxe를 사용해 왔습니다. 그들의 UI 아키텍트인 Philippe Elsass는 대규모 웹 프로젝트 작업 경험에서 Haxe가 TypeScript보다 사용하기 쉽고 컴파일 속도가 약 10배 더 빠른 경향이 있다고 말했습니다.
  • Synolia는 주요 프랑스 브랜드 Carrefour와 La Fnac, 그리고 Nickelodeon에서 사용하는 온라인 사용자 정의 도구 Heidi에 Haxe 언어를 사용합니다. Synolia에 따르면 Haxe 툴킷을 사용하여 Flash에서 HTML5로의 전환을 효율적으로 관리하는 동시에 모바일 영역에서 새로운 비즈니스 개발 기회를 잡을 수 있었습니다. Heidi는 SaaS 애플리케이션인 Haxe 툴킷을 사용하여 앱의 다양한 계층과 서비스 간에 공통 소스 코드를 공유할 수 있었습니다.
  • 다국적 기업 Docler Holding 은 2017년 Haxe 재단의 전략적 파트너가 되었습니다.

Haxe 생태계는 어떤가요?

게임과 Hax에 관해서는 오픈 소스 프레임워크 및 라이브러리 측면에서 넓고 넓은 세상입니다. 독립 인디 팀에서 국제 클라이언트가 있는 성공적인 스튜디오에 이르기까지 Haxe 사용자는 모든 곳에서 코드를 공유하고 있습니다.

  • Flambe는 Disney, Coca-Cola 및 Toyota와 같은 브랜드에서 HTML5 게임을 개발하는 데 사용됩니다.
  • Heaps는 최근 Northgard에서 히트한 3D 전략의 이면에 있는 고성능 게임 프레임워크입니다.
  • 수백만 개의 모바일 게임 플레이를 지원하는 빠른 개발 라이브러리 awe6는 아마도 숨겨진 보석 안에 숨겨진 보석일 것입니다.
  • 데스크탑과 모바일 외에도 XBox One, Nintendo Switch, PlayStation 4를 대상으로 할 수 있는 Kha는 20개 이상의 게임 엔진을 구축했습니다. 여기에는 완전한 Blender 통합이 있고 최근에 자체적으로 오픈 소스가 된 Armory가 포함됩니다.
  • 원래 Flash용 이전 Flixel 라이브러리를 모델로 한 HaxeFlixel은 침목 히트 Defender's Quest 와 같은 게임에서 인기 있는 선택입니다.
  • 몇 년 전 Angry Birds의 Facebook 포트에 사용된 프레임워크인 Gamua의 Starling에는 이제 오픈 소스 Haxe 포트가 있습니다.
  • Flash API를 기반으로 하는 OpenFL은 또한 추가 라이선스 비용 없이 PlayStation 4, PlayStation Vita, XBox One 및 Nintendo Switch와 같은 여러 콘솔을 대상으로 하는 방법이 될 것입니다. HaxeFlixel과 Starling은 모두 OpenFL을 기반으로 구축되었지만 일부 게임은 수상 경력에 빛나는 Papers,Please 와 같이 OpenFL에서 직접 개발되었습니다.
  • OpenFL이 수년 전에 분기된 NME인 NME는 여전히 주요 버전을 출시하고 있습니다.
  • 아마도 HaxePunk(FlashPunk에서 파생됨)가 GitHub의 Release Radar 블로그에 소개되었을 때 보셨을 것입니다.
  • 고도로 최적화된 Nape Physics Engine은 보다 정교한 물리학이 필요한 모든 2D 게임 엔진 또는 시뮬레이터에 적합합니다.

물론 게임 개발 장면은 Haxe 언어 생태계에서 더 눈에 띄는 부분입니다. (아마 이것은 Ludum Dare와 같은 게임 잼의 특성 덕분입니까?) 그러나 비즈니스 측면과 기업 측면에서도 나타나고 있습니다. 예를 들어:

  • 모듈식 앱 프레임워크 hexMachina는 다른 많은 기능 중에서 DSL(도메인 특정 언어) 사용 및 MVC(모델 보기 컨트롤러) 아키텍처를 지원합니다.
  • UI 레이아웃 엔진 HaxeUI는 활발히 발전하고 있으며 기업의 지원을 받고 있습니다. 3DVista 및 Kaizen for Pharma와 같은 제품에는 프로덕션 앱이 함께 제공되었습니다.
  • 유일한 것은 아니지만 thx.core 라이브러리와 관련 라이브러리는 Lodash가 JavaScript용으로 하는 것처럼 Haxe에 대한 범용 확장을 제공합니다.
  • JavaScript에 대해 말하자면, 이를 대상으로 하는 Haxe 프로젝트는 Haxe Modular를 활용하여 이점을 얻을 수 있습니다. Haxe Modular는 Telecine과 FlowPlay가 클라이언트 측에서 빠른 로드를 유지하면서 거대한 프로젝트를 확장하는 데 도움이 되었습니다.
  • Haxe의 생태계는 또한 현재 기술과의 인터페이스를 위해 계속 진화하고 있습니다. 예를 들어, 이제 GraphQL 라이브러리가 있습니다.
  • 마지막으로 모범적인 Tinkerbell은 모든 종류의 유용한 작업에 Haxe의 매크로 시스템을 활용합니다. 웹 라우팅, 단위 테스트, SQL 포함을 위한 프레임워크와 템플릿 및 CSS 선택기 구문 분석에서 비동기/대기 및 낮은 학습 곡선 반응 상태 처리에 이르기까지 모든 것을 위한 라이브러리가 있습니다.

이것들은 Haxe 언어 사용자들이 지금까지 취한 방향 중 일부에 불과합니다. Haxe.org는 인기도순으로 정렬된 전체 라이브러리 목록을 유지 관리하며 태그별로 탐색할 수도 있습니다. 그러나 Haxe Foundation 자체에서 유지 관리하는 몇 가지 프로젝트도 강조할 가치가 있습니다.

  • DevOps 각도의 경우 공식 Haxe Docker 리포지토리가 있습니다.
  • 안정성 면에서 주요 버전 업데이트가 있더라도 Haxe 4는 Haxe 3에 의존하는 프로젝트를 가진 사람들을 위해 약간의 호환성 도움이 될 것입니다.

다 좋은 것 같지만 시스템에서 개발 환경을 운영하는 것은 어떤가요?

Haxe 빠른 시작

Win, Mac 또는 Linux의 경우 첫 번째 단계는 Haxe를 다운로드하는 것입니다. 설치 프로그램은 다음과 같은 몇 가지 다른 사항을 제공합니다.

  1. Haxe 컴파일러 자체 , 터미널 또는 명령 프롬프트에서 haxe 를 실행할 수 있습니다.
  2. Haxe 표준 라이브러리 , 낮은 수준의 기본 사항을 허용하지만 일부 높은 수준의 범용 지원도 가능합니다. 예를 들어, 여기에서 XML, ZIP 처리 및 MySQL 액세스가 모두 용이해집니다.
  3. Haxelib 패키지 관리자 , haxelib 명령을 통해 새 패키지를 설치할 수 있습니다. (참고: Haxelib가 제공하는 것보다 더 고급 패키지 관리를 위해 lix를 확인하는 것도 가치가 있습니다. 특히 전문적인 맥락에서 Haxe 사용을 고려하고 있다면 더욱 그렇습니다.)
  4. 빠르고 효율적인 재컴파일 및 디버깅을 허용하는 가상 머신 타겟인 Neko .

(즉, 설정하는 방법은 여러 가지가 있습니다. 예를 들어 이미 npm 이 설치되어 있는 경우 OpenFL의 설치 지침에는 Yeoman 명령을 통해 Haxe를 설치하는 옵션이 있습니다. Homebrew와 Chocolatey도 비슷한 경로를 제공합니다.)

어쨌든 Haxe가 있으면 명령줄에서 단독으로 사용할 수 있지만 개발자는 종종 IDE 사용을 선택합니다. FlashDevelop/HaxeDevelop은 여전히 ​​주로 Windows에서만 지원됩니다. 대부분의 다른 옵션은 플랫폼 간(Win/Mac/Linux)입니다.

  • VSCode의 Haxe 플러그인은 잘 지원됩니다.
  • IntelliJ IDEA에는 Hax 플러그인도 있습니다.
  • 게임 프레임워크 Kha에는 Kode Studio(Win/Mac/Linux)라는 자체 IDE가 있습니다.
  • Sublime Text와 Atom에는 다른 많은 편집기와 마찬가지로 Haxe 플러그인이 있으며 그 중 일부는 플랫폼에 따라 다릅니다.

이 빠른 시작 가이드의 목적을 위해 VSCode를 사용하겠습니다. Ctrl+P를 통해 Haxe 확장 팩을 얻고 ext install haxe-extension-pack 하는 것이 가장 간단할 수 있지만 미니멀리스트라면 기본 Haxe 플러그인 자체에 대해 ext install vshaxe 를 확장 설치하고 둘 중 하나를 선택하고 선택할 수 있습니다. 원하는 팩의 다른 부분.

Haxe 프로젝트 만들기

Haxe 언어는 여러 대상으로 변환할 수 있으므로 빌드 파일을 사용하여 각 대상에 대해 수행하는 방법을 더 쉽게 관리할 수 있습니다. 그러나 시작하려면 확장자가 .hx 인 단일 Haxe 클래스 파일만 있으면 됩니다.

여기에 넣을 코드는 try.haxe.org에서 Array Comprehension 예제를 가져와 Test.hx 라는 파일에 넣습니다.

 class Test { static function main() { var a = [for (i in 0...10) i]; trace(a); // [0,1,2,3,4,5,6,7,8,9] var i = 0; var b = [while(i < 10) i++]; trace(b); // [0,1,2,3,4,5,6,7,8,9] } }

이제 Test.hx 의 위치에서 Haxe를 해석 모드로 실행할 수 있습니다. 즉, 변환하지 않고 두 trace() 호출의 출력을 볼 수 있습니다.

 $ haxe -main Test --interp Test.hx:4: [0,1,2,3,4,5,6,7,8,9] Test.hx:8: [0,1,2,3,4,5,6,7,8,9]

좋아요, 작동합니다!

Haxe 코드를 JavaScript로 변환

귀하의 웹 페이지에서 JavaScript를 통해 이 정보를 전 세계와 공유하고 싶다고 가정해 보십시오. 이것은 Hax에 내장되어 있으며 다음과 같이 쉽습니다.

 $ haxe -main Test -js haxe-test.js

Node.js가 설치되어 있으면 다음과 같이 명령줄에서 출력을 확인할 수 있습니다.

 $ node my-cool-test.js [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

그렇지 않으면 haxe-test.js 의 코드를 사용할 준비가 된 것입니다. 웹 페이지에 포함하려는 경우 로드 시 웹 브라우저의 개발자 콘솔에 출력이 표시됩니다.

네이티브 바이너리로 트랜스파일 및 컴파일

개발 중인 데스크탑에 대한 기본 바이너리도 원한다고 가정해 보겠습니다. 이를 위해 우리는 C++ 타겟으로 트랜스파일할 것이므로 C++(설치했다고 가정)를 사용하여 .cpp 출력을 네이티브 바이너리로 컴파일할 수 있습니다. 이를 위해서는 hxcpp 가 필요하므로 설치해야 합니다.

 $ haxelib install hxcpp

그 후 다음 명령을 사용하여 트랜스파일과 컴파일을 동시에 수행할 수 있습니다.

 $ haxe -main Test -cpp bin

그러면 바이너리를 실행할 준비가 됩니다.

 $ bin/Test Test.hx:4: [0,1,2,3,4,5,6,7,8,9] Test.hx:8: [0,1,2,3,4,5,6,7,8,9]

(Windows에서는 대신 bin\Test.exe 가 됩니다.)

Haxe 빌드 파일(.hxml) 생성

암시적인 확장자에도 불구하고 .hxml 파일은 HaxeDevelop 및 FlashDevelop에서 사용하는 .hxproj 파일과 달리 XML이 아니지만 이 기사에서는 다루지 않을 것입니다. 다음은 위에서 수행한 트랜스파일을 수행하기 위한 build-all.hxml 의 모습입니다.

 -main Test # tells Haxe our main class is Test (case-sensitive) --each # all of the above commands will be applied to each target -js haxe-test.js # our first transpilation target --next # no other options, time to move to the next target -cpp bin # our second transpilation (and compilation) target

접두사의 차이점에 유의하십시오. -main , -js-cpp 는 각각 haxe 에 직접 전달하는 매개변수이고 --each--next (하이픈 2개)는 메타 수준에 있으며 컴파일러에게 수행할 작업을 알려줍니다. 다른 매개변수와 함께.

이제 haxe build-all.hxml 을 실행하기만 하면 JavaScript와 기본 대상을 모두 공격할 수 있습니다.

JavaScript로 변환한 다음 Node를 사용하여 즉시 결과를 실행하려면 haxe run-js.hxml 을 실행할 수 있습니다. 여기서 run-js.hxml 은 다음과 같습니다.

 -main Test -js haxe-test.js -cmd node haxe-test.js

마찬가지로 기본 바이너리의 "빌드 및 실행"은 다음과 같습니다(Linux의 경우, 즉 Windows의 경우 변형이 필요함).

 -main Test -cpp bin -cmd bin/Test

VSCode는 어떻습니까? 그 부분은 간단합니다. 설치한 확장은 이러한 .hxml 파일을 자동으로 선택하여 드롭다운에서 자동 생성된 빌드 작업( tasks.json )을 제공하므로 사용할 빌드 파일을 선택할 수 있습니다.

참고: 여러 VSCode 창이 열려 있는 경우 주의해야 합니다. 이 글을 쓰는 시점에서는 Ctrl+B를 통해 빌드할 때 문제가 발생할 수 있습니다. (계속해서 명령줄을 사용할 수 있습니다. 문제 없습니다.)

헥스 4

위의 설정을 따랐다면 다운로드 페이지에 Haxe 설치 프로그램의 3.x 및 4.x 분기에 대한 링크가 포함되어 있음을 알 수 있습니다.

Haxe 컴파일러의 최신 버전 4는 많은 새로운 기능을 제공합니다. 한 경우에 이것은 매크로 시스템의 힘에 대한 증거이기도 합니다. Haxe 컴파일러는 짧은 람다 함수에 대한 지원이 부족했기 때문에 slambda 라이브러리는 매크로를 통해 지원을 구현했습니다. 버전 4부터 지원이 컴파일러에 내장되어 있으며 라이브러리는 더 이상 사용되지 않습니다.

그렇다면 Haxe 4는 또 무엇을 제공할까요?

주의를 끄는 사람이 반드시 너무 많은 것은 아닙니다. 대신 Haxe 4에는 많은 작은 개선 사항이 있습니다. 결국, Haxe 자체 아마도 유사한 프로젝트보다 더 작고 더 집중적인 팀에서 개발한 상당히 성숙한 기술이며, 어떤 프로젝트를 Haxe 와 유사한 프로젝트라고 부르는 것은 다소 무리일 수 있습니다.

가장 흥미로운 기능 중 많은 부분이 이미 잠시 동안 존재했습니다. 예를 들어 Hax는 Neko 또는 HashLink를 통해 빠른 워크플로를 제공한다고 위에서 언급했습니다. 그러나 2016년부터 컴파일 서버도 포함되었습니다. 이는 VM이 ​​아닌 대상의 경우 코드 완성을 위해 Haxe IDE에서도 활용할 수 있는 인메모리 캐싱으로 인해 대규모 라이브러리에 의존하는 프로젝트를 재컴파일하는 것이 훨씬 빨라진다는 것을 의미합니다.

그러나 Haxe 4는 특히 다음을 보게 됩니다.

  • 매크로 실행이 4배 빨라집니다.
  • PHP5 지원이 중단됩니다.
  • 두 언어 간에 약간의 차이가 있더라도 TypeScript 사용자가 환영할 만한 일부 구문 업데이트가 수행되었습니다. 즉, 화살표 함수와 새로운 함수 유형 구문입니다.

Haxe 튜토리얼

언제든지 Haxe의 표준 API 또는 구문 문서를 바로 살펴볼 수 있지만 초심자에게 친숙한 Haxe 자료도 사용할 수 있습니다.

비디오 지향을 선호하는 경우 시애틀에서 개최되는 Haxe US Summit 2018에서는 내부자의 관점을 더 많이 얻을 수 있도록 다른 연도의 워크숍과 함께 워크숍을 개최합니다.

그러나 때때로 더 쉽게 시작할 수 있는 것은 보다 구체적인 자습서입니다. HaxeFlixel에서 던전 크롤러 게임을 구축하는 방법에 대한 처음부터 끝까지 튜토리얼처럼. 또한 무대 뒤에서 일어나는 일에 대해 자세히 설명하는 일련의 HaxeFlixel 튜토리얼이 있습니다. 3D 쪽에는 Armory 시작에 대한 Haxe 튜토리얼이 있습니다.

또는 XML의 빠른 처리에 대한 Hax 자습서를 원할 수도 있습니다. 이 자습서는 이제 몇 년이 지났지만 여전히 관련성이 높은 많은 자습서 중 하나입니다. 앞서 언급했듯이, 많은 변경 사항이 있지만 Hax에서 개발의 많은 기본 사항은 이 시점에서 안정적이므로 자습서가 반드시 빨리 진부하지 않을 수 있습니다. (그들은 일반적으로 Hax 코어 자체가 아닌 특정 라이브러리에 대한 종속성에서 비롯됩니다.)


보시다시피, Hax 언어를 사용하거나 다양한 방향으로 사용할 수 있습니다. 다양하고 매혹적인 Haxe 세계에 대한 이 소개를 즐겼기를 바랍니다. Haxe의 기술로 어떤 일을 하게 될지 기대됩니다!

관련: Haxe 검토: Haxe 4 기능 및 강점