Haxe는 배울 가치가 있습니까? [닫은] 것입니다. 이 질문을

Haxe를 사용하는 사람들에게 유용한 이유는 무엇입니까? 웹 사이트를 읽는 것은 매우 유망한 것으로 보입니다. 상당한 이식성을 제공합니까?

실제 세계는 무엇이고 아마도 평가되는 이점은 무엇입니까?

함정 또는 문제점은 무엇입니까?



답변

Haxe는 배울 가치가 있습니까?

짧은 대답은 : 물론입니다!

Haxe를 사용하는 사람들에게 유용한 이유는 무엇입니까?

웹 개발자 인 경우 단일 기술을 너무 오랫동안 고수 할 수 없습니다. 조만간 환경 또는 대상의 변경 사항을 처리해야합니다 (.NET 용으로 개발하지만 중요한 고객은 PHP가 필요하거나 위젯이 Javascript가 아닌 Flash에 있어야 함). 이것이 가장 좋은 시나리오입니다. 최악의 경우 같은 영업일에 여러 번 지속적으로 전환해야합니다.

프로그래밍 스위치 패러다임을 너무 많이 변경해야하고 특정 대상에 대해 라이브러리를 코딩 할 때 중복되는 부분이 많기 때문에 이러한 스위치는 많은 시간을 낭비 할 수 있습니다. Haxe는 단 하나의 소스 언어 (Haxe 언어)와 많은 출력 (Haxe 컴파일러를 통한)으로 전환의 어려움을 완화하려고합니다. 언어는 배경에 관계없이 매우 친숙하고 배우기 매우 쉽습니다.

웹 사이트를 읽는 것은 매우 유망한 것으로 보입니다. 상당한 이식성을 제공합니까?

어떤 플랫폼에 배포하든 언어는 동일합니다. 따라서 JS, Flash, C ++ 등에 대해 동일한 방식으로 클래스 / 인터페이스 / 열 / 타입 정의를 정의합니다. 정의한 유형이 특정 플랫폼 API에 의존하지 않는 경우 전혀 노력하지 않고 플랫폼에서 플랫폼으로 재사용 할 수 있습니다. . 모든 플랫폼은 또한 XML 액세스, HTTP 연결 및 리플렉션과 같은 일반적인 API를 공유합니다. 공통점이있는 플랫폼 (예 : Neko 및 PHP)은 파일 액세스 또는 웹 서버 개발과 같은 API를 공유합니다.

실제 세계는 무엇이고 아마도 평가되는 이점은 무엇입니까?

  • Flash / Flex에 익숙한 경우 컴파일러가 작업 속도를 늦출 수있는 방법을 알고 있습니다 (기다리는 동안 커피 휴식을 취할 수 있다는 것이 유일한 장점입니다). Haxe 컴파일러는 여러 배 더 빠르기 때문에 대부분의 경우 작동하지 않습니다.
  • 생성 된 바이트 코드는 Adobe 도구에서 생성 된 바이트 코드보다 훨씬 빠릅니다.
  • 또한 플래시 영역에서 Haxe는 Alchemy를 사용하여 다른 곳에서만 사용할 수있는 기능을 “인라인”하거나 메모리 기능에 액세스 할 수 있습니다.
  • 필요한 경우 6에서 10까지 대상으로 지정할 플래시 버전을 결정할 수도 있습니다. API는 많이 바뀌었지만 Haxe 언어는 정확히 같습니다.

서버 측에 대해 말하면, 우리는 모두 어떻게 유비쿼터스 PHP인지 알고 있습니다. Haxe를 대상으로 애플리케이션을 개발하고 웹 애플리케이션이 커지면 Neko 또는 C ++로 확장 할 수 있습니다.

함정 또는 문제점은 무엇입니까?

