javascript - 选择 React 或 Angular 等前端技术来实现具有 1000 多种不同表单/视图的 Silverlight 应用程序的现代化
问题描述
我们希望将 Silverlight 应用程序转换为一些现代 Web 技术,例如 react 或 angular 或任何其他合适的技术,因为 Silverlight 的生命周期将在今年年底接近尾声。
我正在寻找有关以下要求参数选择最佳前端技术的建议
- Silverlight 应用程序有更多大约 1000 个视图/表单要转换为新框架
- Silverlight应用程序一旦加载到浏览器上就非常快,新的选择至少应该接近我们在Silverlight中获得的性能
- 是否有任何可用的工具或技术,通过这些工具或技术可以在新技术中重用某些代码
- 前端技术的选择将如何影响代码的可维护性?哪一种容易维护?
- 我们可以使用什么策略在浏览器上以块的形式加载应用程序,而不是因为它太大而一次加载它?
- 一口气
- 按需加载
- 基于权限的界面加载
我更倾向于使用 Reacjs,但我需要你的帮助来决定哪个 JavaScript 框架最适合 Reactjs、AngularJs、Vuejs 或任何其他框架。
解决方案
如果您确实关心更改所需的工作量,则应考虑首先迁移到OpenSilver(webassembly silverlight 替换)或WPF,可能单击一次进行部署。这样,您就可以从与今天类似的具有更好性能的东西开始。
几年前,我们切换到WPF和ClickOnce ,可能有 50 多种复杂的表单,主要是通过搜索和替换来更改一些 xaml 命名空间,因此应该可以在几天内完成。我们的最终用户(甚至他们的 IT 部门都非常高兴)
切换后,您可以使用 webview2 或什至 blazorview 并在应用程序中托管页面,开始将页面一一迁移到基于 html 的技术。
可维护性主要受您使用它的方式和您制作的结构的影响。你会发现人们为所有不同的技术争论不休,并说他们最喜欢的是最好的,所以最好在小范围内试用它们并确定适合团队的东西。
如果您使用 clickonce,请考虑使用具有良好压缩支持的 CDN,并且(如果这是一个大问题,您也可以使用可选的延迟组件)。您可能要考虑不要将所有内容都设为单个 SPA,除非您有充分的理由这样做,而是有许多不同的页面,这样可以更轻松地快速启动。
推荐阅读
- sql - 如何在 Laravel 中执行 join 语句,然后通过 2 个特定用户 ID 查询结果,然后对特定列求和
- i18next - 无法创建正确的 i18next 实例来使用它反应组件
- jenkins - 在 Jenkins 中安装 npm peerDependencies
- mysql - MySQL bulk INSERT .. ON DUPLICATE KEY UPDATE 同时指定个别列
- awk - grep file1 到 file2 不改变顺序
- bash - 在 GNU Bash 4.2.46(2) 中捕获列的单个单元格
- javascript - 我应该如何设计卡片的样式,以便每行可以有 3 张卡片?
- python - 直方图将两个数据集相互参考
- sql - 外部联接不起作用,查询中只需要 Null 列
- ruby - Ruby:将相同的参数传递给类中的多个方法