Friday 5 January 2018

WebIDE vs Eclipse

The first time I developed UI5 applications, I did so using Eclipse, because that was what the tutorials told me to do. Eclipse has served me well for UI5, but also for Android and HTML5 development. 

The nice thing about Eclipse is that it's on my desktop, and once the HANA/UI5 setup has been done, I know full well that if my desktop can see the SAP system, then Eclipse can too. I don't need to negotiate any firewalls, install anything on the target system, or jump through any additional security hoops. I like that it's free (who doesn't!) and I know WebIDE has a free component, but when you've got a cloud solution, those guys could start charging any minute. (This happened to me recently with BKool online bike-training, who withdrew their free offering, making it a purely premium service...not happy!)

For those reasons, I've enjoyed using Eclipse. A co-worker, who started her UI5 journey with WebIDE decries the difficulty of getting Eclipse set up in the first place, that it's slow, and doesn't offer particularly good syntax checking or intellisense code completion.

She's right on both counts - getting Eclipse going for UI5 development isn't a straight "Download the UI5 Eclipse Version" - JDKs, System settings, JREs and adding software are all gotchas that can impair your progress. 
Additionally, it requires updating every now and then, and if you're using Eclipse for a number of different purposes (say one day you're building an Android App, the next a WebPage) the libraries can all add up and start slowing Eclipse to a crawl - I solved this by having an install for each purpose, which takes up disk space, but at least keeps everything nicely siloed.

The verbal sparring we've had over the merits and drawbacks of each have made the long winter evenings just fly by, as you can imagine.

Bearing in mind that in our role as developers, we often have to just crack on and do the job, we don't get abundant time to try new things and compare the merits;  Not wanting to knock something until I'd given it a fair chance, I've been dabbling with WebIDE recently.

The first few times I tried, it just seemed like someone had WebSkinned Eclipse, and it was slower and more unresponsive than my desktop. Why would I bother!? Here's a shootout for Developers:

Speed:WebIDE
The WebIDE is now faster... wasn't always the case, but Eclipse takes a long time to load. Once it's loaded, it's fine, but WebIDE has the win here:

Connection to backend:Eclipse
Using the HANA Cloud Connector, it's also possible to transmit your code to your on-premise solution relatively easily : There's a good blog about it here:

https://blogs.sap.com/2015/07/13/cloud-connector-a-brief-guide-for-beginners/

I don't think it's quite as straightforward as Eclipse's "Team->Share" option, but once set up is neat enough.

Getting Set Up:Contentious, but WebIDE
Sometimes you can have a really nice Eclipse setup experience, sometimes it takes forever. This seems to be a combination of laptop system settings, what JREs/JDKs you've already got on your computer, and whether HANA libraries and Eclipse releases are in sync at the moment. 
The WebIDE should be a standard "set up an account on a website and you're in" experience... which could be sand-bagged by SAP.com's annoying habit of asking you for a password every page you go to.

Documentation: Eclipse
It's been around longer, so I'm expecting WebIDE to edge this in a year or so. The in-editor documentation on WebIDE is really good though.

Features: WebIDE
Intellisense code completion, documentation, object-method suggestion etc. WebIDE blows Eclipse out of the water on this one, and is the main reason I'm going to try and get some development work done there rather than in ol' faithful(Eclipse) in the next couple of months.

Once you know what you're doing, it'll be the connection to backend that makes the difference - and that'll depend on how amenable your sys-admins are to opening up their SAP system to a cloud solution... but I'm looking forward to using WebIDE a whole lot more.