일반적인 오해의 목록은 다음과 같습니다.

  • Haxe is young and immature실제로 Haxe는 거의 4 살이되었으며 25 개의 공식 릴리스 (빌드가 아님) + 13 개의 알파 및 베타를 보았습니다. 지속적으로 업데이트되며 매우 헌신적 인 커뮤니티가 있습니다. 여러 개발 분야의 많은 사람들이 전문적으로 사용합니다. 사람들이 Haxe를 사용하는 방법을 찾으 려면 메일 링리스트 아카이브 를 살펴보십시오.

  • Haxe is complicatedHaxe의 주요 목표는 의심 할 여지없이 AS3이므로 마법사 나 GUI가 있어야합니다. 언급했듯이 Haxe는 프로그래머에게는 적합하지만 디자이너에게는 좋지 않은 언어 및 컴파일러입니다.

  • There aren't any IDEs이것의 진정한 부분은 IDE가 Haxe와 더 잘 통합되도록 여러 측면에서 개선 될 수 있지만 이미 유효한 옵션 이 많이 있다는 것입니다 .

  • The only book published is already outdated불행히도이 책은 V1에서 V2까지의 주요 릴리스가 발생하기 몇 개월 전에 출판되었습니다. 이 주요 릴리스는 크게 변경되지 않았지만 몇 가지 비 호환성이 추가되었습니다. 이 책은 여전히 ​​유효한 자원으로 남아 있습니다.


답변

“Haxe를 사용하는 사람들에게 유용한 이유는 무엇입니까?”

크리에이티브 플래셔로서 저는 더 이상 AS3의 요점을 보지 못합니다! 플래시 사용자 코더 / 아티스트는 다음과 같습니다.

현재 프로젝트에서 나는 19 세의 나이에 대부분의 타임 라인 AS2 / AS3에서 Haxe 클래스로 이동하여 AS2 및 AS3 코드를 모두 포팅했습니다. 그래서 나는 Haxe가 AS3보다 사용하기가 더 어렵다고 생각하지 않으며 Flash에서 사용될 때 크게 다릅니다. 안정성에 관한 한, 현재의 주요 그립은 현재 Flash 플레이어의 측면이며, Haxe는 Flash를 개발할 때 AS3보다 안정적이거나 안정적입니다.

플래시의 진화는 플래시가 바뀌면서 쓸모없는 라이브러리를 만드는 지속적인 프로세스였습니다 (매년 소프트웨어를 판매해야 할 수도 있습니다!?). 양처럼 Flex를 따라 가거나 대체 XAML로 이동하십시오.

Haxe의 주요 장점은 플랫폼과 이혼하여 5 년 후에 거의 사용할 수있는 클래스를 만들 수 있다고 생각할 수 있다는 것입니다. 생성 한 모든 AS3에 해당하는 것은 의심 스럽습니다. JavaScript, Silverlight 또는 Google이 다음에 가져올 내용으로 코드를 컴파일 할 수 있습니다.

Haxe의 주요 문제는 대부분의 개발이 Mac에서 이루어지지 않았기 때문에 C ++ 및 Haxe의 새로운 기능을 컴파일하는 측면이 Windows 사용자의 경우가 많지만 Flash 컴파일과 같은 핵심 Haxe에는 문제가 없었습니다.

디자이너 측면에서 : 런타임에 시각적 자산에 대해로드 된 Flash IDE 무비를 사용하고 AS3에서 개발할 때도 동일한 작업을 수행하므로 실제로 워크 플로우는 AS3 / Haxe에 의존하지 않습니다. 또는 Haxe. 플래시 IDE와 그 기능에 대한 열정이 있지만 코드에는 절대 사용하지 않으며 대부분의 플래시 작업은 대부분 코드이므로 Linux 하드 코어가 아니며 Haxe는 Flash IDE 사용을 중단하지 않지만 원하는 경우 swfmill 또는 sam을 사용할 수 있습니다.

문제는 다음 버전을 판매하기 위해 변경 될 수 있고 Flash Player로 제한되는 상용 언어 AS3에서 왜 시간을 낭비 하는가?

