Android for iOS Developers
objc.io
objc.io
- Google seems to moving away from Activities in favor of Fragments (can someone confirm this?) so we'd recommend a Fragment based design pattern;
- App navigation paradigms seem to be evolving quickly, with Google recently introducing Navigation Drawer as a standard [1], among others;
- Choosing the navigation paradigm first seems to important as these seem to be Fragment based, using Bundle objects to share data between Fragments;
- Use Android Studio [2] because it seems a) Google is going to standardize on this, and b) the navigation paradigms are offered as app template options and can be a good starting point presumably with 'blessed' Fragment design patterns.
Good luck!
[0] http://blog.fieldforceapp.com [1] http://developer.android.com/design/patterns/navigation-draw... [2] http://android-developers.blogspot.com/2013/05/android-studi...
It's hard to do good phone nav.
The cool thing about Fragment is that you can organize your Fragment subclasses using different layout files, and you can organize the layout files using resource qualifiers. That means that Android is picking your layouts, and the number and layout of Fragment objects on a particular screen geometry, for you, instead of you having to write code that groks screen size, density, and text size.
I dislike navigation drawers almost as much as I disliked the now deprecated "dashboards." It is a place where you can do nothing but go some other place. If you have that big an app, I suppose it's OK. But making navigation a natural part of, say, picking an item from a list, or picking a menu item is preferable. Nav drawers look better than dashboards, but if you consider them from the user interaction PoV, they are the same.
Yes to using Bundle objects to move data. That's how sending data to a Fragment is independent of whether it is in the same Activity or not.
"XCode interface builder files can be decoded by Apportable. We have several flavors of UIKit available, so if you are building your app in UIKit, contact us to get an appropriate version of the SDK."
http://docs.apportable.com/supported-files.html#interface-bu...
However, I did never really look into it. If they were to fully support UIKit, it would indeed be a great way of also supporting Android for certain types of apps.
If you're building a UIKit app, it doesn't work at all: broken support for almost everything.
To be fair, I think they are rewriting the UI layer, but after working almost two years in several cross-platform projects, I decided that for anything that's not a game (no custom UI), it makes no sense if you want your app to look "good" in all platforms. Just rewrite it (at least the UI layer).
Being able to keep all the logic and networking stuff intact would be a big win when porting iOS -> Android even if the UI needs rewriting.
If you have a lot of UIKit-intense parts (semi-complex xibs, anything related to Autolayout or Storyboards), then you might need to rewrite them.
NOTE: my comments are based on what I experienced with a UIKit only app a few months ago.
So far nothing stands out too greatly from the iOS development experience. But I haven't finished the Android yet so I still have to look forward to seamlessly releasing to the Google Play store without having to jump through any of the inefficient hoops that Apple has.
"Although this started out as an idea for an April Fools' joke, it matured into a really good issue about Android development for Objective-C developers. After all, it's interesting and instructive to learn about what developing for the other major mobile platform is like."
Once you go below the most recent issue, you are seeing the past issues, which is why they are in reverse order - most recent to oldest.