选择 React 或 Angular 等前端技术对具有 1000 多种不同形式/视图的 Silverlight 应用程序进行现代化改造

问题描述

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

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

  1. Silverlight 应用程序有大约 1000 个视图/表单可以转换为新框架
  2. Silver light 应用程序加载到浏览器后速度非常快,新选择至少应该接近我们在 Silverlight 中获得的性能
  3. 是否有任何可用的工具或技术可以在该新技术中重用某些代码
  4. 前端技术的选择将如何影响代码的可维护性?哪个易于维护?
  5. 我们可以使用什么策略在浏览器上分块加载应用程序而不是一次加载它,因为它会很大?
    • 一键搞定
    • 按需加载
    • 基于权限的界面加载

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

解决方法

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

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

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

  1. 可维护性主要受您使用它的方式和您构建的结构的影响。您会发现人们为所有不同的技术争论不休,并说他们最喜欢的就是最好的,因此最好小规模地试用它们,然后确定适合团队的技术。

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

,
  1. UWP,前提是 Windows 桌面前端满足要求。 Blazor(如果必须基于 Web)。
  2. 答案可能主要基于意见。更多地与代码结构有关,而不是技术 imo。
  3. 只需在需要时加载内容。