Design & Development - Android Vs. iOS
This is so true with development and design of operational platforms viz. Android and iOS. Designing and developing two platforms can be compared to visiting two different countries and trying to adjust to two different local cuisines.The customs and culture of two different countries has a great influence on how you eat these local dishes. Similarly, if you developed your product say, first with Android it is not right for you to expect that you can very easily port it into iOS without any hassle. The reason being that your app will feel absolutely lost in translation. Hence understanding every idiom and behavior of each platform is very relevant before starting designing and developing.This comes handy when users are using apps on a new platform. Giving a clearer picture with true version of the product irrespective of where it is used. The motive of this blog is to impart some information which will be useful if one intends to move from iOS to Android or vice versa.
Comparing and scoring Android and iOS Development :
Material Design in Android besides, including support for material design apps also provides material theme, new widgets for cards, lists and complex views, new AIPs for custom shadows, animations and view clipping, vector drawables and custom animations. For using material design in your Android Apps I found these guidelines very useful. The key unit of measure on Android is DIP also known as DP (Density-independent pixel). DPs are equivalent to iOS or CSS pixels point wise. Designs tend to have consistent physical size with varying density across devices when measured and sized in DP. iOS development is easier as compared to Android. The material design in Android is supported by Surfaces & depth, Interaction & motion, Layout grid, Typography. Space on mobile screens is relatively smaller as compared to desktops but there are design rules which are similar to both platforms. Both Android and iOS have screens (which is common in both) clickable rectangle area as view. Unlike desktops, the space on mobile screens is relatively small. There are certain design rules that are common to both platforms. 44 pixels on iOS being the smallest (clickable) and on Android it is 48 pixels. Whereas in mouse styluses and fingers lack precision.
very crucial aspect for any operating platform building. In Apple you create apps using Xcode with iOS SDK. But developers today prefer Swift to Xcode which supports multiple programming languages. The reason for this preference is that Swift (programming language) was created by Apple exclusively for iOS and OS X. Although based on Objective C is however, more concise and significantly less prone to errors. However, you can still use Xcode with plain Objective-C, Java script or Python midst other languages.
has customized Android Development Toolkit which was formerly done using ADT with Eclipse. This is officially replaced with Android Studio with Xcode screenshot. Java IDE IntelliJ IDEA of ReSharper is a serious rival to Eclipse. With user friendly editing features such as code analysis, advanced code completion and refactoring is a big hit. With improved layout editor, Android Studio is highly powered by free community edition especially when you start a project with selection of activities. Android Studio 1.1 was recently released. In comparison iOS development uses Xcode 6.1.1. It is important to note that Android Studio as well as Xcode is free of cost unless you want to deploy or distribute apps onto iOS devices. Android Studio or Xcode have their strength and weaknesses and cannot be gauged on superiority of one over the other.
perform navigation and organization on iOS. View controller either controls a whole or part of the screen (plenty of them). However, to name a few navigation controllers- page view controllers, tab controllers, split view controllers etc. Interestingly, these controllers can be programmed either in code or in storyboard. When programmed with a story board the user can store the organized images/illustrations in XML file. (You can successfully program 100 percent in code whereas with no XML nibs/storyboards it is slower and prone to errors). Android facilitates partition apps into fragments (are part of activities-can have multiple fragments in single activity) and activities (correspond to screens). Comparatively XML files are less used by iOS than Android. Android XML files - offer preferences.xml which invariably controls the strings, styles and settings of the file. Android Manifest.xml has SDK permissions as well as versions. iOS allows you to layout controls programmatically which of course is not that easy specially when using a visual as a design. Comparatively the Android Studio layout designer is much better.
Discipline in Device Fragmentation:
is nothing but an exercise to measure how many varieties of handsets are circulating in the market. With so many players in the market, producing wide variety of phones with different screen sizes and shapes Android (version, screen pixel density) has about 20,000 sets whereas iOS is not also a dozen in number. Android allows you to support mdpi (medium dot per inch), hdpi, xhdpi, xxhdpi as also xxxhdpi. It is very crucial here that this is segmented very meticulously viz. each resolution should have its own folder. Make sure that the graphics used are pre-scaled methodically and placed in the relevant folder. If otherwise, Android will try to do it but will not be impressive. Comparatively iOS is better. It has only three sizes of graphics. In present times the lowest is not essential or needed.
Apple provides a very small range of models with just one simulator. Apple therefore has an easy way out with simulators. It is very different with Android, where you create your own simulator by choosing the operating system versions and screen size. This is more convenient with having Intel-powered version instead of Arm (is slow). Installing Intel hardware emulator is advisable. It is a fact however, that iOS simulators are far more better for debugging as compared to Android emulators.
Everything sums up to revenue generation in the end. So goes with developing of Android or iOS platforms as well. Apple in this case is not only effective but also advantageous. There are numerous devices running Android and Play Store and they all have a great volume of downloads. Relevantly, App Store manages to bring more revenue viz. 70-75% as mentioned by the report from App Annie.
It is found that iOS users find it very convenient and gratifying spending on their app. This also motivates the user to make an adequate choice considerably. However if you insist only for Android it is likely that you will be a loser as you will let go lot of revenue. The best solution in this case is to adopt cross platform which will put you to larger audience whereas, by being iOS exclusive you will only earn more money. Nevertheless Android developers still earn more than Windows Phone developers.
Taking all the above elements into consideration it is not wrong to rate iOS (56) higher than Android (52). Of course market share is dominated by Android and iOS dominates App Revenue (along with ease of up gradation). Important to note, that, The App store deletes within six to nine months any app which doesn’t get upgraded to the latest iOS version released. The success and failure of Android vs. iOS is based on the programmer exclusively!
It is difficult to proclaim who is the winner in this short comparison. Well! in some cases Android supersedes and iOS in other matter takes a lead and sometimes there is an overall draw. The rating or ranking of these two platforms is purely based on goals,preferences and the choices you make. For some users, the flexibility they get from Android may allow them to skip iOS. For some, the ideas would have not worked on iOS if they did-not own a Mac. For some the simplicity of submitting apps to the play store would make them substantially earn some wins. Whereas for some earning maximum profit would be a focal point. For some may also find fragmentation on Android a big drain or they simply like iOS for no reason. Or for some they are keen to invest time and effort to both platforms for a release.