Nested Views in SAPUI5 MVC
Last month Steffen Schwark wrote a good blog on Structuring an SAPUI5 application with MVC, his blog inspired me to port a SAPUI5 application I had been working on to use MVC. I thought I would share the code here on SCN in the hope that others will do likewise and share their experiences.
The code for the application is available on Code Exchange or here as a zip. Follow the simple installation instructions below, when you run it should look something like the pics below.
Application Structure
The application has three main views
- a customers view with master details and a google map, this view has 3 nested views, one of each type (xml, js and json)
- a products view with master details filtered by categories
- a shell view which houses the customers and products views
Each of the main views has its own controller, the customers and products views present data from OData Models.
Installing The Application
I developed the application locally using the IIS (Internet Information Services/Server) web server on my laptop. IIS is very easy to use
GOTO Control Panel\All Control Panel Items\Administrative Tools\Internet Information Service (IIS) Manager
Right click the PC -> Start, you have a webserver running locally
Follow Getting Started with SAPUI5 Installing the SAPUI5 SDK on Visual Studio 2010, the steps are very similar for IIS
Unpack or deploy the source to a folder name ‘nested’ and add as a website like step above
You should now be able to access the application using http://localhost/nested/
Conclusion
My original application had grown into a big ball of mud, all the javascript code was in a single file and it had become very hard to manage. By separating the concerns of my application into small pieces and following the MVC paradigm, the code is now a lot more flexible, easier to test, reuse and build upon.
I am very interested in hearing from others, please download and run the code and get back to me with any comments and suggestions. One thing I would like to hear from those more learned is in how best to implement MV* with SAPUI5, whether it is better to follow MVC, MVP or MVVM.
* The images included in the application were sourced using the Creative Commons search engines.
Leave a Reply