상자 Haxe에서 jQuery 등을 필요로하지 않고 자바 스크립트로 게임이나 복잡한 아이디어를 만들 수있는 무대에 도달하는 데 오랜 시간이 걸리지 않았습니다 … 브라우저 등에서 작동합니다 … Haxe를 사용하면 플래시를 사용할 수 있습니다 프로그래밍 기술과 인터페이스 개발 이해하기 외부 플래시 (이전에 JavaScript를 사용한 적이 없어야 함), 순수한 JavaScript를 배우려면 누군가가 내 팔을 잘라낸 것처럼 플랫폼이 활성화 된 코드처럼 작성했을 가능성이 높습니다. , 이제 트위닝에 FEffects 를 사용 하고 나중에 일부 컴파일러 스위치를 추가하고 다른 플랫폼으로 컴파일하고 일부 내쉬 / nme을 사용할 수 있습니다.

나는 실제로 컴파일러가 유형에 대해 똑똑한 것과 같은 측면을 좋아하여 코드를 더 깨끗하게 만들 수 있습니다. 그리고 typedef는 훌륭합니다.

나는 PHP를보고 어리석은 더러운 더러운 언어이며 JavaScript와 동일하다고 결정했다 .Haxe로 대상을 지정할 수 있고 블랙 해킹 마술에 너무 많은 시간을 할애 할 수 없어서 기쁘다.

시각적 창의성을 빠르게 개발할 수있는 코드를 만들고 싶다면 Haxe가 이상적인 언어라고 생각하며 프리랜서로도 상업적으로 사용하고 있습니다.


답변

Haxe에 대한 나의 견해

다음 문단은 매우 철학적입니다 (실제 문단은 더 아래에 있음).

나의 짧은 시간 동안 프로그래밍을 통해 많은 프로그래밍 언어에 개방 된 사람과 내가 무언가를 느끼지 않을 때 단순히 움직이고있는 사람으로서 Haxe는 내가 발전 할 수없는 것, ‘더 나은 것’이라는 것을 알았습니다.

과거에 한 가지 특정 언어로 글을 쓰는 데 소요되는 시간은 두 가지 주요 요소, 결과를 얻기 위해 해당 언어를 얼마나 사용해야하는지, 그리고 그 언어를 이해하기가 얼마나 쉬운 지에 관한 것입니다. 그러나 Haxe의 경우 파악 기간이 훨씬 짧았으며,이를 다양한 언어로 된 지식의 작은 축적에 기인합니다. Haxe가 나에게 정말로 맞는 것을 찾지 못했을 때까지는 그들이 이해하기 어렵거나 평범한 쓸모가 없었습니다. 적어도 내 관점에서는 쓸모가 없습니다.

Haxe는 제가 글을 쓰는 방식에 대해 좀 더 표현력을 갖게 해주었습니다. 나는 모든 사람들이 언어에 대해 이야기하는 품질과 마찬가지로 ‘표현’을 의미하지는 않습니다. 내가 느끼는 방식이 옳습니다. 성공했는지 아니면 완전히 실패했는지.

Haxe는 c 스타일 언어와 AS2 / 3에 대한 일반적인 배경을 가진 매우 쉬운 학습 곡선이었으며 실제로 그것을 배우는 데 아무런 문제가 없었습니다. 항상 새로운 언어로 발전하는 데 어려움을 겪었던 한 가지는 특정 구문 / 프레임 워크의 개념을 이해하는 것이었지만, 그 장애물을 통과 한 후에도 종종 언어 자체가 제한적이거나 제한적이거나 둘 다라는 것을 알게 될 것입니다. Haxe를 사용하면 제한이 없으며 언어 자체로 나를 제한하지도 않습니다. Haxe를 사용하면 유리 천장이 없지만 유리 바닥입니다. 할 수있는 일에 제한이 없지만 어떻게 거기에 도착했는지 명확하게 볼 수 있습니다.

Haxe를 집어 올리는 것은 막대기를 집어 들고 불을 피우는 것과 같지 않지만 옥시 아세틸렌 세트를 구입하여 불을 피우는 것도 아닙니다. 그런 의미에서 Haxe는 매치에 더 가깝기 때문에 재사용 할 수 있습니다. 이전에 사용했던 것의 거의 모든 변환을 따르지만 유용한 새로운 기능을 추가합니다. 그러나 그렇게하기 위해 바퀴를 완전히 재발 명하지는 않지만 썩은 비트 만 수정합니다. (다음 단락에서 더 적은 유추)

