2017-12-09 29 views
1

저는 Scala.js를 사용하여 웹 페이지 기능을 작성하는 것을 즐겼습니다.웹이 아닌 비 Node.js 응용 프로그램에 Scala.js를 사용하는 데 관련된 것은 무엇입니까?

예를 들어 캔버스에 그림을 그리는 그래픽 관련 기능을 썼습니다. Adobe Illustrator 및 Photoshop에이 코드 중 일부를 이식하는 데 관심이 있습니다. 그들은 (1) AppleScript, (2) JavaScript 및 (3) Visual Basic의 세 가지 언어로 스크립팅을 제공합니다. 물론 API는 캔버스와 완전히 다르며 내가 활용하고자하는 많은 특수하고 강력한 기능을 제공합니다.

내 프로그램이 다시 작성되고 상당히 확장되므로 개발이 계속됩니다. 필자가 궁금해하는 것은 Scala에서 계속 개발할 수 있는지, 그리고 Scala.js를 사용하여 Adobe 소프트웨어 또는 JavaScript로 스크립트하는 모든 소프트웨어 용 코드를 작성할 수 있는지 여부입니다.

Adobe API에 대한 인터페이스를 만들어야한다는 것을 알았습니다. 그게 무엇을 포함합니까? 이 코드는 스칼라로 작성 되었습니까? 그것은 sbt에 대한 플러그인이 될 것입니까? 스칼라 컴파일러의 내부에 대해 얼마나 배워야합니까?

JavaScript를 사용하여 개발할 가치가 있습니까? (JavaScript로 직접 작성하고 싶지는 않지만 브라우저에서 좋지 않은 경험이 있기 때문에 직접 작성하고 싶지는 않습니다.).

아직 Adobe API에 익숙하지 않은데 ... 지금 조사 중입니다.)

답변

1

매우 간단해야합니다. 핵심은 Illustrator 및 Photoshop에서 관심있는 API에 대해 강력한 형식의 스칼라 설명 인 facades를 작성해야한다는 것입니다. 이것은 특별히 어렵지 않습니다. 실제로 호출하고자하는 함수에 대해 걱정할 필요가 있습니다. 스칼라에서는 함수 시그니처를 설명합니다. 약간의 연습을 통해이 작업은 매우 쉬워집니다. 기능을 수행 한 후에는 일반적으로 기능 당 1 분 또는 그 이하가 소요됩니다. (나는 jQuery 파사드를 유지하고있다. 실제로는 일단 실제로 jQuery 파사드를 유지하고 오후에 대부분을 쳤다.)

합리적인 표준 자바 스크립트를 사용한다고 가정 할 때, - 당신은 그 facades를 정의하고, 그것을 사용하기 위해 Scala.js 코드를 작성하고, 컴파일 된 JavaScript를 도구에 연결합니다.

+0

그래서 이것을 공부해야합니까? https://github.com/jducoeur/jquery-facade - 스칼라에 대해 처음 접하고 자바 스크립트에 완전히 익숙하지 않지만 간단합니다. (저는 파이썬, C++, 하스켈의 전문가입니다. 그래서 스칼라는 받아들이 기가 어렵지 않습니다. 모든 것들을 배우는 문제 일뿐입니다. 나는 자바 스크립트를 의도적으로 피했습니다. 그것은 마술을 뱀파이어처럼 격퇴시킵니다. .) – composerMike

+1

기존 외관을 읽는 것은 외관이 어떻게 보이는지 알기위한 좋은 방법입니다. 그러나 이들을 작성하는 방법을 배우려면 https://www.scala-js.org/doc/interoperability/ – sjrd

+0

에서 설명서를 읽어야합니다. 감사합니다. 이 문서와 기능이 모두 구성되어있는 것이 좋습니다. 매우 도움이됩니다. – composerMike