My first impressions from ELIPS
Several weeks ago I was thrilled to hear about ELIPS – a plug-in for Adobe Flex Builder, which allows Flex to go mobile.
Or at least that's what they promise...
Sefi and I played with ELIPS, and these are my first impressions:
1. Forget about 100% reuse of your flex code – first, ELIPS is a subset of Flex components, many properties and styles are missing . Second , as a mobile app, user interaction with your components is different : goodbye Click, hello TouchTap.
However, a non-GUI code (calculations mainly) went smoothly.
2. Size of output – We had a Flex app which produced a 133KB swf. The CAB (output of ELIPS) generated by ELIPS SDK was 2.6MB. Quite scary. Talking to the guys in ELIPS , they claim that the difference between a very simple application and a more complex application is quite small, because the runtime will be there in both cases.
3. Simulator – We were sure that anything run on the simulator provided in ELIPS is 100% guaranteed to work on the device, as they use the same engine. Not so. The simulator is an AIR app which simulates the actual executable being run on your device. It's not the same engine and is prone to differences.
4. Fluid interface – Flex apps support fluid interface, so that when the user resized the browser or change screen resolution they adapt themselves (constraint based layout). ELIPS currently support only percent or absolute based layout (no bottom, right etc.)
5. Flash player rendering model – This needs some investigation which I didn't do yet, but I do wonder how does Flex, which relies on the Flash rendering model of invalidation/validation can be properly ported to other rendering engines. What happen with my invalidation calls? In Flash they are accumulated and being rendered only at the rendering phase. How will it work on a different rendering model? Stay tuned for further investigation..
-Ilan

Comments
Hello Ilan
I am from OpenPlug and would like to thank you for your time and the review you have done. Remember our ELIPS Studio product is still in Beta and lots of things are constantly improved. Latest versions can be downloaded from: http://developer.openplug.com
To answer your points which are all very fair:
1) Flex components support: True, our support of Flex components is a subset (that expands with all releases). I'm glad that you found no issue with our core non-GUI APIs. Please let us know what would be your wish-list for extra components to be added. Remember also that the UI of an app may need some rework when adapting it form desktop to mobile
2) Application Size : indeed with our technology, the size of the app is impacted because it includes our execution library linked with the app code (it is bit as if you were embedding the flash player with all your SWFs). Remember however that smartphones have GBytes of storage these days ... but point taken we'll keep improving on that point.
3) Simulator : We actually do have in-house such a simulator as you are describing (i.e. executing native code on desktop). We didn't release it because build time for it is on par with a device build (a bit too long ...). Do you think it makes sense to add it to the product (as an extra simulation option)? Note also that for some features (e.g. native iphone widgets support) you need to execute your app code in the device emulator from the device vendor anyway (e.g. xCode for iphone)
4) Fluid interface: the next version has bottom/left/right/top/constraintcolumn/constraintrow constraints for layout (already committed in the engineering build - keep watching for the release on http://developer.openplug.com)
5) Rendering model: We do like the flash player: all calls are accumulated and rendered at rendering phase.
best regards
Guilhem Ensuque
twitter: @gensuque_op
twitter: @elips3