I am going to start developing for Android. I was just wondering what's the major differences that I should be aware of. Particularly, how to deal with so many devices and so many resolutions to support? Is this easy to do with the sdk or a pain?
Also I am using a mac, what IDE is the best and can I use Xcode to develop?
Thanks.
It's perfectly possible to be both an iOS and an Android app developer.
For both new and experienced programmers, iOS is generally easier to develop for. iOS apps generally require less development time and are cheaper to build and maintain than Android apps. iOS developers use Swift, Apple's native programming language, whereas Android developers typically use Java and/or Kotlin.
Building Android Applications Its main competitor for application development is Kotlin, but it is compiled to the byte code JVM executes, and we can say it is just a “cleaner” version of Java. And by the way, Java is compatible with the most popular tool for Android apps - Android Studio.
Moving your data is easy—just connect, select, transfer. Copying your data from your iPhone to your new Android phone is safe and easy. Simply connect the two phones with a cable or pair them wirelessly over Wi-Fi to securely copy your contacts, photos, calendars, and more.
I was once in your shoes. I'd advise using Eclipse and the plugins ADT, since it's the best tools for the job. Using XCode will only bring you pain. The main difference, of cours,e is you'll be using Java instead of Objective-C as the core language, even though on both platforms you can use C (NDK with Android, native C with iPhone) shelled in a wrapper of Java/Objective-C.
The other main difference is on iPhone you design interface and database with visual tools (Interface Builder / Core Data) as a preferred tool (even though you can always code you interface and write your SQL) and on Android you'd better write the User Interface as XML and you will write your SQL code anyway. I would not advise the visual UI builder on Android, at least I can't use it :p
Apart from that, Android revolves mainly around Intents and iPhone uses interactions between NSController and NSNotificationCenter to achieve the same purpose. Android accesses OpenGL preferentially with Java calls (though you can wrap C with the NDK) and iPhone will use direct OpenGL ES C calls.
Be aware Java is not bundled with OS X Lion anymore, so you will have a little bit of setup to do, but since you need the SDK anyway, it is not big deal. Finally, there is the matter of screen sizes, but you'll probably target one type of device in particular (tablet, phone, and then decide which sizes for that form factor you'll work for). If you do form apps, it's not much of a problem, if you do games, you'll be well served deciding on one particular deployment target and expanding your options once your game sells.
Good luck, fellow AndroiPhoner :p
First, get yourself confident with android as a user. There are some fundamental differences and some different visual conventions. Start with Eclipse (as documented on the android developers website), it will get you started the easiest (there's enough changes to deal with already) Read up on Activities, they work a bit like ViewControllers, but not quite. As for GUI design: you have to take a more robust approach. Tweaking to the last pixel is not practical. I find it more like designing a web page. There is a visual interface builder in eclipse but it is buggy, you'll have dig into the layout XML files every now and then.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With