企业元数据应用程序的 HTML 技术选择
Posted
技术标签:
【中文标题】企业元数据应用程序的 HTML 技术选择【英文标题】:HTML technology choices for an Enterprise Metadata app 【发布时间】:2016-05-14 17:18:37 【问题描述】:问题
决定在从富客户端 Silverlight 应用程序迁移到可以处理元数据驱动方法的 html 客户端时选择哪些技术。
背景
拥有超过 6 年开发经验的企业级 Silverlight 应用程序 2 层架构,Silverlight 富客户端使用 ..... 大部分业务逻辑实际在 Silverlight 中执行 直接与服务器后端对话 传统上,我们一直是 Microsoft 商店 团队中很少有现代网络体验 对可用于构建现代 Web 应用程序的技术数量感到困惑 我们对 Angular 1 和 2、Kendo UI 等技术做了一些研究。 我们的整个系统都是元数据驱动的。包括架构、业务逻辑、视图等。要求
-
它必须是元数据驱动的。这意味着视图和数据模型在编译时是未知的。可以在运行时创建和使用视图。看来我一直在查看的 javascript 库对此功能几乎没有支持,它们预计在编译时会知道视图和数据模型。
动态且响应迅速的客户端。在我们的任何自定义视图中,值更改时的某些字段可能会触发服务器命中。反过来,服务器可能会向客户端发送指令,例如自动填充视图上的某些字段,更改某些字段的样式以使其只读或必需,生成对话框,甚至可能是某些 DOM操纵。
如果可能,Silverlight 的简单转换路径。对于其他要求,我知道这可能不可行。
我们需要对我们选择的任何技术做出五年承诺。我们不想选择任何易变或有风险的东西。在可预见的未来,我们正在寻找稳定可靠的产品。
总结
在使用哪种技术和开发模式时,寻求指导。这支持要求。
【问题讨论】:
我们的情况类似,尽管我们的应用程序使用的是 Asp.net。你最终决定使用什么?谢谢 【参考方案1】:有很多方法可以解决这个问题。
首先, 深度与广度。如果您的目标是在广度部署方面拥有深入的经验,那么您就是在追逐技术独角兽(许多截止日期都已被清除)。现实情况是,您所做的任何和所有选择都有一个问题,但您需要坐下来思考的部分是您可能在哪里获得用户以及您如何影响他们。人们通常会因为害怕失去“移动性”覆盖范围而想要广度,但当您考虑开发成本和实际使用情况时,这往往是误报。
因此,一旦您这样做了,就可以确定这一点,这将有助于围绕您可以使用哪些技术进行对话。
宽度: Web 或 Xamarin 是一个可能的候选者。然而,Xamarin 会让你不得不在动态生成 UI 方面赚取报酬,因为 Xamarin Forms 正朝着 XAML 的生活方式前进,但请记住它们偏离了 Silverlight/WPF XAML(我不知道为什么或在哪里Moonlight 项目与他们现在的情况相比......)
鉴于您的 Silverlight 背景,AngularJS 之类的 Web 可能适合您 - 它具有 MVVM 绑定的思维方式,并且您还将在这些方面获得更多社区的支持。它也将保留很多微软的熟悉感。
深度: WPF ...说真的,只要 Windows Xp 到 Windows 10 存在,WPF 也会存在,所以请记住这一点。 WPF 未来可能不会对其代码库进行任何实际添加,但无论如何大部分工作已经到位,因此如果您沿着这条路走下去,真的不会错过太多的增长机会。
在 Silverlight/WPF 时,我们团队也低估了 WPF 的受欢迎程度,所以虽然微软仍然认为它是一项“老技术”,但他们在实际渗透率统计数据方面从来没有真正的好数字,我个人发现它有比 Silverlight 更强劲的增长,因此也可能有更高的社区支持率。
新的 Microsoft SDK 很有吸引力,但请记住,低于 Windows 8 的任何东西都不会为您赢得一些桌面广度。
HTH。
【讨论】:
如果 Josh 想要一个基于浏览器的客户端来支持“所有”平台(Win、Mac、ios、android),你会给他什么建议?我正在考虑后端的 RESTful Web API(以利用他们的 Microsoft 经验),但不确定客户端技术,尤其是 w.r.t.寿命和稳定性。 REST 休息得很好,除非你让整个 UI 100% 依赖于一个给你一个问题答案的网络,否则你不能把它搞砸。请记住,对于 Knockout/Angular 等框架,您往往会非常依赖该拐杖来让页面呈现数据。在移动设置中,空白页不是好兆头。至于 X-Platform,它更像是灵丹妙药而不是现实。在某个地方,您不仅要在浏览器上还要在屏幕分辨率上进行 IF/ELSE。响应式与自适应是一场持续的斗争,因此遗憾的是,选择一个长期使用是不现实的。以上是关于企业元数据应用程序的 HTML 技术选择的主要内容,如果未能解决你的问题,请参考以下文章