Why should we pick SAPUI5 for web development ?

This blog is intended for the beginners who wants to know about SAPUI5 (pros and cons of this framework). Here I have explained why we have to adopt to SAPUI5 framework.

What is SAPUI5 ?

This is a framework which is having collection of JS libraries useful for developing web application in desktop as well as mobile.

These JS libraries are used along with CSS to develop rich and interactive internet applications.

SAPUI5 is build upon jQuery open source, SAP has customized and build their own UI components (Controls, Layouts, etc.,). This framework is having extensible feature, so that we can extend, control and define our own custom controls.

Multiple Technology Flavors used in SAPUI5:

HTML 5

Only latest versions of browsers (Chrome 29, Firefox 24, Safari 6.0, IE9 and Opera16) are supporting HTML5. Even Though HTML 5 is not supported by all the browsers, there are various reason web applications are being developed in HTML 5.

Future development is going to happen in HTML 5. It has all new set of Meta tags available to improve more interactive user experience.

Now more and more users are viewing their applications in mobile devices (Cell Phone, Tablets, etc). There are bunch of Meta tags that support to develop mobile apps.

Newly introduced Canvas Element is useful for showing interactive animations on the screen. It can be used to show Interactive Charts, Diagrams, etc.,

HTML5 has native API that allows user to have better interaction with the web application like Drag and Drop, Document editing, Timed Media player, etc.,

CSS

Using CSS Layout, Color and Fonts can be separated from Web page UI design. It gives rich appearance for GUI. Along with Java Script contents can be enriched with dynamic and interactive display.

AJAX/JSON

AJAX is used to interact with server. Request is send as GET or POST request via AJAX (XMLHTTPRequest) and asynchronous response can be received. There are several content types that are being used depends upon the response from server. Few content types are shown below:

text/html

application/json

application/pdf

JSON object is used for data transfer. After receiving JSON object response from server, SAPUI 5 is capable of rendering UI control based on JSON object.

jQuery

jQuery is open source java script library, which simplify JS coding. jQuery also simplifies a lot of the complicated things from JavaScript. SAPUI5 is build upon jQuery, SAP has customized and build their own Java Script Libraries.

oData Protocal

The purpose of the Open Data protocol (OData) is to provide a REST-based protocol for CRUD-style operations (Create, Read, Update and Delete) against resources exposed as data services. oData is initially defined by Microsoft. Facebook, Netflix, and eBay all expose some of their information via oData. SAPUI5 application can call Gateway Restful web services using oData protocal.

Why should we pick SAPUI5 for web development ?

Pros and Cons of SAPUI5:

1. Since SAPUI5 is supporting HTML 5 it has all below advantages discussed earlier

It has new tag Canvas, SVG which is helpful in animation or graphical representation (Chart, Flow Diagram, etc.,)

Audio/Video support

2. SAPUI5 is extended from HTML 5 and provides several UI controls which is helpful in developing rich and interactive web application. GUI can be designed rapidly as there are SAP customized JS libraries available. Without much of coding UI Controls can be added in the web pages.

3. SAPUI5 is supporting any data transfer like JSON, XML, oData, etc. Since it is using these web page can be rendered faster.

4. SAP has released more products which can be used along with SAPUI5 like (SAP HANA, SAP Fiori, SAP Netweaver Gatway, etc.,) This shows clearly that SAPUI5 is dominating technology.

5. Most of the users now want their application to be viewed on their mobile devices.

Those were some thoughts in the very early days. And at that time, it may have made sense. The whole idea behind GWT was to shorten the path for Java developers and get them to become productive on modern web applications without learning much of JavaScript and CSS and HTML. Of course we have learned, and now know that it is much easier to get a grip of the modern web techniques, best practices and tools and libraries, rather than overcoming those with the GWT abstraction layer.

In retrospect, I’m very happy that SAP didn’t choose the path of a GWT style approach, but at that time, I’m afraid I really liked that idea. DJ, although we have our differences about programming language preferences (especially that strongly-typed language, with compile-time type checking, automated refactoring, great support for automated code generation and completion, comprehensive documentation and supported by great open source libraries), let’s agree that this was a good move for SAPUI5 😉

The core essence of SAPUI5 is its alignment with MVC concept. You have missed to mentioned that. Also you have told about AJAX, but does we really need to use that directly in SAPUI5 application, MODEL takes all responsibility on behalf of that.