企业元数据应用的 HTML 技术选择
HTML technology choices for an Enterprise Metadata app
>问题
确定从富客户端 Silverlight 应用程序移动到可以处理元数据驱动方法的 HTML 客户端时要选择的技术。
背景
- 具有 6 年以上开发经验的企业 Silverlight 应用程序
- 2层架构,Silverlight富客户端使用.....在 Silverlight 中实际执行的大部分业务逻辑
- 传统上,我们一直是一家Microsoft店
- 团队中几乎没有现代 Web 体验
- 对可用于构建现代 Web 应用程序的技术数量感到困惑
- 我们对Angular 1和2,剑道UI等技术进行了一些研究。
- 我们的整个系统都是元数据驱动的。包括架构、业务逻辑、视图等。
要求
- 它必须是元数据驱动的。这意味着视图和数据模型在编译时是未知的。可以在运行时创建和使用视图。看起来我一直在看的 JavaScript 库对这个功能几乎没有支持,他们期待在编译时知道视图和数据模型。
- 动态且响应迅速的客户端。在我们的任何自定义视图中,当值更改时,某些字段可能会触发服务器命中。反过来,服务器可能会将指令发送回客户端,例如自动填充视图上的某些字段,更改某些字段的样式以使其成为只读或必需的,生成对话框,甚至可能是一些DOM操作。
- 如果可能的话,从 Silverlight 的简单转换路径。对于其他要求,我知道这可能不可行。
- 我们需要对我们选择的任何技术做出五年的承诺。我们不想选择任何不稳定或有风险的东西。在可预见的未来,我们正在寻找稳定可靠的产品。
总结
寻找有关在使用哪些技术和开发模式时采取哪个方向的指导。这支持要求。
多种方式解决此问题。
首先深度与广度。如果您的目标是在广度部署方面获得深入的经验,那么您正在追逐技术独角兽(许多截止日期已经清除了这次狩猎(。现实情况是,你所做的任何和所有选择都有一个问题,但你需要坐下来思考的部分是你可能在哪里获得用户以及你如何影响他们。通常,人们会因为害怕失去"移动性"覆盖范围而想要广度,但是当您考虑开发成本和实际使用情况时,有时这是一个误报。
因此,一旦你这样做了,它将有助于围绕您可以使用哪些技术进行对话。
广度:Web或Xamarin是一个可能的候选者。然而,Xamarin将使你必须在动态生成UI方面赚取报酬,因为Xamarin Forms正在走向XAML的生活方式,但请记住,它们偏离了Silverlight/WPF XAML(我不知道为什么或月光项目与现在相比去了哪里......
考虑到你的Silverlight背景,像AngularJS这样的Web可能适合你 - 它具有MVVM绑定的思维方式,并且你也会有更多的社区支持你。它也将保留很多Microsoft熟悉感。
深度:WPF ...说真的,只要Windows Xp到Windows 10存在,WPF就会存在,所以要记住这一点。WPF 将来可能没有任何实际添加到其代码库中,但无论如何,大部分工作已经到位,因此,如果您沿着这条道路走下去,您真的不会错过太多的增长机会。
在 Silverlight/WPF的时候,我们团队也低估了 WPF 的受欢迎程度,所以虽然Microsoft仍然认为它是一种"旧技术",但他们的实际渗透统计数据从来没有很好的数据,我发现它个人比 Silverlight 有更强的增长,所以也可能有更强的社区支持率。
新的Microsoft SDK很有吸引力,但请记住,Windows 8以下的任何内容都不会为您赢得一些桌面广度。
呵呵。
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- d3基于用户选择动态更新节点
- 提交后保留下拉选择的值
- JQuery对动态创建的对象进行选择
- 无法在Ionic select中预先选择最后一个选项
- 如何选择由 DevExpress constrols 使用 Javascript DOM 技术自动生成的 html “i
- 企业元数据应用的 HTML 技术选择
- 选择表中的一行或多行,并为该元素提供背景的技术
- HTML5网络应用程序-选择服务器端技术
- 选择仪表板技术- extjs, flex, angularjs等
- 我如何突出文本-严格定时-一个la卡拉ok没有Flash在网页上.什么技术选择
- 无法创建属性'选择'在字符串'信息技术'angularjs