Pull to refresh

Saltarelle: open source C# — JavaScript компилятор

Reading time2 min
Views8K
Добрый день. Наша команда (без ссылок, это не важно) решила попробовать новый инструмент-компилятор Saltarelle в разработке своего проекта и, так как Хабр часто нам помогал полезной информацией, решили внести и свой скромный вклад в его копилку знаний и перевести запись в блоге разработчика.

Перевод


Я уже давно разрабатываю вебприложения. Как-то в давние времена я с нетерпением ожидал решения своего работодателя связанного с переходом IE3 -> IE4, чтобы я наконец-то смог использовать новую функцию динамического добавления строк в таблицу, что тогда называли DHTML. В последствии появился Remote Scripting, читай Ajax (только 8 летней закваски) встраеваемый в IFRAMEs или Java апплеты. За все эти годы я понял, что Javascript незаменим при создании небольших фич вроде проверки форм или динамического управления текстом, но плохо подходит для разработки сложных систем. Конечно, можно написать отличную и большую систему на Javascript, только с тем же успехом можно заняться разработкой аналогового вычислительного устройства для управления огнем артиллерии (Eng / Рус), а я убежден, что не стоит использовать инструменты, у которых есть более подходящие для решения задачи альтернативы. В 2007, или около того, я набрел на Script# — проект, который генерировал Javascript на основе C#. Я его часто использовал последние несколько лет, идея-то отличная! Ведь он позволяет задействовать все плюшки C# в вебразработке: ReSharper, IntelliSense и вы никогда не увидите ошибку “объект не поддерживает это свойство”. Тем не менее, к сожалению, разработка Script# была прекращена и, похоже, что не было добавлено ни одной новой фичи за последние 3 с лишним года.

Когда появился .net 3.5, то он не поддерживал неявно типизированные переменные или лямбда-выражения (вообще-то и много чего еще) и хотя неплох, но уже устарел. Более того, его использование в программировании на стороне клиента раздражает существенно больше, нежели на стороне сервера. Но теперь это в прошлом. Примерно месяц назад я закончил компилятор Saltarelle. Он был задуман как замена Script#, только с почти полной поддержкой C# 4. Почему почти, смотри ниже:



Либо по ссылке. Если фича не указана, то почти наверняка она поддерживается (разве что какая-то не явная). И еще моя библиотека open source! За последние недели я ее допилил и теперь она стабильна и ее можно использовать. Вот ссылка на Getting started guide (Eng) для тех, кому идея в новинку, а вот ссылка на guide for migrating (Eng) для тех, кто захочет мигрировать с Script#.
Я не думаю, что инструмент универсален, но если вы разрабатываете “толстое” HTML приложение (особенно, но не обязательно, если вы пишите серверную часть на .net), то он существенно облегчит вашу жизнь.

Лицензия


Проект опубликован под лицензией Apache License 2.0, она разрешительная (Eng), т.е. без проблем можно использовать в любых проектах, будь-то коммерческие или нет. Причина по которой используется именно эта лицензия в том, что я использовал библиотеку, автор которой Nikhil Kothari, а не я.
Tags:
Hubs:
Total votes 29: ↑25 and ↓4+21
Comments61

Articles