SAP UI5与其他Javascript框架相比有何区别?

28

我想了解SAPUI5作为一个框架的地位。

(1)它像jQuery一样是一个库,有许多实用函数、效果、动画等吗? 还是 (2)它像Backbone、Angular、Ember等MVC库?

  • 如果是1,那么它怎么可能取代jQuery呢?
  • 如果是2,那么它相对于这些其他框架有什么优缺点呢?

除了它是SAP专有的框架外,我真正想知道的是这个框架背后的原则和哲学,以及它在前端方面的时间考验如何-

  1. MV*构建应用程序的哲学
  2. 构建单页应用程序
  3. 与Backbone、Angular等其他框架一起学习曲线 (我的意思是,如果我学习SAPUI-5,我的其他 框架的学习曲线会增加还是减少,或者会受到什么影响)

最后,如果有的话,我能否用其他框架创建SAPUI5生态系统。


@dparnas,SAP UI5已经有一个标签了。这个问题以及您添加该标签的所有其他问题都已经有了该标签。请停止添加新标签,因为它只会引起混乱。 - Charles
3
@Charles,我理解你的担忧,但情况比表面上看起来要复杂一些。你知道sapui5是一个企业许可框架,已经分叉为开源许可框架openui5。它们共同的底层框架是ui5。我们是一群想帮助人们更容易学习openui5的人,我们认为在两者之间有一个更好的区分非常重要。sapui5问题通常在SAP自己的社区scn.sap.com处理,但openui5问题最好在stackoverflow上处理。 - dparnas
1
同时使用sapui5和openui5标签会导致稀释;UI5既是专有的又是开放的,一些人选择其中之一,而其他人(例如开源开发者)则选择另一个,但两者共享95%的技术,因此使用单个标签是有意义的。 - qmacro
@Charles 发现另一个重复的标签 sapui http://stackoverflow.com/questions/tagged/sapui 你能否删除它或将其作为 sapui5 的同义词? - dparnas
1
@Charles:正如qmacro已经指出的那样,SAP UI5和Open UI5几乎是相同的。因此,我强烈建议使用单一标签。由于该框架通常被简称为UI5,因此这应该是常用的标签。 - cschuff
显示剩余4条评论
1个回答

25
这是一个相当大的问题,很容易有一个非常长的答案,也可能涉及到观点和事实。但我会尽力回答。

首先是“哪个工具包”的问题。有SAPUI5,它是工具包最初采用的名称(现在仍然如此),受到某些SAP许可限制。自2013年12月以来,还有OpenUI5,它是同一工具包的开源版本(目前减少了一些内容,但大部分仍然相同)。当人们提到UI5时,他们指的是SAPUI5和OpenUI5。

因此,“SAPUI5”是专有的,而其兄弟“OpenUI5”则是完全开源的。

UI5是一个功能齐全的工具包,其中包括:

  • MVC
  • 支持JSON、XML和OData数据绑定
  • 模块加载和管理
  • 支持基于组件的应用程序创建
  • 国际化(包括RTL支持)
  • 路由
  • 不同的控件库,例如sap.ui.commons和sap.ui.table名称空间中的丰富的桌面专用控件,以及在sap.m名称空间中为智能手机/平板电脑/桌面计算机提供响应式控件(SAP Fiori应用程序套件构建在此上)

关于jQuery的问题-它使用jQuery和许多其他库,并在其基础上构建,因此它不是jQuery的竞争对手或替代品。实际上,从个人经验来看,我不是jQuery专家,但我可以很好地使用UI5构建应用程序。

关于与其他MV*框架的优缺点的问题,我认为在这个答案中没有足够的空间来涵盖这样一个广泛的问题。

我不确定您在谈论MV*方面的“经得起时间考验”的含义;MVC作为一个概念几乎从一开始就存在,所以我想它已经经受住了考验;UI5相对较年轻(2-3年),因此在多年的考验中仍需证明自己,但如果考虑到在SAP世界中正在发生的大规模应用程序开发,那么它目前做得相当不错。

学习曲线?我传统上是后端/集成开发人员,我没有太多麻烦地掌握了UI5。难以回答这个问题,因为不知道您的技能和接受它的愿望。

SAPUI5内部生态系统?不确定我理解这个问题。

希望这有点帮助。


谢谢DJ :) 实际上这帮了很多。我想知道的是在SAPUI5和Backbone / Angular(带有jQuery)中开发应用程序的基本区别是什么。哪种方法是最有效的开发方式(我知道它取决于要求-但一些一般指针会很好!)。我目前正在学习构建Backbone应用程序。同时我也必须在SAPUI5中进行开发。所以想提前了解哪种方法更好。我知道SAPUI5用于构建SAP应用程序。但我不想被困在单一的做事方式中。 - subh
希望这样解释可以澄清其中的一部分内容。 - subh
2
在剩下的评论中很难涵盖这个问题的答案。但原则上,体验会相似;也许可以说,使用Angular、Backbone等框架时,你从一开始就更接近于底层(HTML),而使用UI5时,你可以选择接近或保持距离,使用抽象控件层。我不是HTML5大师,但因为我使用UI5,所以能够很好地应对。而且调试非常愉快(内省等)。我的建议是尝试一下,看看TodoMVC(UI5在其中)并进行比较。希望有所帮助。 - qmacro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接