код jQuery - это «сырой код JavaScript», поэтому я не уверен, что компилятор действительно купит вас. Это похоже на написание компилятора C #, который принимает код C # 4.0 и испускает код C # 1.1. В чем выгода?
jQuery - это не другой язык, который заменяет или даже находится поверх JavaScript. Это фреймворк кода JavaScript, который предоставляет множество полезных помощников для выполнения общих задач. На мой взгляд, наибольшим преимуществом является то, что его отличительная структура помогает отличать его от более «Java-подобных» языков.
JavaScript сам по себе обманчиво похож на другие языки, и это, как правило, одна из самых больших ошибок языка. Люди пытаются думать об этом с точки зрения Java, хотя сходство в значительной степени останавливается на названии. По своей структуре JavaScript во многом отличается (типизация, область видимости, совпадение, наследование, полиморфизм и т. Д.), И мне особенно нравится, как jQuery и другие современные проекты JavaScript привели язык к своим достоинствам.
Полагаю, я вернусь к вопросу ... Если вы хотите превратить JavaScript в стиле jQuery в JavaScript в стиле Java, то это шаг назад. Обе версии будут интерпретироваться браузером одинаково, но одна из версий менее элегантна и представляет язык хуже, чем другая.
Обратите внимание, что jQuery - не единственная платформа, которая делает эти вещи, она просто самая популярная. Будет ли такой компилятор обрабатывать все остальные фреймворки? Все они делают разные вещи по-разному, чтобы воспользоваться языком. Я не думаю, что гомогенизация их в «более простую» форму ничего нам не даст.
Редактировать: (В ответ на различные комментарии вокруг этого вопроса и его ответов, вид ...
Как бы вы структурировали этот компилятор? Учитывая (как мы пытались указать), jQuery - это JavaScript и является просто библиотекой кода JavaScript, а также учитывая, как работают браузеры и JavaScript, ваш «компилятор» просто должен был бы стать другой библиотекой JavaScript , Итак, по сути, вы хотите перейти от:
- Веб-страница
- Библиотека jQuery
- Некоторый код JavaScript, который использует библиотеку jQuery
до:
- Веб-страница
- Библиотека jQuery
- Некоторый код JavaScript, который использует библиотеку jQuery
- Ваша библиотека "компилятор"
- Еще немного кода JavaScript, который каким-то образом отправляет предыдущий код JavaScript через вашу библиотеку
- Ваша библиотека, эквивалентная jQuery
- Еще немного кода JavaScript, который заменяет исходный код JavaScript новой версией
чтобы все упростить? Или сделать инструменты отладки, такие как FireBug, проще в использовании? То, что вы предлагаете, называется «обфускатором», и его единственная цель - сделать код более сложным для обратного проектирования. Побочным эффектом является то, что он также затрудняет понимание и сопровождение кода.