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.,
- Local Storage of user sessions
- SVG – Scalable Vector Graphics. Graphical representations can be added to the web pages.
- Video/Audio is in-build in HTML 5. Flash player is no longer needed.
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 support cross-platform (Desktop & Mobile)
- Interactive user experience like Drag and Drop, Document editing, Timed Media player, etc.,
- 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.
Hi
While there are a number of things in your post that seem a little "odd" to me, the one thing that sticks out the most that I wanted to comment on is this line:
"Since SAPUI 5 technologies are more related to J2EE standard"
Eh? Are you confusing SAPUI5 with something else, perhaps? It is far from J2EE. If it were close, I would be far away.
dj
ps it's perhaps better to write "SAPUI5" than "SAPUI 5"
There have been ideas to create a version of UI5 based on a GWT approach. A J2EE version may have been closer than you would have liked
Anyway, it's good that you're already on board of the Javascript train. From Javascript it's just a tiny step 😛
Horrific thoughts! 🙂
Seriously though, I am currently struggling to imagine a browser/client-side framework that has anything to do with an overengineered, heavyweight server-side framework. Perhaps it's just me.
dj
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 😉
Yes agree to you. Thanks for correcting me.
Hi Prabhu,
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.
However as a first SAPUI5 blog, its a good try.
Best Regards,
Bibhas Das
Good blog, like to know more of disadvantages too.
SAPUI5 development is much harder then plain Webdynpro ABAP.
Hi Jenish,
In the blog you have mentioned that there is a tag for canvas. would you please give me the link to the documentation for the same..
Thanks,
Rashmi
Can anyone enlighten me on the security aspects while calling backend via oData?
Regards
Sujith Mathew
You should use HTTPS, that's the main concern.
Good Information knows from this blog..
Keep posting like these blogs.. thank you for sharing..
By This SAP UI5, it reaches SME's in the view of development and expanding
About using SAPUI5 application in a webserver like Apache Tomcat, which is the best way to connect to an oData in SAP side?
E.g: Establish connection between SAPUI5 app and SAP oData using HTTPS and VPN.
Any tips pls?
"GUI can be designed rapidly as there are SAP customized JS libraries available." --> No, no!!! Of cause you got an WYSIWYG editor. But when it comes to the Eventhander there is a lot of work to do. The autoComplition works not 100% correct (when it works!). In my case the autoComplition destroyed my complete coding.
There are many features missing. The IDE should support the developer. At the moment it makes no fun.