去年我去一个国内客户现场时,曾经和他们IT部门的一位架构师聊到关于在SAP平台上进行UI应用的二次开发时,UI框架是选用UI5还是Vue这个话题.

我们代表SAP, 向客户推荐使用UI5是基于以下六点原因:

  1. Fiori consists of a large number of UI controls aimed at Enterprise application developed by top JavaScript developers in SAP. Those UI controls pass strict testing by SAP regarding functionality, usability, accessibility and performance. By developing on top of those controls, Fiori application developers can really concentrate on the implementation of their business logic. The final built application have a consistent look and feel.

  2. Fiori is a responsive UI framework, which achieves that develop once, and can run on any supported terminals listed in SAP help. No additional pack and installation is necessary which is inevitable for other open source UI framework.

  3. Fiori won Red Dot Award out of 4680 competitors from 61 countries in Design Concept Competition in 2015, which proves that the UX idea of Fiori has completely been confirmed by UX professionals.

  4. Fiori provides robust role based access control and authorization where the concept of PFCG role is reused. Customer do not need to apply any third party authorization solutions.

  5. Fiori has its dedicated software component and thus the upgrade is decoupled from CRM backend. While the backend version can keep stable, Fiori can be free to keep to latest version to benefit from continuous function enhancement and performance improvement shipped by SAP, no worry about any risks that this UI upgrade can have negative impact on backend.

  6. The maintenance and continuous development ( new function iteration ) can never be ignored in Enterprise application development. There are also lots of tool-sets provided by Fiori to help customer with automation test and regression test, mock server to separate frontend / backend development. All of those help customer improve their development efficiency.

而客户的IT部门架构师考虑到他们部门的开发人员对Vue比较熟悉,已经有了不错的技术积累,同时他们对UI5做过简单调研,觉得UI5的性能存在问题,因此他们更青睐Vue.

回到office之后,我把这个问题抛到SAP内部的微信群上,激起技术人员们热烈的讨论。大家能基本达成一致的观点是 - 正如抛开应用场景单独谈论几种编程语言的优劣是耍流氓行为一样 - 这些UI框架各自有其特定的使用场景,在特定的场景下选用合适的UI框架能最大程度的扬长避短。

我从2014年10月起才开始用UI5做SAP的Fiori应用的标准开发,而对于Angular,React和Vue, 我不是专家,仅仅停留在会用的阶段,并且在项目需求的情况下读过这三个框架的相关源码,因此这是这篇文章取名"碎碎念"的原因。

一位SAP的同事, Fahad Alshunaiber, 曾经在他的博文Side by Side: SAPUI5 vs. React & Angular2里对于UI5, Angular和React做过一个比较:

SAP labs里的很多同事都读过这篇博文,并且都有自己的见解。有的同事认为这个比较出自SAP employee之手而不是第三方机构,是否能做到绝对客观?有的同事对这个图标里的某些判断持保留意见。但大多数同事的看法还是比较统一:

如果在SAP平台上做二次开发来填补SAP标准产品的功能gap, UI5是一个不错的选择,理由见这篇文章最开始的那6点阐述

如果业余时间自己做一些小的应用来玩或者满足自己个人某方面的需要(比如自己的知识管理应用,或者是做一个Labs内部足球俱乐部的管理应用), 这时大家会倾向于尝试UI5以外的其他应用.

我自己在学习这些非UI5的框架时,喜欢和我的另一篇文章Jerry的ABAP, Java和JavaScript乱炖提到的一样,把一些无论任何UI框架都必须实现的一些最基本的功能点拿出来横向比较。下面是我的一些学习笔记:

  1. Compare Event handling mechanism: SAPUI5 and Angular

    https://blogs.sap.com/2016/06/09/compare-event-handling-mechanism-sapui5-and-angular/

  2. Compare Data Binding mechanism: SAPUI5 and Angular

    https://blogs.sap.com/2016/06/30/compare-data-binding-mechanism-sapui5-and-angular/

  3. Compare Controller mechanism: SAPUI5 and Angular

    https://blogs.sap.com/2016/07/01/compare-controller-mechanism-sapui5-and-angular/

  4. Two way data binding: UI5 VS Vue https://blogs.sap.com/2017/06/14/two-way-data-binding-ui5-vs-vue/

同时,在我的这篇博文 Use Chrome development Tool to compare Rendering performance between SAPUI5 and React

https://blogs.sap.com/2016/02/26/use-chrome-development-tool-to-compare-rendering-performance-between-sapui5-and-react/

里,我分别用UI5和React做了两个最简单的应用,然后试图去比较他们的渲染性能。Walldorf的UI5开发专家Andreas Kunz(我曾经在我的公众号文章Jerry的UI5框架代码自学教程里提到过他)毫不客气地指出了这种性能比较实际没有任何意义。

所以如果您已经读到了这里,建议您点开上面的原文链接,去阅读Andreas写了一大段的为什么认为我的比较是毫无意义的原因,我相信一定会有收获。

还有一些有意思的比较是用这几个UI框架在Github上的Star number已经帮助文档的点击数来判断谁更在UI developers中间用得更多。

而一位前端开发人员laizimo, 则在他的博文2017前端技术大盘点(原文链接: https://github.com/laizimo/zimo-article/issues/48)里面形象地将Angular, React和Vue比喻成了三驾马车。以下两张图均来自laizimo的博文:

最后,正如前面博文提到,讨论这些UI框架"谁是winner"的这种问题永远都不会有确切的答案。作为SAP从业者,如果您在您的项目里使用到了UI5以外的其他框架,欢迎留言,告诉大家您的故事。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

Jerry的碎碎念:SAPUI5, Angular, React和Vue的更多相关文章

  1. 【转】前端框架天下三分:Angular React 和 Vue的比较

    前端框架天下三分:Angular React 和 Vue的比较 原文链接:http://blog.csdn.net/haoshidai/article/details/52346865 前端这几年的技 ...

  2. 【repost】前端学习总结(二十三)——前端框架天下三分:Angular React 和 Vue的比较

    目录(?)[+]   前端这几年的技术发展很快,细分下来,主要可以分成四个方面: 1.开发语言技术,主要是ES6&7,coffeescript,typescript等: 2.开发框架,如Ang ...

  3. Angular React 和 Vue的比较

    Angular(1&2),React,Vue对比 一 数据流 数据绑定 Angular 使用双向绑定即:界面的操作能实时反映到数据,数据的变更能实时展现到界面. 实现原理: $scope变量中 ...

  4. 前端框架:Angular React 和 Vue的比较

    前端这几年的技术发展很快,细分下来,主要可以分成四个方面: 1.开发语言技术,主要是ES6&7,coffeescript,typescript等: 2.开发框架,如Angular,React, ...

  5. 2017 年比较 Angular、React、Vue 三剑客(转载)

    为 web 应用选择 JavaScript 开发框架是一件很费脑筋的事.现如今 Angular 和 React 非常流行,并且最近出现的新贵 VueJS 同样博得了很多人的关注.更重要的是,这只是一些 ...

  6. [译] 2017 年比较 Angular、React、Vue 三剑客

    原文地址:Angular vs. React vs. Vue: A 2017 comparison 原文作者:Jens Neuhaus 译文出自:掘金翻译计划 本文永久链接:github.com/xi ...

  7. Linux碎碎念

    在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...

  8. 一些关于Linux入侵应急响应的碎碎念

    近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...

  9. 一个谷粉和3年的Google Reader重度使用者的碎碎念

    2013-03-14 上午看到Andy Rubin辞去Android业务主管职务.由Chrome及应用高级副总裁继任的新闻,还在想这会给Android带来什么,中午刷微博的时候就挨了当头一棒:Goog ...

随机推荐

  1. 【quickhybrid】JSBridge的实现

    前言 本文介绍quick hybrid框架的核心JSBridge的实现 由于在最新版本中,已经没有考虑iOS7等低版本,因此在选用方案时没有采用url scheme方式,而是直接基于WKWebView ...

  2. jmeter的使用---web测试

    jmeter的使用---web测试 url:http://127.0.0.1:1080/WebTours/ 1.通过badboy录制脚本 1.1输入url点击右侧的跳转按钮,随后右侧显示url界面 1 ...

  3. select的限制以及poll的使用

    1.先说select在多路IO中的限制:1)linux中每个程序能够打开的最多文件描述符是有限制的.默认是1024.可以通过ulimit -n进行查看和修改: xcy@xcy-virtual-mach ...

  4. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  5. Spring:Bean生命周期

    关于Bean生命周期,我在网上找了两张图: 图1: 图2: 总结起来就是: Bean构建: Bean对象创建 > @Autowired | @Resource> @PostConstruc ...

  6. Charles 抓包工具使用部分问题总结

    一. You may need to configure your browser or application to trust the Charles Root Certificate. See ...

  7. IOS学习2——Xcode快捷键大全

    转载自:图文解释XCode常用快捷键的使用 刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等.都不一样了.快速的掌握这些快捷键,能提供开发的效率. 其实快 ...

  8. SQL Server 服务器主体拥有一个或多个端点无法删除;错误15141

    一.问题描述 当前数据库实例之前已经加入过一个域环境同时也是alwayson集群的一个副本,现在已经退出了以前的域加入一个新域,而且配置的数据库启动服务的域用户和密码和之前的一样.重新使用之前已经存在 ...

  9. MySQL创建用户与授权方法

    最近在弄个mysql兼职项目,记录一下: 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username ...

  10. lua中易混淆函数

    lua中易混淆的函数 ipairs和pairs: ipairs只能顺序遍历table,遇到key不是数字就会退出 pairs可以遍历table中所有元素 ----------------------- ...