Практичность компиляции другого языка в Javascript? - PullRequest
4 голосов
/ 22 октября 2009

Недавно было выпущено несколько инструментов, таких как пижама и Scheme2js , которые позволяют брать код на языке Python или Scheme и компилировать его в Javascript.

Но насколько практичен такой инструмент?

Я мог бы видеть, что отладка была довольно болезненной, так как вам пришлось бы отлаживать сам скомпилированный код javascript и сопоставлять любые ошибки в этом коде с соответствующими строками в исходном исходном коде python / circuit / etc. Даже с интеллектуальной трассировкой стека, такой как опция пижамы -d, это все равно кажется утомительным.

Кроме того, библиотеки, такие как jQuery, делают написание Javascript гораздо более увлекательным и продуктивным. Но для многих разработчиков Javascript все еще является новым языком для изучения.

Кто-нибудь работал с скомпилированным Javascript в производственной среде? Любые рекомендации или комментарии по поводу практичности компиляции в Javascript вместо написания вашего кода непосредственно в Javascript?

Ответы [ 5 ]

2 голосов
/ 22 октября 2009

Я полагаю, GWT , основанный на Java, может быть самым популярным продуктом такого рода, хотя я бы не назвал его «компиляцией Java в JS», а скорее «генерацией кода JS». Хотя я лично разделяю некоторые из ваших сомнений и предпочел бы кодировать JS напрямую, я должен признать, что это действительно чрезвычайно практичный, а также популярный инструмент, полностью готовый к работе: я заметил, что внутренне многие веб-приложения, которые богаты и достаточно сложные, чтобы гарантировать разделение внешнего интерфейса и внутреннего интерфейса, все чаще и чаще заканчиваются как внутренний интерфейс Python и внешний интерфейс Java - последний специально предназначен для GWT (конечно же, существует множество Python внешние интерфейсы и множество Python-интерфейсов, но я думаю, что это тенденция).

Google Wave использует GWT и, вероятно, является наиболее обсуждаемым веб-приложением, использующим его до сих пор; вместе с огромным количеством веб-приложений, использующих GWT, перечисленных здесь , я думаю, что вне всякого сомнения устанавливается, что этот подход практичен (а также популярен ;-). Является ли это оптимальным (по сравнению с написанием реального javascript с хорошей структурой в поддержке) - вопрос сложнее ответить.

2 голосов
/ 22 октября 2009

Один из наиболее часто используемых компиляторов JavaScript - GWT . Это компилирует Java в JavaScript и определенно используется в производстве. Веб-интерфейс для Google Wave написан в этой системе.

Кроме того, Skydeck написал Ocamljs , чтобы им было легко писать расширения FireFox. Это также сработало довольно хорошо.

Таким образом, если вы можете написать хороший компилятор, то нет никаких хитростей, мешающих вам написать хороший компилятор JavaScript.

0 голосов
/ 07 января 2011
0 голосов
/ 22 октября 2009

В качестве другого примера можно упомянуть Haxe . Haxe является независимым языком и компилируется во Flash 6-10, JavaScript, NekoVM, а также в c ++ - исходный код. Почему это практично?

  • вы можете использовать функции, которые сам язык не может предложить
  • перекомпилировать код на нескольких платформах (например, проверка формы в JavaScript и на стороне сервера)
  • существует пакет удаленного взаимодействия для взаимодействия платформ и его гения.
  • автозаполнение через компилятор
  • проверки типов времени компиляции

Если вам интересно, вы можете начать читать здесь .

0 голосов
/ 22 октября 2009

Google Web Toolkit делает это (компиляция с Java на Javascript), и GWT широко используется Google (duh) и многими другими, так что это определенно практично.

Поскольку код генерируется автоматически, вы отлаживаете проблемы в Java - предположение, что проблема в вашем коде, а не в коде компилятора, верна в 99% всех случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...