Можете ли вы взять библиотеку Javascript и запустить ее во Flash? - PullRequest
2 голосов
/ 24 ноября 2010

Допустим, я взял чистую библиотеку Javascript ... такую, которая никак не зависит от DOM.

Теперь, допустим, я хочу взять эту библиотеку и использовать ее во Flex.Есть ли хороший способ сделать это?Я не могу просто включить Javascript, так как он недостаточно близок к ActionScript для компиляции ... но есть ли хороший конвертер, который сделает это для меня?Взять классы стилей прототипов Javascript и преобразовать их в классы ActionScript?

Наконец, я не хочу использовать браузер для этого.Я знаю, что всегда могу использовать ExternalInterface для доступа к браузеру, но я не всегда запускаю свое приложение Flex в браузере ... иногда это Air, а иногда - в PDF.

Есть мысли по этому поводу?

Ответы [ 3 ]

3 голосов
/ 24 ноября 2010

Обычно перенос с JS на AS не слишком сложен.Но вы можете проверить Дженгуру .Он идет в другом направлении, AS -> JS, но может быть использован в обратном направлении.

3 голосов
/ 24 ноября 2010

Зачем вообще беспокоиться?В ActionScript уже есть классы util для вещей, которые вам могут понадобиться, и большинство библиотек Javascript заботятся о том, чтобы заставить DOM работать.Например, одной из самых приятных особенностей jQuery является возможность обращаться к любому элементу с помощью его селектора CSS.И вы никогда не получите этого в ActionScript, потому что это просто не имеет смысла.

Может быть, лучше спросить, какие функции библиотеки Javascript вы бы хотели видеть в ActionScript?Скорее всего, уже есть класс, который делает то, что вы хотите, а если нет, то его легко создать.

1 голос
/ 24 ноября 2010

В зависимости от сложности библиотеки, которую вы хотите использовать, это может быть тривиальная модификация путем добавления нескольких обязательных параметров (таких как обертка пакета {} и т. Д.). Однако некоторые преобразования не будут тривиальными и могут потребовать полного компилятора.

Интересно, сколько будет написано нового бэкэнда для Closure Compiler . Я не изучал его исходный код, но я предполагаю, что он достаточно модульный. Таким образом, преобразование будет автоматическим по модулю вещей, которые вы не можете сделать в AS3, таких как манипуляции с DOM.

Даже используя это, вы не получите некоторых приятных вещей в AS3, таких как проверки типов во время компиляции. Кроме того, преобразование прототипа в наследование является нетривиальным преобразованием, так что вы, вероятно, тоже этого не получите.

...