실용적인 것들 :

이 언어는 간단하고 표준화되어 있으며 프로그래머가 원하는만큼 갈 수 있습니다.

매우 높은 수준의 코드를 작성하거나 작은 비트와 조각으로 바이올린을 연주 할 수 있습니다 (일부 플랫폼에서는 심각하게).

Haxe는 하나의 플랫폼에서 할 수 있거나 할 수없는 일을 지시하지 않으며 모든 것에 대한 모든 액세스 권한을 부여 (또는 제공 할 계획)하지만 작업을 수행하는 표준화 된 방법을 추가 할 수 있습니다.

메일 링리스트는 매우 유용하고 반응이 좋으며 포럼은 이제 속도를 높이고 있습니다.

언어는 모든 릴리스에 새로운 내용이 추가되면서 꾸준히 변경되고 있습니다.

기본 API에는 실제 버그가 거의 없으며 컴파일러에는 거의 버그가 없습니다.

모든 사람들은 언어의 방향과 그들이 Haxe에게 제안하는 방향에 대해 공개적으로 이야기합니다 (또는 그 방향을 가져야하는 이유)

그리고 마지막으로 Haxe는 대기업 (또는 소규모 회사)이 개발자로 돈을 버는 대기업이 아니라 모든 개발자가 사용하고 구축하고 개선 할 수 있도록 만들어졌습니다. 그래서 Haxe가 내가 원하는 곳이라고 생각합니다. (이제 코딩으로 돌아갑니다)


답변

짧은 답변을 원한다면 : 예!

Haxe를 사용하는 사람들에게 유용한 이유는 무엇입니까?

대부분 서버쪽에 Haxe를 사용합니다. (PHP 또는 neko 대상을 의미합니다). 내 생각에 PHP는 내가 사용한 것 중 가장 빨라진 언어이기 때문에 Haxe를 사용하기 시작한 이유는 다음과 같습니다.

저에게 또 다른 큰 장점은 Haxe가 오픈 소스라는 것입니다.

상당한 이식성을 제공합니까?

다른 목표에 동일한 코드를 사용하는 것! 나는 더 많은 portabillity를 가질 방법을 상상할 수 없었다.

PHP에서 40-80 배 빠른 PHP를 수행하는 PHP에서 mod_tora 로 웹 사이트를 마이그레이션하는 경우 종종 5 분의 작업이 필요합니까?

