TypeScript VS ScriptSharp - Какой компромисс?

Я собираюсь создать крупномасштабное приложение Javascript, и я хочу сделать его более структурированным.
Jquery будет использовать для CSS-эффектов.
На стороне сервера будет в C#.
Можете ли вы поделиться своими знаниями и опытом, что лучше?

  1. Какой из них более многофункциональный?
  2. Что лучше задокументировано?
  3. Является ли скрипт типа действительно сильно типизированным?

Кроме того, в долгосрочной перспективе ScriptSharp - показ одного человека (насколько я понимаю), а Typescript был создан Microsoft.
Спасибо

4 ответа

Решение

Какой из них более многофункциональный?

Ни то, ни другое - скомпилированный JavaScript делает весь JavaScript доступным для вас.

Что лучше задокументировано?

Документация, вероятно, не правильный вопрос. Который имеет больше информации / сильное сообщество, чтобы помочь вам, когда вы застряли? На данный момент существует 141 вопрос ScriptSharp (с 48 подписчиками) по переполнению стека и 623 вопроса TypeScript (с 328 подписчиками).

TypeScript имеет очень четкую спецификацию языка. Я посмотрел документацию по ScriptSharp - кто-то должен будет указать, где это... Я предполагаю, что есть подмножество C#, которое вы можете использовать, и мне было бы интересно узнать, что это за подмножество.

Действительно ли TypeScript строго типизирован?

TypeScript статически типизирован. Он будет проверять типы во время компиляции (а IDE будет проверять во время разработки). Ошибки будут сгенерированы для нарушений типа, хотя вы также можете выбрать динамическую типизацию, если хотите.

Какой я должен использовать?

Если вы не можете думать о написании кода для чего-либо, кроме C#, вам следует использовать ScriptSharp. Во всех остальных случаях я рекомендую TypeScript. Понимание JavaScript полезно с учетом того, что язык настолько вездесущ, а TypeScript предоставляет вам ранний доступ к функциям языка ECMAScript 6, поэтому, если вы решили отказаться от всего и использовать чистый JavaScript, ваш опыт кодирования на TypeScript будет более ценным.

Я предвзятый, в некотором смысле. Мне так нравится TypeScript, что я написал книгу об этом. Однако энтузиазм по поводу TypeScript (а не Dart, CoffeeScript, ScriptSharp) предшествовал этому проекту.

ScriptSharp постоянно совершенствуется, хотя это шоу для одного человека. Уже почти 3 года мы используем ScriptSharp для крупномасштабного веб-приложения, и оно хорошо нам помогло. Умение писать код на C# помогло нам быстро продвинуться, и у нас было меньше затрат на обучение.

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

Если у вас есть специальная инфраструктурная команда для обработки таких архитектурных изменений, вы можете использовать их, чтобы не отставать от ScriptSharp и писать оболочки для библиотек javascript, я настоятельно рекомендую ScriptSharp на основе нашего опыта. Пожалуйста, оцените простой прототип в обоих, прежде чем вы решите, с какой технологией идти. Вы также можете попробовать Sharpkit для интересной альтернативы. Ссылка-> http://sharpkit.net/

Я также смотрю на это, и из моих исследований выяснилось, что Microsoft использовала Script# для создания внешнего интерфейса всех своих крупных веб-приложений, таких как Office Web Apps, Hotmail, Office 365, SharePoint 2013, и они используют более старые версии. чем последний выпуск Script#, потому что люди говорят, что он достаточно стабилен, как есть. Проблема в том, что Microsoft, похоже, скрывает от нас этот инструмент повышения производительности, не публикуя общедоступные файлы определения Script# (библиотеки импорта) для таких вещей, как SharePoint, CRM и Office, поэтому большинство людей вместо этого переходят на TypeScript. Однако я склоняюсь к использованию Script# и построению нужных мне определений.

Рекомендации:

http://weblogs.asp.net/soever/archive/2009/10/20/sharepoint-2010-client-side-javascript-object-model-library-written-in-script.aspx

Начало работы: http---scriptsharpcontrib.codeplex.com/wikipage?title=Getting%20started%20with%20ScriptSharp

Да, и есть определение CRM на Codeplex, но я не на связи:)

Если вы являетесь разработчиком.net, то вам обязательно нужно проверить хотя бы скрипт #. Да, это шоу для одного человека. Да, он не так рекламируется, как TypeScript, но могут ли многие разработчики конкурировать с логотипом MS?

У меня есть практический опыт работы со Script#, но не с TypeScript. И единственная причина, по которой мы не хотим касаться позже, заключается в том, что скрипт # применим для людей, уже знакомых с C#+JS, тогда как TypeScript - это совершенно новая история и новая стоимость для вашего проекта.

Другие вопросы по тегам