2017-12-09 17 views
1

私はScala.jsを使い、それを楽しんで、Webページの機能を書いています。web以外の、Node.js以外のアプリケーションでScala.jsを使用することには何が関係していますか?

私は、例えば、キャンバスに絵を描くいくつかのグラフィックス関連の機能を書きました。 Adobe IllustratorとPhotoshopにそのコードの一部を移植することに興味があります。彼らは、(1)AppleScript、(2)JavaScript、(3)Visual Basicの3言語でスクリプトを提供します。もちろん、APIはCanvasとはかなり異なり、私が利用したいと考えている多くの具体的で強力な機能を提供します。

私のプログラムが書き換えられたと大幅に拡大し、その開発は継続されますされます。 Scalaで開発を続けることができるかどうか、Scala.jsを使用してAdobeソフトウェアのコードを書くことができるかどうか、あるいは実際にJavaScriptを使用してスクリプトを作成するソフトウェアのことです。

私は、アドビシステムズ社のAPIへのインターフェイスのいくつかの種類を作成する必要があること把握。それは何が関係するでしょうか?そのコードはScalaで書かれますか?それはsbtのプラグインですか? Scalaコンパイラの内部についてどれだけ知っておく必要がありますか?

JavaScriptを使用して開発する価値がありますか? (私はブラウザにそれで悪い経験を持っていたので、私は本当に直接JavaScriptで記述する必要はありませんが、私は、私はそれの専門家だと言うことはできません。)

(私はことに注意してください私はちょうど今、調査していアドビAPIの多くに慣れていない...。)

答えて

1

かなり簡単です。重要な点は、IllustratorとPhotoshopで気になるAPIのためにファサード(強く型付けされたScalaの説明)を構築する必要があることです。これは特に難しいことではありません。あなたが実際に呼びたい関数について心配するだけで、Scalaで関数のシグネチャを記述する必要があります。ちょっとした練習では、これはかなり簡単になります。通常、関数を実行すると関数ごとに1分またはそれ以下の時間がかかります。 (私はjQueryのファサードを維持していますが、それは実際には午後になって大部分を占めています)

妥当な標準JavaScriptを使用していると仮定すると、 - あなたは、だから私はこのことを検討すべき

+0

...、それらのファサードを定義し、それらを使用するScala.jsコードを記述、およびツールにコンパイルJavaScriptをプラグ? https://github.com/jducoeur/jquery-facade - 私はScalaにはかなり新しく、JavaScriptにはまったく新しいですが、それは簡単です。 (私はPython、C++、Haskellのエキスパートですので、Scalaは拾いにくいわけではありません。すべてのことを学ぶだけのことです。JavaScriptを意図的に避けています。それは吸血鬼。) – composerMike

+1

既存のファサードを読むことは、どのように見えるかを知る良い方法です。しかし、それらを書く方法を学ぶために、あなたはhttps://www.scala-js.org/doc/interoperability/ – sjrd

+0

でドキュメントを読むべきです、ありがとう、それを勉強します。このドキュメントと機能がすべて整理されていることは素晴らしいことです。非常に、非常に有用です。 – composerMike

関連する問題