My notes from “A survey of Cross Platform Mobile IDE’s” session by @MRiley :
I would say at least 75% of the people at the Mobile Keynote were in this session, session was overflowing with people. Just shows how interested people are in this topic.
Mike compared Mobile environment today (cross platform wise) to the PC environment of past(Diff SDK’s,etc between OS/platforms).
General statement was to do cross platform devopment, company has to bundle it’s platform into a vmachine (like Java) and standardize across all the platforms (can’t support every OS Specific feature, but generalize instead).
Session Summary:
- No silver bullet
- If native look and feel is paramount, develop using each platform’s native SDK
- If prototyping or function is more important than form, seek out these choices
- Current favorate is RunRev due to deep crossplatform support of mobile hardware-specific functionality. UI Elements sill suffer due to non native implementation. Adobe a close second.
Specific info on choices:
They are the 800 pound gorrilla. Determined to move from desktop to mobile. Spending huge amounts of money to make that happen.. They aren’t going away anytime soon.
To run on Apple, have to pull all Flash code into one single contained file (IPK File).
To run on Android, need to have AIR/Flash runtime installed. App is much smaller, but do take a performance hit because it launches the AIR app too. The initial load hit is big.
Pros:
- Established Dev base
- Designer platform (UI is main focus of tools)
- Excellent iOS application conversion facilities.
- Entrenched technology.. Isn’t going away.
Cons:
- Unpredictable Flash runtime on Android OS. In essence have to test on all devices (for commercial app at least) to verify the Flash runtime will run your app as expected.
- Ongoing updates to Flash runtime, Frequent updates. This just compounds the above point, in additional testing on many devices.
- Can be resource intensive, especially on older mobile hardware
Rating = 4 out of 5 stars. “Pretty Bullish” on offering
Excellent book on topic: Professional Flash Mobile Development: Creating Android and iPhone Applications by Richard Wagner
Attempts to create ‘Native’ apps. Support iOS and Palm Pre now, Android later this year.
Compared to Dreamweaver. Uses JQTouch (like Jquery on iPhone) which gives slick animations easily.
Phone Gap = close equivalent. Takes HTML5 pages and packages them into native app. In essence packages the HTML into an embedded web browser.
Pros:
- Simple drag and drop HTML-centric GUI
- Supports JQTouch (jQuery plugin for mobile)
- Cheap (< $100)
Cons:
- Only supports iOS/PalmPre right now. Android coming first 1/2 of 2011, but isn’t released yet.
- Dev tools only execute on Windows
- Does not generate native app files (PhoneGap does though)
- PhoneGap as essentially taken it’s space. Flash CS5.5 release will make it’s world even less important.
Rating = 3 out of 5 stars. Expects product to be gone in near future.
Open source/Eclipse based tool.
Code in C/C++
Supports a huge mobile device list (>40 platforms)
Must pay for license if you use for commercial app development.
Pros:
- Large number of supported platforms
- Extensive API which supports Bluetooth, GPS, Camera, and other phone hardware
- Open source, so it’s protected against propreitary API lock in.
Cons:
- iPhone SDK and Xcode needed (iOS tool)
- Generic software emulators. Need to do hardware deployment for testing mostly.
- A few features are missling like a weak GUI tool, a few advance API’s missing. They are on the roadmap, but no comittments as to when they will be available.
Rating = 4 out of 5 stars. Figures this platform will stick around for non-high end device support. Tool is popular in Europe because of this in particular.
Mono for Android /MonoTouch (iOS)
Port of the .net framework onto non-windows platforms.
C# devs can develop Android and iOS apps
Pros:
- Excellent development solution for seasoned C# devs
- Produces binary apps with native platform look and feel (big)
- Mono libs offer the same level of access to mobile hardware as found in each platform’s native SDK’s
Cons:
- MonoTouch development requires Apple hardware running OSX v10.6 or higher Also have to learn the Objective C and iPhone API’s (lots of learning.. Way worse than Android)
- MonoTouch and Mono for Android are two separate platforms: can not recompile projects for each without significant code modification
- Mono for Android requires a separate runtime to be installed on Android Devices. (20 meg + another 10 meg runtimes). Slows down initial app launch.
- No Linux version of Mono for Android available.
Rating of 4 out of 5 stars
Illumination Software Creator 3.0
Visual code generator. No forms generation. Simple if then else arrangement. Simplistic forms.
Most useful for educational purposes, for looking at the native app dev and how each one platforms constructs their code to see what the code looks like.
Pros:
- Generates native code for Android, iOS, WP7
- Useful for Prototyping designs
- Cheap
Cons:
- Requires SDK for each platform to compile generated code.
- No control over placement of UI elements
- Limited functionality
Rating: 3 of 5 starts. Don’t see it sticking around
RunRev LiveCode Android Plug-in
Uses everything on the phone.. Full access. Closest interactive environment for cross platform dev. Android plugin under dev… released shortly.
iOS dev will need apple hardware device (10.6 or higher)
Pros:
- Excellent platform- specific support from a single code base. (More of a programmers tool unlike Flash)
- Docs are good. Company forum/support is great
- Intuitive, easy to use from design tools. Similar to VB days.
Cons:
- Weak support for native UI controls
- Proprietary code syntax (hypercard/super card)
- Not too steep of Learning code, but is there.
- Expensive commercial license ($99 – $1499)
Rating: 4 out of 5 stars. He is most excited about tool.
Bonus question:
Given the rapid change in mobile environment.. Would you recommend waiting 6-12 months before starting commercial mobile dev (platform specific) or will it not matter?
—Mike mentioned he doesn’t think there will be a lot of improvement for cross platform dev tools. (More platform support could happen).. Maybe a dark horse could emerge in 12 months but it seems unlikely at this point.
Overall, this session delivered excellent content and exceeded my expectations. Theme of conn to this point very much feels that cross platform development is a pipe dream right now. Tools just aren’t mature enough.