LINUX.ORG.RU

Язык, компилирующийся в JavaScript, с компилятором на яве

 ,


0

1

Есть такое в природе? Голый Js крайне задолбал, хочется чего-то покрасивее и поудобнее, с нормальными классами, лямбдами и прочими плюшками. При этом нужна безшовная интеграция с native js, чтобы можно было на этом чуде писать например ангуляровские контроллеры, спокойно дергать jquery etc. Посмотрел на coffescript и typescript - идея хороша, но сервак на яве, и ставить рядом еще и ноду для перегонки в js в runtime не очень охота, а делать это в compile time на машине разработчика или build-сервере не удобно при разработке.

★★★★

На прод/тест должны уже «скомпиленные» по идее кидаться js. А у разработчиков крутится демон, делающий это на каждый save.
// во всяком случая, если правильно, помню так в rails мире

anonymous
()
Ответ на: комментарий от Kilte

Про kotlin (и ceylon) я в курсе, но к сожалению так и не нашел вменяемых руководств по взаимодействию с нативным js. Т.е. понятно что их можно собрать в js, но вот как на них писать те же ангуляровские контроллеры, используя его хитрый, но довольно удобный апишник, типа вот такого, так и не понял.

$scope.$on('$requestDataRequested', function() {
  var result = angular.extend({}, $scope.baseServiceInfo(true, true, true));
  ...
Nagwal ★★★★
() автор топика
Ответ на: комментарий от anonymous

А у разработчиков крутится демон, делающий это на каждый save.

Не, не вариант к сожалению, по многим, не зависящим от меня причинам. Сервис должен работать, втч. и на машинах разработчиков, без внешних зависомостей, кроме jvm и субд. Т.е. сделали checkout из гитхаба, открыли в ide, нажали одну кнопку - оно запустилось.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от vim

кложура на JVM, а clojurescript?

Тоже смотрел в его сторону. Примерно минуты 2-3, пока не увидел в руководстве слова mingw и cygwin в разделе установки под винду. После этого желание разбираться дальше пропало совершенно.

Nagwal ★★★★
() автор топика
Последнее исправление: Nagwal (всего исправлений: 1)
Ответ на: комментарий от Deleted

Вроде у гугла было что-то для компиляции java в javascript.

Ну, если речь про gwt, то точно не вариант. Нужен именно язык, с возможностью использовать нативный js api, а не компонентный фреймворк, хуже которого я не видел за 10 лет в IT ничего. Даже разбирать код бывшего дельфиста, на яве, под шестую web sphere на ejb 2.1 - меньшее мучение.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от vim

а зачем тебе винда, ты ведь в топике об этом не упомянул.

Эмм, ну, тут немного не talks, чтобы разводить холивор. Но как бэ половина разработчиков сидит под маком, половина под виндой. Linux - target платформа для production.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от Nagwal

Сервис должен работать, втч. и на машинах разработчиков, без внешних зависомостей, кроме jvm и субд.

Глупые ограничения. Сам себе придумал истукана, теперь молишься.

bj
()
Ответ на: комментарий от bj

Проект не мой личный. И должен быть запускаем даже самой тупой обезьянкой по инструкции не длинее абзаца в 5 строк.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от Nagwal

И должен быть запускаем даже самой тупой обезьянкой по инструкции не длинее абзаца в 5 строк.

То есть обезьянки будут уметь в эзотеричиский язык, компилируемый в js жабкой. Ок.

bj
()
Ответ на: комментарий от bj

Кроме того ant, или что там у тебя, абзац любой длины ужимает в одну строку. Какие-то надуманные проблемы. Сабж очень похож на попытку повитать в облаках на «не личном проекты», а не решение конкретной задачи.

bj
()
Ответ на: комментарий от bj

То есть обезьянки будут уметь в эзотеричиский язык, компилируемый в js жабкой. Ок.

Нет, не будут. Будут писать кучу всякого boilerate на яве и яваскрипте. А вот те куски, которые им не выйдет сплавить - хочется делать с комфортом.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от bj

Сабж очень похож на попытку повитать в облаках на «не личном проекты», а не решение конкретной задачи.

Решение конкретной задачи - взять себя в руки и написать все что надо на js. Я не исключаю такого исхода.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от Nagwal

Рекомендую обратить внимание на Elm, пусть это и не имеет никакого отношения к Java.

quantum-troll ★★★★★
()

может, как-то автоматизировать установку Ноды, чтобы она там мавеном ставилась или что-то такое. быстронагуглил только такое, к сожалению: http://blogs.mulesoft.org/introducing-the-npm-maven-plugin/ И писать дальше на IcedCoffeeScript..

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от Nagwal

половина под виндой

Это какие-то странные разработчики. Практически везде да и у нас в конторе джависты сидят под убунтами и маками, но не как не на винде. Это первое.

Второе. Если уж так противно писать JS, то извольте следовать стандартам фронтэнд разработки, а именно использовать npm, node, grunt, gulp и прочее.

Если не нравится, то есть clojurescript, scalajs (мутная штука) и прочее. Только вот гемороя при дебаге всего этого еще прибавится. К таким тулзам нужно предъявлять высокие требования, иначе будет беда. К примеру clojurescript умеет генерировать внятный source map, что облегчает debug в разы. За остальные не скажу.

А вообще сейчас весь веб пишется очень просто. Делаем REST сервис не важно на чем, и пишем отдельно к нему клиент на том же angularjs.

abc
()

Не нравится писать JS - не пиши, все эти workaround'ы только ухудшают процесс разработки и качество на выходе.

а так из адекватного CoffeeScript и TypeScript, но ноду ставить обязательно, остальное не очень адекватное я считаю, хотя ClojureScript тоже вроде работает норм, но люди в коммерсе на этом писать не будут.

umren ★★★★★
()
Последнее исправление: umren (всего исправлений: 1)

Это, ты хочешь сказать, что в JS нормальных лямбд нет, а в жабе есть? lol

Говно есть мед.лямбда-выражения aka лябдды для быдла — это «настоящие» лямбды. Очень верное замечание.

классы

а, ну тогда понятно...

anonymous
()

coffescript

говно

typescript

Ты по уши в говне

яве

Ты жрешь говно приправленнное жирными глистами.

anonymous
()

с компилятором на яве

а какая тебе разница, на чем написан компилятор? Или ты хотел сказать, компилирующий из явы ?

При этом нужна безшовная интеграция с native js, чтобы можно было на этом чуде писать например ангуляровские контроллеры, спокойно дергать jquery etc

А как может быть «шовная» интеграция?

но сервак на яве, и ставить рядом

А ставить «рядом» твой воображаемый компилятор не надо?

перегонки в js в runtime

куда-куда?

java

А, тогда понятно

anonymous
()

А под насхорном компилятор не работает?

maloi ★★★★★
()

Ну напиши мелкую обёртку на Java. У Java есть JS-движок, мне кажется, его хватит на эти компиляторы.

Legioner ★★★★★
()
Ответ на: комментарий от stevejobs

О, thanks, видимо когда пытался гуглить - пропустил страничку.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от abc

Это какие-то странные разработчики. Практически везде да и у нас в конторе джависты сидят под убунтами и маками, но не как не на винде. Это первое.

Ну а у меня обратный пример перед глазами, когда все либо на винде, либо некоторые на маке. Знаю только одного человека с убунтой.

Если уж так противно писать JS, то извольте следовать стандартам фронтэнд разработки, а именно использовать npm, node, grunt, gulp и прочее.

И еще глубже погружаться в пучину ненависти к нему? Ну уж нет, спасибо.

А вообще сейчас весь веб пишется очень просто. Делаем REST сервис не важно на чем, и пишем отдельно к нему клиент на том же angularjs.

Я в курсе, оно все так и написано. Пачка практически rest сервисов на яве и морда на ангуляре.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от maxcom

coffeescript компилится из jvm, даже для maven'а плагин есть

О, спасибо, видимо я что-то где то пропустил. Поищу.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от umren

Не нравится писать JS - не пиши, все эти workaround'ы только ухудшают процесс разработки и качество на выходе.

Вот на что мне уж точно в данном случае фиолетово - так это на качество кода. Проекты не подразумевают особой поддержки и развития.

хотя ClojureScript тоже вроде работает норм, но люди в коммерсе на этом писать не будут.

Ну, если бы у меня была необходимость крайне завязать на себя процесс разработки - можно бы было и на кложуре все это написать. Но поскольку цель стоит ровно противоположная - писать самому только самые ключевые куски, а остальное спихнуть аутсорсерам, то я пожалуй воздержусь.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от Legioner

Ну напиши мелкую обёртку на Java. У Java есть JS-движок, мне кажется, его хватит на эти компиляторы.

Да, про встроенный js движок явы я как-то забыл. Если не найду ничего готового - надо действительно будет попробовать на нем запустить компилятор.

Nagwal ★★★★
() автор топика
Ответ на: комментарий от umren

Вроде оно не всегда ожидаемо работает. Да и требует от IDE поддержки некоторых хистростей, помимо самих source-maps. Что, если тебе надо отдавать статику nginx'ом, который будет проксировать запросы серверу и заодно отладить того клиента статического, которого отдаёшь?

Y ★★
()
Ответ на: комментарий от Y

так ты отлаживай в dev окружении, зачем тебе отлаживать через sourcemaps на самом сервере?

umren ★★★★★
()
Ответ на: комментарий от Y

кроме того в случае с coffee и type, там можно и глазами отладить вполне неплохо.

umren ★★★★★
()
Ответ на: комментарий от ii8_

Тем, что

а) Не нужен компонентный фреймворк. Интерфейс не везде стандартный.

б) GWT - это худшая из технологий, виденных мной за 10 лет программирования. Хуже php, ejb, delphi и 1С вместе взятых.

Nagwal ★★★★
() автор топика

У clojurescript компилятор на jvm запускается.

А сoffeescript можно и встроенным в jre движком nashorn собирать.

holuiitipun
()
Ответ на: комментарий от Pirr

Хм, что-то любопытное, завтра почитаю, thanks.

Nagwal ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.