실제 세계는 무엇이고 아마도 평가되는 이점은 무엇입니까?

  • 가장 큰 장점은 코드 이식성과 플랫폼 간 통신을위한 탁월한 옵션이며 클라이언트와 서버 간 데이터를 다루는 것이 결코 쉽지 않았습니다. ( 위키 의 Remoting 섹션을 보십시오 .)
  • 커뮤니티는 훌륭 합니다. (메일 링리스트를 좋아한다면 적어도 🙂
  • 또 다른 것은 : Haxe가 지원하지 않는 플랫폼 네이티브 작업 (매우 드물게 발생)을 수행해야하는 경우 Haxe는 항상 작업을 대상으로하는 옵션을 제공합니다. 그것은 Haxe magic 이라고 불립니다 . 다시 말해, 플랫폼의 모국어로 할 수있는 모든 일과 Haxe가 제공하는 모든 좋은 일을 할 수 있습니다.

함정 또는 문제점은 무엇입니까?

  • 문서, 때로는 설치가 100 % 완벽하지 않은 경우가 있습니다. IDE 지원이 많이 향상 될 수 있습니다.
  • 또한 Haxe는 정말 좋은 언어를 제공하기 때문에 JavaScript 대상을 사용하기 어려운 경우가 있지만 가장 일반적인 DOM 조작을위한 프레임 워크가 누락되었지만 일부 사람들은 😉
  • 고객을 위해 일해야한다면 그들은 때때로 알 수없는 언어로 프로젝트를 실현하려는 생각을 싫어합니다.

추신 : 프로그래밍 기술과 경험을 향상 시키므로 항상 새로운 언어를 배우는 것이 좋습니다.


답변

글쎄, 귀하의 질문에 이미 답변되었지만 짧은 블러를 추가하고 싶습니다.

첫 베타 버전 이후에 Haxe를 집중적으로 배우고 사용해 왔으며 그 이후로 계속 사용해 왔습니다. 언어와 API의 차이점을 실제로 이해하게 된 것은 제가 배운 첫 번째 언어였습니다 (저는 여전히 대학에있었습니다).

대학에서 처음으로 AS2, PHP, 그리고 Javascript를 배웠습니다. 우리는 프로그래밍에 대한 공식적인 소개가 없었으며 (어쨌든 컴퓨터 과학을 공부하지 않았습니다). 이 언어들은 모두 플랫폼과 밀접한 관련이 있으므로 초보자 프로그래머로서 strlen ()과 같은 것은 PHP, MovieClip은 AS2 등을 자동으로 가정했습니다 …

플랫폼이 더 이상 클래스를 제한하지 않기 때문에 Haxe를 사용하여 객체 지향 디자인의 가치를 실제로 이해했습니다. 플랫폼 특정 정보와 코드를 충분히 분리하면 일반 웹 코드에서 Flash 프로젝트 용으로 작성된 코드를 재사용 할 수 있습니다.

플랫폼간에 통신하는 데 사용할 수있는 탁월한 원격 클래스로 인해 XML이 그다지 특별하지 않으며 JSON도 아니라는 사실을 깨달았습니다.

방금 프로그래밍을 시작한 저 같은 사람에게는 XML이 ‘쿨’하고 모든 것에 좋을 때 꽤 큰 계시였습니다. 😉


답변

Haxe는 귀중한 언어입니다. 많은 장점이 간과되는 경우가 많습니다. 예를 들어, 단순하지만 매우 강력한 ORM (Neko / PHP), 완전한 크로스 플랫폼 원격 (Flash / JS / PHP / C ++ / Neko)과 같이 애플리케이션 개발을 훨씬 쉽게 만드는 환상적인 내장 라이브러리가 있습니다. 지원되는 플랫폼은 다른 플랫폼, 견고한 정규 표현식 라이브러리 (Flash <8을 제외한 모든 사람이 지원) 및 기타 여러 가지 요소와 통신 할 수 있습니다.

참고로 최근에 PHP / JS / Flash 용 Haxe를 사용하는 응용 프로그램을 작성했으며 개발 속도가 기하 급수적으로 증가한 것을 발견했습니다.

물론 Haxe는 디자이너 중심이 아닐 수도 있지만 하드 코어도 아닙니다. Haxe는 배우고 재사용하기가 매우 쉬우 며, 대상 플랫폼의 수가 증가함에 따라 Haxe 개발자는 새로운 것을 배우지 않고도 대상을 지정할 수 있습니다.


답변

Haxe를 주로 사용하는 것은 여전히 ​​플래시 개발로 제한됩니다. 다른 대상에 사용할 수 있다는 생각으로 천천히 따뜻해집니다. 나는 여전히 그 방향의 장점을 보지 못하고 PHP와 JS에서 직접 PHP와 JS를 수행합니다.

Neko 백엔드를 위해 개발하지는 않았지만 코드에 대한 테스트 사례를 작성하고 플래시 플레이어에서만 실행할 수있는 것이 아니라 빌드 스크립트에 통합 할 수 있다는 점에서 큰 도움이됩니다. 이것은 매우 좋은 장점입니다.

코드와 개발의 개방성 또한 좋은 장점입니다. 전처리 기가 실제로 필요했기 때문에 #lineHaxe에 지원이 추가되었습니다. 나는 어도비가 내 요청을 진지하게 받아들이지 않았다고 생각한다.

나는 타이핑 된 언어라는 것이 많은 새로운 현대 언어에 비해 큰 이점이라는 것을 알았습니다.

언어 일관성 및 백엔드 투명성과 관련하여 몇 가지 함정이 있습니다. 나는 여기 에 나에게 영향을 미치는 것들의 목록을 유지한다 . 물론 이런 점에서 어떤 언어도 완벽하지는 않지만 새로운 언어가 너무 많다는 것에 실망합니다.