My weird way of developing SAP HANA XS front-end applications!
“So, what developer tools do you prefer?” One of the most telling questions about any developer and one of the most exciting for the listener as there is nothing more fun that hearing about a previously undiscovered tool that can change the entire way you work!
During a recent presentation I was showing off how to develop SAPUI5 applications for SAP HANA using the XS engine and the discussion of development tools came up. I think I surprised a few people in the room as to how I actually do my pure front-end SAP HANA development so I have decided to share my setup so that I can hear from others or hopefully I might aid somebody else in getting a better setup going for their development.
Web server setup and SAPUI5 resource access
For me, I like to develop a large portion of my UIs on my personal laptop and this is for the reason that I spend several hours a day travelling on trains to and from various places so I cannot always rely on a back-end server.
So my first tool has to be an apache installation. On my windows machine I simply downloaded and install an apache server which I have running constantly in the background with one nice security addition. (On my MAC machine apache is already installed, it just needs started and reconfiguring in the same way as windows).
To prevent anybody on the same network as me accessing my local apache installation I make a simple change to the httpd.conf file to only listen on the localhost on a particular port (in my case 8080).
I’m not going to go through the setup of the apache server in detail here as it is very well documented across the web however I will highlight the main points which are:
- Specify the document root (where the HTML files etc. are stored) to be somewhere in an accessible location for me in my home folder.
- I add a directive to include *.conf files for a folder in my home directory so I can easily add temporary extra configuration directives to the web server in case I need it.
The next thing I do is to download and setup SAPUI5. For this I follow a great guide by DJ Adams for his SAPUI5 setup. This allows any request to localhost:8080/sapui5 to hit my sapui5 installation which is very useful for pure SAPUI5 development.
For SAP HANA the SAPUI5 files are in always at the same location and that is “/sap/ui5/1” so for any front-end developments on HANA for SAPUI5 you always include your SAPUI5 library like this:
So as a result I also add a redirect from that location to the SAPUI5 files as well. So in the end my SAPUI5 configuration looks something like
Right, so once that much is setup I can start developing my standalone SAPUI5 based web applications. The only other thing I do to facilitate my local development is to create a number of xyz.json files with examples of what the real server would return to allow me to develop against fairly good looking data.
Development and tools
For the bulk of my applications I usually develop the UI locally first completely separate from the SAP HANA server using my JSON files and my local webserver. I also tend to use my git server to manage my local source control. Only once I start getting towards a fairly good looking product do I upload the project to the SAP HANA server and start tweaking up there. (Saves on the constant save, reactive process).
I have a number of tools I use for the actual front end development and depending on my mood this can change quite a bit. But at the moment my favourite has to be an open source editor called Brackets which can be downloaded from Brackets.io and is an Adobe initiative. Brackets is a light weight editor with syntax highlighting, syntax checking, Live preview (as you type CSS you see the page change) and a number of other really cool features that make development life so much easier!
Other than that my favourite editors include Sublime Text 2 and some plugins for Eclipse itself. On the source control front there is a very good all source control cross-platform program called SourceTree. For more info on my favourite development tools see my post on the topic here.
SAP HANA XS Application Development
Once I have the basic version of my application up on my SAP HANA server it doesn’t mean I have to now abandon my editor of choice and use Eclipse, far from it. One of the reasons I use Brackets is that you can select any directory on your laptop and edit the files without creating cumbersome projects. So as a result I can upload my application to the server, realise that I need a change, point Brackets to my checkout out SAP HANA repository project directory, edit the files and then when I am happy activate the changes using SAP HANA studio.
The relationship a developer has with their tools in intensely personal and is different for each person. This is what works for me and I encourage everybody to cherry-pick aspects of other people’s development tool-chest and build their own. There is always a danger of overdoing it with too many tools and processes that can take over the development process so be careful on that front too and overall have fun trying out the tools!!!
Over and out,