我们正在构建几个最终将成为一个前端应用程序的应用程序。它现在被分成几个项目,每个项目都由自己的scrum团队管理。
较旧的应用程序构建在角度1上,而更新的应用程序构建在React上。其结果是外观上的不一致,使用角和反应的开发人员之间的多样性,以及不同框架之间缺乏可重用的组件(构建在React中的表不能用于角,反之亦然)。
高层的决定是将React应用程序移植到角1,这使许多React开发人员,甚至是一些聪明的开发人员非常愤怒,知道React有助于我们生成更好的代码,比角1更容易推理。它也是新的,而re 1也需要对角2进行完全重写。然而,React在将来可能会被更新的东西所取代,而且最终也会变老。
如果两个或更多的javascript框架过时,并最终被新的东西所取代,同时保持不同框架之间的一致外观,如果可能的话,可重用组件,那么如何处理这种情况呢?例如,运行角1并对单个应用程序作出反应是可能的吗?
发布于 2016-06-02 07:47:13
没有明确的答案,只有几种选择:
在这种情况下,这意味着永远坚持角1。这不一定是坏事。它是开源的、基于标准的、可靠的和文档化的,因此基本上您可以在几十年内继续使用它,即使您最终对框架的代码进行了自己的维护。两个缺点是更新的框架可能更有效率/更强大,而且由于您使用的是这种过时的技术,最终很难吸引和留住开发人员。
例如,您可以对react表进行标准化,并通过将其包装在角组件中,从角代码库中使用它。您还可以统一所有解决方案的样式。好处是你可以集成新技术,缺点是你有相当多的开销来确保所有的东西看起来都一样,并且重用相同的组件。
保留您的后端服务,但是每隔几年就用一种新的技术重建前端。您允许客户在登录时切换到“新布局”,并且在开始时它将有缺少的功能,但是它拥有的功能可能比旧的UI做得更好。好处是,每隔几年,你就可以重新开始,按照现代标准构建它,并摆脱设计不佳的特性。缺点是这个重建项目代价高昂,虽然不完整,但它意味着每项新功能都要构建两次(除非您可以要求用户在传统和新的前端之间进行乒乓)。
在所有这些情况下,一个关键因素是技术人员必须作出技术选择,以实现上级设定的业务目标。管理者不应要求对角1进行标准化或反应,只需发出他们希望拥有统一的用户界面和一套开发技能的呼叫,并责成技术领导做出实现这一目标的技术决策,其中可能包括对角1进行标准化。如果技术团队无法做出决策,决策只需升级到管理。
发布于 2018-10-23 07:04:17
我知道这是一个旧的帖子,但我想分享我的发现,以防有人在寻找同样的信息。
正如您在本文中所读到的:
在单个页面应用程序中集成多个js框架的方法称为微前端。
本文提出的元框架是单spa (https://single-spa.js.org/)。
您还应该查看html自定义元素(在角元素中它们被称为“角元素”)。它们是自定义的html标记,允许在内部加载微应用程序(角、响应和vue支持它们)。
https://softwareengineering.stackexchange.com/questions/320065
复制相似问题