Подтвердить что ты не робот

Какие преимущества может внести ScriptSharp в мой набор инструментов?

В настоящее время мы используем jQuery для добавления поддержки RIA к нашим приложениям, но в последнее время мы внедряем Coveo Search engine в наш портал Sharepoint и обнаружили, что ScriptSharp использовался в своем продукте. Что может сделать ScriptSharp в таблице?

4b9b3361

Ответ 1

Я использую ScriptSharp, когда мы говорим, обнаружив его около 2-3 недель назад. Честно, мне это нравится. Родной Javascript - это вызов, и модель DOM делает клиентское программирование еще хуже. Затем я обнаружил jQuery около шести месяцев назад, и я подумал, что это была находка. jQuery увеличил мою производительность, но я все равно часто увязываюсь с jQuery, потому что вам все еще нужно писать и отлаживать и настраивать Javascript.

Введите ScriptSharp. Это повысило мою производительность над jQuery и значительно уменьшило мои головные боли. Самые большие преимущества, которые я вижу, это тот факт, что мощь С# и Visual Studio принадлежит вам, когда вы пишете код. Сила этого нельзя недооценивать. Теперь небольшие ошибки Javascript, которые занимали часы для отладки, устраняются во время компиляции. Строки кода, вероятно, примерно в два раза больше, чем у jQuery, но производительность намного выше, поэтому кто заботы? Вы в основном просто пишете код, с гораздо меньшим количеством циклов компиляции/тестирования/отладки. Часы становятся минутными.

Я скажу, что первоначально было довольно сложно заставить ScriptSharp работать с Microsoft AJAX, пока я не узнал о очень важном шаге, который вы должны предпринять, чтобы работать с ним. Я вытащил свои волосы за несколько дней до того, как узнал об этом. (Я считаю, что это документировано в 61-страничном PDF файле ScriptSharp, но его очень легко замаскировать). Ключ должен выбрать тип проекта "Script # Библиотека классов внутри веб-сайта" (или "Класс MS Ajax" Библиотека внутри веб-сайта ") при создании библиотеки ScriptSharp. Это помещает проект ScriptSharp в каталог Bin/Scripts на веб-сайте и - очень важно - направляет скомпилированный вывод в этот каталог, а не в каталог" bin" по умолчанию проекта ScriptSharp. Возможно, пример будет поучительным:

Web Site or Application directory\
   Bin\ 
      Scripts\           <-- "..\\" config setting sends .js files here.
         ScriptSharp Project directory\
            Bin\         <-- will not be used at run time
               Debug\    <-- will not be used at run time

Короче, я нашел этот проект стоящим. Я собираюсь написать свой собственный HOW-TO (который в моем случае включает в себя использование элементов управления веб-пользователей) о том, как связать все вместе и разместить URL-адрес здесь. Теперь, когда я понял ScriptSharp, это сделало меня очень продуктивным в моей разработке RIA. Если бы это было более заметно, и если бы еще был сайт CodePlex.

Ответ 2

В моей последней компании я использовал Script # очень широко. Мне удалось написать несколько классных элементов управления (на самом деле весь стек MVC на стороне клиента), которые я бы не смог сделать с моим знанием javascript. Однако я не буду использовать его снова по нескольким причинам.

  • Проект закрыт, и поддержка невелика (практически не существует, поскольку форум был закрыт). Есть много неприятностей, когда вы используете его на большой глубине, что может быть исправлено, если у вас есть источник. Это становится все более серьезной проблемой, чем больше вы инвестировали в код s #.
  • Он ограничивается подмножеством .NET 2.0, и даже тогда его нечеткая абстракция
  • Недавно модульное тестирование Javascript и VS intellisense для javascript стало намного лучше, поэтому важность статической типизации несколько снижена.
  • Использование этого ограничено моим изучением jquery и javascript

Инструмент для js только улучшается, и до тех пор, пока Script # не будет найден, он остановится.

Если вы заинтересованы в кросс-компиляции, вы также можете посмотреть проект http://jsc.sourceforge.net/, который позволяет использовать .NET 3.5 и скомпилировать JS, Java, Flash или даже PHP! Не уверен, насколько эффективен код, который создается, хотя...

edit: существует новый проект под названием JSIL, который также перезаписывает код .net для JS

Ответ 3

Проект jsc-компилятора позволяет использовать эти сценарии:

  • С# для MSIL для JavaScript для браузера
  • С# для MSIL для JavaScript для AppJet
  • С# для MSIL для PHP5 для хостинга решений
  • С# для MSIL для Java для приложений браузера
  • С# для MSIL для Java для приложений
  • С# для MSIL для Java для JavaCard
  • С# с MSIL на C99 для собственных приложений заглушки
  • С# для MSIL для ActionScript3 для Flash 9
  • С# для MSIL для Adobe Alchemy C для Flash 9
  • С# - от MSIL до С# 2.0

С некоторыми усилиями Visual Basic также можно использовать в качестве исходного языка. Компилятор jsc никогда не читает ваш исходный код, даже если GWT и Script # делают это. Мой компилятор читает ваш IL.

jsc компилятор

  • экспериментальный проект
  • еще одно усилие.
  • скорее полезен уже.
  • 3 года.
  • ожидание пожертвований для оптимизации времени компиляции и выхода

Последний пример - плазменная анимация, где single реализация может использоваться между этими платформами:

FlashPlasma http://jsc.sourceforge.net/examples/web/FlashPlasma/assets/FlashPlasma/Preview.png

Ответ 4

Script sharp Прототип: Microsoft GWT

Согласно этой странице:

  • Чистый язык с естественными конструкциями.
  • Простой рефакторинг и разведка.
  • Возможность генерации документации.
  • Возможность легко настроить код script.

Я не уверен, согласен ли я со всеми этими, но что продажи все равно. Кажется, он набирается с некоторыми функциями OO. Следующее мнение: Как я уже упоминал в других случаях, разработчики Java и С#, похоже, хотят выбросить прототипы/нетипизированные аспекты Javascript, потому что им неудобно писать код таким образом. У них неттипированные языки прототипирования.

Ответ 5

Я хотел бы поделиться своими классами оболочки jQuery для Script #. Теперь вы можете использовать и использовать мощные функции jQuery в вашем проекте Script #.

Получите это отсюда: http://www.springsys.com/blog/