http://programmers.stackexchange.com/questions/134746/whats-...
http://programmers.stackexchange.com/questions/134746/whats-...
Genymotion is a decent alternative to the 1st party emulator, it runs significantly faster.
However, Genymotion is x86-based, so ARM libraries you use in your app that are designed to run on an ARM device will not work in Genymotion on your computer. However, if your use of those is limited to just a few Activities in your Android app, you should be able to do a lot of things with Genymotion, and just tiptoe around trying out that Activity on your computer and instead use it on-device.
That's also because deploying an APK on a test device (or several devices) is way easier than deploying an IPA on an iOS device.
As someone relatively new to iOS this past month or so, I was shocked by the number of hoops I have to jump through just to take a piece of code I've written and put it on a device that I own and is sitting right next to me[0].
Coming from Android development, I never thought twice about this - it's easy to push the APK to my phone as part of the build process, and I don't even have to plug my device in to do so.
[0] Including shelling out $99 for a certificate that gives me the permission to do so.
- create provisioning profile(s)
- hit refresh in Xcode and hope it pulls in the profiles you want to use (maybe only an issue if you're a member of multiple teams)
- modify build settings
once you've done that its simple but there is definitely a setup overhead with Xcode and devices
The point is that the original comment is flat out false.
The original point was that there are steps to go through, and creating a paid developer account is a non trivial step
> That's also because deploying an APK on a test device (or several devices) is way easier than deploying an IPA on an iOS device.
False.
> it's easy to push the APK to my phone as part of the build process, and I don't even have to plug my device in to do so.
Also true of iOS.
If you want to make the case that enrolling in the developer program is a hassle, that's fine, but it's misleading to make it sound as though that is part of the build process.
This works on any number of devices.
You need a Google Play Developer account in order to distribute through the Google Play store, but you can directly install an application on an unlimited number of devices for free without ever signing up for an account. This is not possible on iOS without jailbreaking every phone.
Android also has a plethora of debug options hidden in a special device settings menu that can be hugely helpful for troubleshooting performance issues.
I'm porting an iOS app to android right now, and android is way behind on the development side of things.
On the other hand, having iOS connect easily to a debugger disproves nothing I said.
I shouldn't need a computer attached to get screenshots for my app. Power + home button, or cmd+S in the simulator.
Even my users can easily send me screenshots, some of the time unprompted even.
I would highly recommend using Android Studio + Gradle over Eclipse. IntelliJ is a significantly better tool for writing and refactoring code than XCode. Some of the tight integrations between XCode and the phone are superior (especially around profiling), but overall I think IntelliJ is a much stronger tool. Even something as simple as doing layout is vastly better on Android. There is no choice between 'in code or in Interface Builder'. XML + the viewer in Android Studio is the best of both worlds.
I also think Relative Layouts accomplish 99% of what auto layout accomplishes in a much friendlier manner.
And you only need a tax ID if you're trying to imminently release a paid application or an app with IAP. But we're discussing development, not release.