将Silverlight APP转换为HTML5 SPA - 工具和技术

U.P*_*U.P 8 silverlight asp.net-mvc wcf-ria-services angularjs single-page-application

我的团队正致力于将基于云的Silverlight应用转换为HTML5应用的策略.虽然我们一直致力于制定策略以找到最佳的工具,技术和方法来将我们的应用程序转换为HTML,但我在这里提出这个问题是为了从SO的大型社区获得一些反馈,并从中获取经验.最近可能做过类似事情的人.

我的问题有几个部分.

  1. 我们的应用程序是用Silverlight编写的,并使用WCF RIA服务.最重要的是,我们非常依赖MVVM,我们希望不再重写该逻辑,从而尽可能多地重用代码.在您看来,我们可以使用哪种工具和技术的最佳组合?

  2. 为了制作SPA,我们希望使用一些"酷"新框架,但我们真的希望最小化我们的工作(由于硬截止日期),并能够轻松快速地彻底测试我们的应用程序(因此代码重复使用).SPA是一个不错的选择,还是我们应该选择传统的MVC应用?请记住,我们的应用程序中有超过200个视图.

  3. 如果我们选择走SPA路线,哪个框架最适合寿命.我们不得不离开Silverlight,因为它很快就要死了.我们不希望在不久的将来再次陷入同样的​​境地.

小智 1

将现有的 Silverlight 应用程序迁移到 HTML5 Web 应用程序是 AngularJS 的完美项目。Angular 有自己类似的 MV* 设计模式,但您不会“重用”现有 silverlight 应用程序中的代码。主要思想和抽象可能是相似的,但只是 html 和 js 如何协同工作的本质,特别是它们如何在 Angular 中工作,你必须以 Angular 方式来做。

此外,Angular 在某种程度上是一种 Web 开发的工程方法。它不是一个周末就能学会的框架。其中涉及很多内容。在 Angular 中有一些菜鸟做事的方法,有些菜鸟式的方法做同样的事情,然后是所谓的“正确”的做事方式,所以你可能会发现自己学习了一些做事的方法,只是为了将它们替换为“更好的方法”。

如果你想“最小化你的工作”,那么 Angular 可能不是最好的选择,但如果你希望你的 HTML5 应用程序真的很棒,那么除了习惯 Javascript 固有的怪癖之外,你使用的任何框架都需要一些学习。

Angular 2 很热门,刚刚发布了 Beta 版本,但我仍然很高兴在所有生产应用程序中使用 AngularJS 1.4。