rather it fought its way to a $16B exit by providing an awesome messaging experience to the middle billion, those living on $10 a day. And you know what, on $10 a day you probably don't have an iPhone or an Android handset. Rather you are probably carrying around a "feature phone", one of a thousands variations of handsets built by Nokia or Samsung running a version of Java 2 Mobile Edition. — TextIt.In Blog - http://blog.textit.in/your-path-to-a-$16b-exit-build-a-j2me-app This might be going too far. But one platform is no longer going to cut it.
build everything three times: Web, iOS, Android. We’re talent-starved, this is egregious waste, and it’s really hurting us.” — Tim Bray http://www.tbray.org/ongoing/When/201x/2014/01/01/ Software-in-2014
as containers • Topcoat; jQTouch; KendoUI; PhoneJS; Sencha Touch 2; others • Wrapper around a native browser (but without JIT’ed Javascript on iOS) • But the browsers aren’t the same! • Easy to make an app. A lot harder to make something which looks right on each platform
Apps! http://www.knowyourmobile.com/mobile-phones/banking-apps/21804/best-and-worst-uk-banking-apps … Lloyds—the bank that set the standard for the worst banking app you can create. Sadly for Halifax users, the app is a rebranded version of the Lloyds app, which means it’s nothing more than a mobile website disguised as an app.
once in Objective C, once in Java • Or three times • Separate teams or one team doing both feature-by-feature • Works, but a lot of reworking and context- switching tax
know you wish there were too. But I wish my daughter had a baby unicorn to ride too. There is, however, “Focus on creating the best possible user experience on each device and try to get as much code re-use as you can along the way.” ! — Charlie Kindle http://ceklog.kindel.com/2013/02/21/james-gosling- screwed-us-write-once-is-anti-customer/
• Compiles down to the native platform, but no common library (yet) • iOS, Android, Windows, Mac • Needs both Windows (VS) and Mac (toolchain) for iOS development • http://www.remobjects.com/elements/oxygene/ • http://www.remobjects.com/cs
runtime • Write code in Xamarin Studio or Visual Studio • Do some bits in Xcode (XIB editor, storyboards, archive to AppStore) • iOS: Runs as native ARM code. No JIT, no interpreter. • Android: Mono VM runs as a peer to Dalvik. Can JIT, can do lots more than iOS
over the years: writing iOS apps is a hell of a lot more work than writing Mac apps. Enlightening? No. Honest? Yeah.” ! - Frank Krueger! http://praeclarum.org/post/55529252776/calca-os-x-now- available-code-reuse
TinyIOC, Ninject • Messaging • TinyMessenger, ReactiveUI* • Separation of concerns, layering • Test Drive Development • NUnitLite built in, or treat desktop unit tests as a separate platform