8

我即将构建一个大型 Javascript 应用程序,我想以更结构化的方式构建它。
Jquery 将用于 css 效果。
服务器端将在 c# 中。
你能分享你的知识和经验,哪个更好?

  1. 哪个功能更丰富?
  2. 哪个记录得更好?
  3. 类型脚本真的是强类型吗?

此外,从长远来看,ScriptSharp 是单人表演(据我了解),而 Typescript 是由 Microsoft 构建的。
谢谢

4

4 回答 4

18

哪个功能更丰富?

两者都不 - 编译后的 JavaScript 使您可以使用所有 JavaScript。

哪个记录得更好?

文档可能不是正确的问题。当您遇到困难时,哪个有更多可用信息/强大的社区可以帮助您?截至目前,Stack Overflow 上有 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)的热情出现在该项目之前。

于 2013-02-07T14:13:44.040 回答
7

ScriptSharp 虽然是单人秀,但一直在不断发展。近 3 年来,我们一直在将 ScriptSharp 用于大型 Web 应用程序,它为我们提供了很好的服务。使用 C# 编写代码的能力帮助我们快速行动,并且减少了培训开销。

ScriptSharp 有一个明显的缺点,即当新版本发布时,某些版本中有很多重大更改。但是我们非常喜欢它,以至于我们愿意忍受破坏性的变化并做出相应的改变。

如果您有专门的基础架构团队来处理此类架构更改,您可以使用它们来跟上 ScriptSharp 并为 javascript 库编写包装器,根据我们的经验,我强烈推荐 ScriptSharp。在决定采用哪种技术之前,请先评估两者的简单原型。您也可以尝试 Sharpkit 以获得有趣的替代方案。链接-> http://sharpkit.net/

于 2013-03-20T07:09:46.327 回答
2

我也在调查这个问题,从我的研究来看,微软似乎已经使用 Script# 来构建他们所有大型 Web 应用程序的前端,例如 Office Web Apps、Hotmail、Office 365、SharePoint 2013,并且他们使用的是旧版本比最新版本的 Script# 因为人们说它已经足够稳定了。问题是微软似乎通过不向公众发布用于 SharePoint、CRM 和 Office 之类的 Script# 定义文件(导入库)来阻止我们使用这种生产力工具,因此似乎大多数人正在转向 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

哦,Codeplex 上有一个 CRM 定义,但我没有链接 :)

于 2013-10-26T01:32:42.343 回答
1

如果您是 .net 开发人员,那么您绝对应该至少检查一下 script#。是的,这是一个人的表演。是的,它不像 TypeScript 那样被宣传,但是周围的许多开发人员可以与 MS 徽标竞争吗?

我有 Script# 的实践经验,但没有 TypeScript 的实践经验。以后不想再接触的唯一原因是 script# 适用于已经熟悉 c#+JS 的人,而 TypeScript 是一个全新的故事,对您的项目来说是新的成本。

于 2013-09-22T11:52:30.680 回答