Что входит в использование Scala.js для не веб-приложений, не для Node.js?

1

Я использовал Scala.js и наслаждался этим, для написания функциональности веб-страницы.

Я написал некоторые графические функции, которые рисуют изображения на холсте, например. Я заинтересован в переносе некоторых из этого кода в Adobe Illustrator и Photoshop. Они предлагают скрипты на трех языках: (1) AppleScript, (2) JavaScript и (3) Visual Basic. Конечно, API совсем отличается от Canvas и предлагает множество конкретных, мощных функций, которые я хотел бы использовать.

Моя программа будет переписана и значительно расширена, поэтому разработка будет продолжена. Интересно, смогу ли я продолжить разработку в Scala, и если Scala.js можно использовать для написания кода для программного обеспечения Adobe или, действительно, для любого программного обеспечения, которое работает с JavaScript.

Я полагаю, что мне нужно создать какой-то интерфейс для Adobe API. Что бы это значило? Будет ли этот код написан на Scala? Будет ли это плагин для sbt? Сколько я должен узнать о внутренних компонентах компилятора Scala?

Стоит ли это делать, или я должен выбрать вместо этого для разработки в JavaScript? (Я не хочу писать в JavaScript напрямую, потому что у меня был плохой опыт работы с ним в браузере, но я не могу сказать, что я эксперт в этом.)

(Обратите внимание, что я еще не знаком с большей частью Adobe API... Сейчас я просто изучаю.)

Теги:
adobe
scala.js

1 ответ

1
Лучший ответ

Должно быть довольно просто. Ключ в том, что вам нужно будет строить фасады - строго типизированные описания Scala - для API, которые вам интересны в Illustrator и Photoshop. Это не особенно сложно: вам нужно только беспокоиться о функциях, которые вы на самом деле хотите назвать, и описываете сигнатуры функций в Scala. С небольшой практикой это становится довольно простым - обычно это занимает минуту или меньше за каждую функцию, если у вас есть зависание. (Я поддерживаю фасад jQuery, который является одним из самых больших, и ударил большую часть из них днем после того, как я был на практике).

Предполагая, что они используют разумный стандартный JavaScript, возможно, большинство из них - вы определяете эти фасады, записываете Scala.js-код для их использования и подключаете скомпилированный JavaScript в инструменты...

  • 0
    Так я должен изучить это? github.com/jducoeur/jquery-facade - Я довольно новичок в Scala и совершенно новичок в JavaScript, но, похоже, это просто. (Я эксперт в Python, C ++ и Haskell, так что Scala не сложно подобрать, я просто изучаю все, что выделяет его. И я сознательно избегаю JavaScript ... он отталкивает меня, как чеснок отталкивает вампиров .)
  • 1
    Чтение существующего фасада - это хороший способ почувствовать, как они выглядят. Но чтобы узнать, как их написать, вы должны прочитать документацию по адресу scala-js.org/doc/interoperability
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню