乐趣区

关于jquery:基于jQuery的前端开发框架在企业级开发领域里已经凉了吗

On 2017-03-28 I visited a local customer who have been using our CRM on-Premise since 2010. The reason for this visit is that they have finished some reorganization and there are some new business process to implement after it. As the current 10 CRM Fiori application could not 100% fit with their business scenario, they are considering the possibility to build some custom application using Fiori, and would like to refer to suggestions from SAP.

Below is the proof I present to our customers why Fiori is recommended (I translate into English):

(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.

Different voice from customer

The interesting point here is, I do hear another kind of invoice from some developers in customer company. They have different proposals:

backend

still traditional ABAP development. Expose function module as web service via SOAMANAGER.

frontend: Vue

Vue is another UI framework based on MVVM which has more than 48000 stars in Github.

Their argument

(1) Fiori is too heavy especially when used in Mobile. Although Fiori has lots of built-in UI controls with product standard implemented by SAP, however the very controls customer frequently uses are only a small subset of them, and when building custom application especially in China, some product standard like accessibility are not so important. On the other hand Vue has lots of third party open source UI component library like element,
iView and Mint UI.



All those open source component library have lots of active contributors and can do the same good job as Fiori, at the same time they are very light weight.

(2) Use Weex (A framework for building Mobile cross-platform UI, more than 13000 stars in GitHub), frontend developers can now program with simple syntax to build JavaScript application which has almost the same performance and UX as native application.Its slogan is“Write once, run everywhere”.

UI5 – an“obsolete”framework?

I have free talk with their developers offline and they told me they have already finished some internal project using Vue + Weex and have the feeling that they really benefit from the improved development efficiency and better performance than Fiori. They have the opinion that the way to directly manipulate DOM in JavaScript code like jQuery and UI5 on top of jQuery, is obsolete now. The idea of MVVM in Vue and Angular is the future.

My personal opinion

As a developer myself, on the one hand I consider it is good to hear from customers that some of them have different technical proposal to fulfill their business requirement. On the other hand, during my presentation, I emphasize the fact that we are now building Enterprise application, not tiny application for personal users. Just take Fiori controls for example again. Although it looks quite trivial when taking each control out alone from end user point of view, such as a button, a text field, a label, however behind it the control developers in SAP do spend quite a lot of effort to ensure those control can work perfect on every supported device and every supported version of every supported browser. I am not sure whether this is still the case for mentioned open source component library in Vue ecosystem. Choosing Fiori means you can receive stable and continuous support from SAP, which might not be always available in open source community. I don’t know much about Vue, I am not sure whether it is really mature enough to build Enterprise application.

Choose technology in Enterprise project implementation carefully

In my opinion only students staying in colleague or those fresh graduates tend to make comparison against different programming languages or framework and finally they would like to come to a conclusion that“XXX is best. YYY is obsolete”. In fact I assume that when they say“XXX is best”, they actually would like to express“XXX is my favorite”. In our work we are not doing homework in university where we have freedom to choose our favorite language or framework. Instead, we are building Enterprise application which might be used by tens of thousands users simultaneously. The implementation of such application can last for several years. It is vital that in this area, it is not the“best”technology which must be chosen, but the one which is most fit with customer company’s development resource, fit with development project schedule and implementation, and is most sustainable when taking maintenance and continuous development into consideration. In my opinion I think jQuery based UI frameworks like UI5 have the mentioned advantages in this blog and are not obsolete compared with other listed popular frameworks.

I am eager to hear comments from your side regarding this framework comparison topic.

要获取更多 Jerry 的原创文章,请关注公众号 ” 汪子熙 ”:

退出移动版