Exaud Blog
The official Android IDE is Android Studio by JetBrains (it used to be Eclipse). This IDE is very powerful allowing features such as analyzing the code of compiled applications, running gradle scripts for the most varied functions, or recording videos from the debugging device’s screen. In addition, it can also be complemented by several plugins. Android Studio is known for making code refactors a lot easier, but also for being a little complex for beginners, and for sometimes using so much processing power, that the computer looks like it’s going to take off.
The official iOS IDE is Xcode (what else). This is an IDE that sometimes looks like it can program for us with its highly evolved code completion system. It also has an excellent storyboard system (where layouts and interactions between them are created) and a simple property list (where general application properties are defined; similar to the Android manifest file). It is not common for an Android developer to use the visual layout editor, as they usually prefer to directly edit the xml code. An iOS developer, on the other hand, has little choice but to use the visual editor. And yes, Xcode also allows the addition of plugins, but this system is still in a very initial phase.
The programming languages for Android are Kotlin and Java, and for iOS, Swift and Objective-C. Java is Java, and it is no wonder that it has remained one of the most used languages for years. As for Objective-C, I honestly never interacted much with it, but it seemed to have an unnecessarily complex syntax. Kotlin and Swift are very similar and are the languages currently supported by the respective operating systems, which is good, since they greatly simplify the code of mobile applications.
Kotlin allows you to do almost anything, which is sometimes annoying (are so many ways of creating a class really necessary?), and Swift is in constant development, with its new versions not being backwards compatible with the old ones. This keeps the language up to date, but the applications under development get old quickly. A little like iPhones, right?
Finally, when your app is finished, you will want to launch it on the store, but first it’s important to test it well. On iOS, you have TestFlight, an excellent online service that allows you to test and collect feedback before launching the app using testers selected by the developers themselves.
Publishing to the Android store, named Google Play Store, is much cheaper, as you only need to pay $25 once. To publish in the Apple store, the App Store, it will be necessary to pay $99 every year. The App Store also has more rules that developers are required to comply with in order to publish their applications, which brings security.
iOS users are more likely to pay for apps than Android users, which means it might be a good idea for an Android developer to bet on free apps with ads. And since we are talking about user characteristics, iOS wins when it comes to popularity in North America, Japan, and Australia, and Android wins… pretty much in the rest of the world. In addition, iOS is usually the preference of women and Android of men.Blog
Tale As Old As Smartphones: Android vs iOS Development
The old rivalry, Android vs iOS, Google vs Apple. Almost everyone who buys their own smartphone will have a very strong opinion about which platform is the best. These are our thoughts on them! Posted onby Gil MoutinhoThe old rivalry, Android vs iOS, Google vs Apple.
Almost everyone who buys their own smartphone will have a very strong opinion about which platform is the best, and in this post, I will try to light up this rivalry a bit more, not in relation to the operating systems themselves, but to the development process for each one of them.
Being a person who started my mobile experience developing for iOS and
being developing for Android in recent years, I will try to report what I
learned about the main differences between the two when it comes to app
development. This post does not intend to go into details, but rather to be
a small guide for those who want to start mobile development but do not know
where to start, or simply for those who are thinking about changing
teams.
Therefore, the great advice is to develop for the operating system you
have. Easy isn’t it? 😛
Ok, so I’ll give you a little more detail … How about starting with IDE?
The IDE
The official Android IDE is Android Studio by JetBrains (it used to be Eclipse). This IDE is very powerful allowing features such as analyzing the code of compiled applications, running gradle scripts for the most varied functions, or recording videos from the debugging device’s screen. In addition, it can also be complemented by several plugins. Android Studio is known for making code refactors a lot easier, but also for being a little complex for beginners, and for sometimes using so much processing power, that the computer looks like it’s going to take off.
The official iOS IDE is Xcode (what else). This is an IDE that sometimes looks like it can program for us with its highly evolved code completion system. It also has an excellent storyboard system (where layouts and interactions between them are created) and a simple property list (where general application properties are defined; similar to the Android manifest file). It is not common for an Android developer to use the visual layout editor, as they usually prefer to directly edit the xml code. An iOS developer, on the other hand, has little choice but to use the visual editor. And yes, Xcode also allows the addition of plugins, but this system is still in a very initial phase.
In conclusion, Android Studio = POWER; Xcode = USABILITY.
The programming languages
The programming languages for Android are Kotlin and Java, and for iOS, Swift and Objective-C. Java is Java, and it is no wonder that it has remained one of the most used languages for years. As for Objective-C, I honestly never interacted much with it, but it seemed to have an unnecessarily complex syntax. Kotlin and Swift are very similar and are the languages currently supported by the respective operating systems, which is good, since they greatly simplify the code of mobile applications.
Kotlin allows you to do almost anything, which is sometimes annoying (are so many ways of creating a class really necessary?), and Swift is in constant development, with its new versions not being backwards compatible with the old ones. This keeps the language up to date, but the applications under development get old quickly. A little like iPhones, right?
Therefore, Java/Kotlin = STABILITY; Objective-C and mainly Swift = FRESHNESS.
Patterns and tools
If you have programming experience and are going to start developing for
Android, the advice is to use the
MVVM design pattern. This is a pattern that offers great organization to the code, since all
tasks end up being well delegated by the different components. However, it
can be a little complex for beginners to deal with observers and that kind
of stuff. If you’re going to start developing for iOS, the advice is to use
the good old (and confusing)
MVC,
although Apple seems to no longer officially support this standard . What
Apple seems to support, however, are the “Protocols”. These are structures
similar to the interfaces but a little more advanced, being able to specify
properties, and to be used by both classes and structs.
Android programming is based around Activities (which represent the
different screens of an application) and Fragments (pieces of UI with
behavior that can be inserted in Activities). On iOS, all views are
associated with a Controller, where often the UI options that are not
possible to achieve only through the storyboard have to be complemented by
code. iOS also uses xibs, which are pieces of layout with their own logic
that can be used, for example, as cells in a list. In Android this is
achieved with ViewHolders in conjunction with adapters to deal with the
lists’ logic.
If you’re going to venture into the world of Android development, take the
opportunity to use the new Android Jetpack, which is a collection of various
libraries created to help developers make apps more easily. If you are going
to venture into the world of iOS, you will probably come across CocoaPods,
which is a dependency manager for iOS and Mac projects.
Android stuff = ORGANIZATION; iOS stuff = SIMPLICITY.
The store
Finally, when your app is finished, you will want to launch it on the store, but first it’s important to test it well. On iOS, you have TestFlight, an excellent online service that allows you to test and collect feedback before launching the app using testers selected by the developers themselves.
Publishing to the Android store, named Google Play Store, is much cheaper, as you only need to pay $25 once. To publish in the Apple store, the App Store, it will be necessary to pay $99 every year. The App Store also has more rules that developers are required to comply with in order to publish their applications, which brings security.
iOS users are more likely to pay for apps than Android users, which means it might be a good idea for an Android developer to bet on free apps with ads. And since we are talking about user characteristics, iOS wins when it comes to popularity in North America, Japan, and Australia, and Android wins… pretty much in the rest of the world. In addition, iOS is usually the preference of women and Android of men.
Play Store = CONVENIENCE; App Store = SECURITY.
TL;DR
iOS for those who like to expose their creativity in a simple way and
Android for those who want to have more freedom to go into details about the
operation of the system, although I have to reiterate that these
characteristics are not exclusive to each operating system, but only
facilitated by them.
With this, I hope I have not reached an absolute answer on what is the best
platform to develop apps, because that was my goal. 😅
Choose the one that you think will be the most fun.
Follow us on social media (LinkedIn, Facebook and Twitter) to keep up with our weekly news and blog posts!
As seen featured in
US Development Companies.