20
May
misc.  | 

Раз уж руки дошли дописАть эту заметку, грех этого не сделать :)

Впервые услышал об этой штуке на презентации Windows Live 2008. Итак, что такое Script Sharp. S# интерпретирует C#-код в JavaScript (вместо MSIL). В результате получаем все преимущества работы с инструментарием Visual Studio при разработке, скажем, Ajax-приложений:

  • Intellisense
    intellisense
  • Поддержка MSBuild
    msbuild
  • Обработка ошибок во время компиляции (не во время работы, как, скажем, с firebug’ом)
    errors
  • Поддержка рефакторинга
    refactoring
  • Интуитивно-понятный ООП-синтаксис (чем JavaScript похвастаться не может)
    oop
  • Визуализация кода
    uml code
  • Достойный просмотр и поиск по коду
    search browse code
  • xml-документированный код
    documentate
  • [скоро] Возможности для юнит-тестирования
    unit testing

S# бесплатен. Придумал его сторонний разработчик. Несмотря на это, им усиленно пользуются в Майкрософт.

Если Вы разрабатываете Ajax или RIA-приложения, попробуйте Script#, не пожалеете :)

Более подробно можно узнать со странички проекта и из блога разработчика.



Мальчикам и девочкам:


Любителям почитать:

Более того:


  1. Gravatar Icon 1 excieve 5-20-2008 Quote

    Интересная штука. А на сколько читабельный JS код получается после этого? А поддается ли отладке именно сгенерированный JS? Насколько мне известно (с собственного опыта) Windows Live довольно громоздкий и тормозной, не есть ли это последствием? Собственно какова производительность такого решения в сравнении с самописным аналогичным JSом?

  2. Gravatar Icon 2 folone 6-7-2008 Quote

    Интересная штука. А на сколько читабельный JS код получается после этого? А поддается ли отладке именно сгенерированный JS? Насколько мне известно (с собственного опыта) Windows Live довольно громоздкий и тормозной, не есть ли это последствием? Собственно какова производительность такого решения в сравнении с самописным аналогичным JSом?

    Ну блин. есть ведь код по-человечески-ООПшный, который до генерации жабаскрипта. Его, собсна, и будем сопровождать и отлаживать. Ибо, зачем же нам лезть в дебри generated-сорцов? А вот Win Live, насколько мне известно, гораздо старше S#’а, тут дело, видимо, не в том ;) А производительность, имхо, будет достаточно велика: при отладке во время компиляции, при средствах визуализации кода и рефакторинге, усилий разработчиков будет затрачено в разы меньше, нежели при написАнии продукта “вслепую”.

  3. Gravatar Icon 3 folone 6-7-2008 Quote

    И вообще. Можно бесконечно долго обижать мелкомягких, но факт налицо: Студия - лучшая ИДЕ на сегодняшний день. Даже NetBeans (рядом с которым тот же Eclipse смотрится как ноутпад) очень серьёзно недотягивает до него.

  4. Gravatar Icon 4 excieve 6-7-2008 Quote

    Ну блин. есть ведь код по-человечески-ООПшный, который до генерации жабаскрипта. Его, собсна, и будем сопровождать и отлаживать. Ибо, зачем же нам лезть в дебри generated-сорцов? А вот Win Live, насколько мне известно, гораздо старше S#’а, тут дело, видимо, не в том ;) А производительность, имхо, будет достаточно велика: при отладке во время компиляции, при средствах визуализации кода и рефакторинге, усилий разработчиков будет затрачено в разы меньше, нежели при написАнии продукта “вслепую”.

    Может быть это просто мне кажется, что код, сгенеренный из другого кода - немного ивращение. При том, что JavaScript вполне себе самостоятельный и самодостаточный язык. Плюс, где гарантия, что сгенеренный код будет хорошо работать на всех браузерах? И насколько велик дополнительный оверхед такого кода? Вот насколько тяжелый переход от человеческого ООП к функционально-ориентированому JS? Каким образом это достигается, ведь вариантов много. Единственное что, юнит-тесты для JS - это из разряда эзотерики. Нормальных тулзов не видел. Да и вообще, всё, что я видел в этом плане - это JsUnit.

    И вообще. Можно бесконечно долго обижать мелкомягких, но факт налицо: Студия - лучшая ИДЕ на сегодняшний день. Даже NetBeans (рядом с которым тот же Eclipse смотрится как ноутпад) очень серьёзно недотягивает до него.

    Ну тут не поспорю, так как студией не пользуюсь уже очень давно (последней, которой пользовался кажись 7ая была:)). Что касается IDE для JS, то пока Aptana (в качестве плагина к Эклипс) очень даже устраивает. В конце-концов с JS-фреймворками ничего не работает лучше, чем Aptana. Для PHP тоже плагин к Эклипс - PDT. Может просто этого хватает для моих нужд :)

  5. Gravatar Icon 5 folone 6-8-2008 Quote

    Может быть это просто мне кажется, что код, сгенеренный из другого кода - немного ивращение.

    Драсте. %) А байт-код? А MSIL? Это не извращение, а отлично зарекомендовавшая себя технология :)

    При том, что JavaScript вполне себе самостоятельный и самодостаточный язык.

    Ну..имхо, нет.

    Плюс, где гарантия, что сгенеренный код будет хорошо работать на всех браузерах? И насколько велик дополнительный оверхед такого кода? Вот насколько тяжелый переход от человеческого ООП к функционально-ориентированому JS? Каким образом это достигается, ведь вариантов много. Единственное что, юнит-тесты для JS - это из разряда эзотерики.

    Так уже работает :) А технические моменты можно просто посмотреть и потрогать самому ;)

  6. Gravatar Icon 6 excieve 6-9-2008 Quote

    Драсте. %) А байт-код? А MSIL? Это не извращение, а отлично зарекомендовавшая себя технология :)

    Байт-код и MSIL - это немного иное. Байт-код - совсем не язык программирования :) Скорее машинно(/платформо)-независимый этап между собственно программой и машинным кодом. И это действительно оправдано. JS - совсем не из этой оперы.

    Ну..имхо, нет.

    Ну и чем JS не самодостаточный язык? Это прекрасно показано такими технологиями, как Jaxer.

    А технические моменты можно просто посмотреть и потрогать самому ;)

    Что касается потрогать это самому - лучше буду юзать оригинальный JS с человеческим IDE (Aptana, тоесть) :) Плюс это ж Винду надо ставить тогда :) Просто интересно, насколько хорошо это реализовано.

    Ещё кстати, мне кажется (возможно я не прав), что S# ограничнивает в выборе фреймворка. Тоесть можно юзать только что-то встроенное. Это так? Про jQuery, Prototype, ExtJS, … можно забыть?

Leave a Reply

Quote selected text