Sunday, August 7, 2011

Meridian IOS to Android

Co-founder of Spotlight Mobile, Nick Farina has decided to increase its application of micro-geolocation, Meridian IOS to Android. In doing so, he explains what he liked in the development of Android, and what he liked least, from the perspective of a developer IOS. Farina made a decision early in the project as code natively on IOS, it has no reason to do otherwise on Android. He decided not to use cross-platform development tools, to stick as close to the canons of Android interface, and code in Java. This is an important decision that determines many choices. The first question was that of choosing an IDE (integrated development environment) is that of iOS Xcode Mac, point - code editor, SDK, test tools, simulators, everything is included. Google Android SDK provides the developer with the choice of the publisher. Farina has opted to use the recommended solution, Eclipse with the plug-in ADT (Android Development Tools for Eclipse).
“It is heavy and even heavier than heavy ". The first negative contact, however, must be surpassed to discover the power of this monolithic IDE "a good way to navigate Eclipse is to spend a few hours, and I am very serious about it, hacking away with hundreds of options, check boxes and small gadgets in the Preferences section. “This way to force Eclipse to discover, to understand its logic, is the cost to develop it easier for Android" will simply code for you. " This way of approaching things is actually the key, according to Farina, for Android development is going on in the best possible conditions: rather than starting with preconceived ideas about Eclipse or Java, you must understand how to use Eclipse Android and Java, why, and stick to it. It would be the easiest way to avoid many frustrations: "In general, the Android frameworks are fairly well designed and consistent API and integrate seamlessly with Java. In fact, [...] our application has almost the same class structure on Android and IOS. The code itself is incredibly similar on both versions. "
The Android emulator, to test applications, has not favored by Farina: Like all emulators, it is slow. The IOS simulator has the disadvantage of going through a compilation x86/64 (Intel x86, not ARM, which means that you can miss bugs that are present in the application on a real device), but the huge advantage of being fast. He said the solution is simple: to test the application on a Smartphone or on several different Smartphones configurations. The number of possible configurations is obviously much greater with Android, but you have any way to test its application iOS several profiles (iPod touch, iPhone, generation, generation), so as to comply with the exercise of all platforms. IOS side, Interface Builder is not a panacea, and fully customized development is sometimes particularly complex for simple things eventually. Android same side: we can only use Java or just the XML layout system. However, there are animations in a fundamental difference between the two OS: Android was designed as a competitor to Windows Mobile and BlackBerry OS, and resumed their logic rendering software, which eliminates the need of a graphics chip very powerful. IOS on the contrary has been designed with OpenGL acceleration in the lead, and the similar system in Android 3.0 is limited. In an OS as in the other, we must again ask the question of the relevance of the technical choices: am I ready to lose a bit of fluidity in this view against a somewhat easier to code (IOS)? Do I have to use the CPU made here, with the risk of the deal too, because during this time he must also parse my feed (Android)? In short, Farina tries to convey a simple message: if we are to avoid each other many penalties on iOS like Android, it is necessary to step back, weigh his technical choices, and understand the philosophy of platforms. Things that can be accomplished with multi-platform frameworks; but all this requires skill and time - is money: the port of Meridian took four months. All developers do not have that luxury.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.