首页 > 解决方案 > 选择 React 或 Angular 等前端技术来实现具有 1000 多种不同表单/视图的 Silverlight 应用程序的现代化

问题描述

我们希望将 Silverlight 应用程序转换为一些现代 Web 技术,例如 react 或 angular 或任何其他合适的技术,因为 Silverlight 的生命周期将在今年年底接近尾声。

我正在寻找有关以下要求参数选择最佳前端技术的建议

  1. Silverlight 应用程序有更多大约 1000 个视图/表单要转换为新框架
  2. Silverlight应用程序一旦加载到浏览器上就非常快,新的选择至少应该接近我们在Silverlight中获得的性能
  3. 是否有任何可用的工具或技术,通过这些工具或技术可以在新技术中重用某些代码
  4. 前端技术的选择将如何影响代码的可维护性?哪一种容易维护?
  5. 我们可以使用什么策略在浏览器上以块的形式加载应用程序,而不是因为它太大而一次加载它?
    • 一口气
    • 按需加载
    • 基于权限的界面加载

我更倾向于使用 Reacjs,但我需要你的帮助来决定哪个 JavaScript 框架最适合 Reactjs、AngularJs、Vuejs 或任何其他框架。

标签: javascriptreactjsangularjssilverlight

解决方案


如果您确实关心更改所需的工作量,则应考虑首先迁移到OpenSilver(webassembly silverlight 替换)或WPF,可能单击一次进行部署。这样,您就可以从与今天类似的具有更好性能的东西开始。

几年前,我们切换到WPFClickOnce ,可能有 50 多种复杂的表单,主要是通过搜索和替换来更改一些 xaml 命名空间,因此应该可以在几天内完成。我们的最终用户(甚至他们的 IT 部门都非常高兴)

切换后,您可以使用 webview2 或什至 blazorview 并在应用程序中托管页面,开始将页面一一迁移到基于 html 的技术。

  1. 可维护性主要受您使用它的方式和您制作的结构的影响。你会发现人们为所有不同的技术争论不休,并说他们最喜欢的是最好的,所以最好在小范围内试用它们并确定适合团队的东西。

如果您使用 clickonce,请考虑使用具有良好压缩支持的 CDN,并且(如果这是一个大问题,您也可以使用可选的延迟组件)。您可能要考虑不要将所有内容都设为单个 SPA,除非您有充分的理由这样做,而是有许多不同的页面,这样可以更轻松地快速启动。


推荐阅读