For those that have not heard yet: Adobe has effectively (even if not officially) dumped its Flex technology. Some time between 2011 and 2012 Flex SDK has been donated to Apache Software Foundation and since then it’s been developed on the huge basis of volunteers. Despite this, runtime environment like Flash Player and AIR still remains in Adobe governance. At the same time, Adobe has kindly promised not to kill the development or the runtime environment at least for further 5 years.
Afterlife or Stage3D
Strange enough, so far Flex / AS3 technology has been valiantly refusing to die. In fact, this is no miracle taking into account amazing flexibility and versatility of AS3 use cases. At the moment core development of AS3 SDK appears to concentrate on various game engines, among them hardware-accelerated Starling game engine (open source, obviously) based on Stage3D framework. Frame rates oscilate around 60 fps so not bad at all.
For those that already burried and mourned AS3 it may turn out to be rather surprising that Starling powers real-world games like Angry Birds (yes, THE Angry Birds!), a diamond title in a long, long list of others which I have no intention to quote here (reference for gamers: Starling Games – The Open Source Game Engine for Flash).
Right… So what’s in it for SAP customers?
Nothing. OK, almost nothing. Otherwise I would not bother to write this post. In fact, there is quite an interesting development called Feathers – Open Source UI components for Starling framework. This is a set of hardware – accelerated, incredibly extensible controls written in Starling. These data controls include just about anything what a twisted imagination of a spoiled UI developer can desire, and more.
Bind my data
For those who – like myself – have learned to value AS3 data binding, there is some good news in the Feathers world: nanosome notify library provides for data binding without MXML (or, more precisely, in addition to classic MXML binding). Thus, when designing a UI application, one only has to take care of linking controls to the data once and not worry any more about when, where and how the data are updated.
But where is SAP?
This is where we come to actual justification: WHY on earth someone wants to use this Feathers thing for anything SAP-related. Flex / AS3 comes with a beautiful set of backend connectivity tools: anything from SOAP to REST is possible. That fits better in the picture, doesn’t it?
Connect your UI application with an SAP Gateway via OData / REST. Utilize the newest technology from SAP. Your UI written in Feathers will render it lightning-fast, hardware-accelerated on any device, be it iPhone, iPad, android tablet or smartphone, BB10 device or old good PC. Oh, and all around the place source code is the same, of course. No glitches, no differences, no rewriting, no nasty workarounds to get it to work.
…Or stay cool SOAP-fashioned
No desire to switch to OData, install NW Gateway? No problem. Your existing SAP / NetWeaver installation certainly supports SOAP connectivity in some version, be it even as low as 1.1. Feathers will eat it, and say “yummy”. The only thing you have to do is write another backend connector – not a terribly difficult job if the application has been desgined from the bottom in the right way.
Has anyone tried it yet?
Yes. Arcona Labs S.A. has recently published first two mobile apps on the Feathers platform (for mobile Service Entry Sheet and mobile Purchase Requisition entry). Both of them are very similar as regards architecture and support both NW Gateway and SOAP connectors out of the box. Hardware-accelerated graphics provides for game-like user experience, no-nonsense UI for common SAP tasks. Pretty cool.
But why bother?
I hate reinventing wheel anew. Everybody does, I guess (apart from some crazy inventors, possibly). Feathers, based on Apache AS3, is a ripe development environment with incredibly long history and amazingly broad comunity support. If someone is going to throw away all that accumulated experience and say that community support does not matter, well, that’s his choice. But it was community support that initiated once the famous REST architecture (among other things, but this example is probably the most relevant at this point), and it was community support that has eventually driven REST to market-wide adoption. So before you say “Flex is dead”, have a look at the Feathers baby.
Feathers may yet become eagles some day, in a not so distant future.