IOS SDK and Android SDK are 2 great operating systems but it seems that are some diferents between IOS SDK and Android SDK.I think that Android SDK is better than IOS SDK but it seems that not everybody thinks this way.As development tools, Android has an advantage (depending how you look) for IOS. In Android can make use of system libraries (called APIs) that you wish, both public and private.
The public APIs are libraries that do not vary their calls (except for extended arguments or methods that are incorporated), ensuring compatibility with previous versions (usually), and are working on basic elements of the operating system at all levels, as for example, drawing elements, the control of the accelerometers, pulse detection, etc … Are the elements that every good programmer should be used as a tool, using only those.
Private APIs are those that control the physical elements of the device (the hardware) in a manner closest to this and with better performance. It is a lower layer using the public APIs to get the device, but these are modified constants do not guarantee compatilibidad of methods, arguments, called … A method for controlling the tilt of the phone, can be called AcelerometerPos version 2 and have two arguments x and y that give us the inclination. In version 2.1, can be renamed AcelerometerPosition and use four instead of two arguments, which are a, b, c and d. This is to put a basic example, not real. These should not use one, because it causes the problem, make it necessary to have implementations that can detect the version, work in one way or another. This ultimately reduces application performance.
Android allows us to use some other equally, and the programmer’s responsibility to ensure that your application, use what you use, work well in all versions. Google recommends using public but does not prohibit private.
In Apple’s not the case. If we use the IOS Private system APIs, Apple consistently rejected our application. It is one of the famous reasons that our application will be condemned to the place where we can publish applications that use the private API that can allow us to even modify the operating system itself and its elements: Cydia. Apple’s argument in this regard is simple: performance guarantee in future versions of IOS and the NO modification or manipulation of elements of the device or operating system without its consent. They are the owners and only they can play that part.
An application example of this type would be the famous MyWi that creates a wireless network on any iPhone with the 3G connection. When he left in April IOS, the change in wireless APIs MyWi made inoperative, and had to retrofit, because this program uses private API directly controls the chip wireless communication network and “reprogrammed” to remove 3G signal through it. However, we can find Android Market applications as well without any problem, as my favorite wireless Tether, in addition to more curiosity, the phone requires root access (which has done the equivalent of the jailbreak of IOS, but Android) to run. And it’s in the Market and legal.
Drawing interfaces
The application interface is what we see of it. The user-facing application which shows us and ask for information. Well, to work with these interfaces, Android has a single library (an API public in this case) which is the drawing interface that allows programs to make items using operating system features such as text fields, labels, buttons, selection fields, etc. In the case of Apple’s the same.
But we have a clear difference that makes us understand that things for programmers will not be easy, unless Google fix this in future releases of its SDK. Android, freed from the bondage of the resolution (not as IOS) uses a clever method for adapting the size of the fields to the screen as the resolution. It is similar to the use of positions and relative sizes within style sheets and web pages, so that we do not define the size in pixels of a field, but their relative size based on the entire screen. In this way, the same application will be virtually the same on any device, whether its resolution 320×240 and 1024×600. This is undoubtedly a breakthrough.
In the case of IOS, the interface elements are served by the type of application you want to do. If we make an IPAD application we have a structure and elements, and if we have another one of iPhone, with the ability to provide or enable a very simple (using a method in the interface definition) to activate or not support retinal display for the font in your application. Depending on whether you use an iPhone in April or not, is drawn with more or less resolution, and use the full resolution graphics or adapt to a lower resolution, can have two different versions of the same graph, one for each mode. The important thing here is that the IPAD Interface APIs are different from OTHER iPhone (which is why even the keyboard on the iPhone applications IPAD is the iPhone keyboard and not the IPAD, among other things). Apple has some specific libraries to generate interfaces for IPAD, taking advantage of screen resolution and size.
When Android faces a tablet its applications will be much better than they are now in a IPAD iPhone, but will become all mobile applications, because they will continue using the same library in smaller devices. No change in structure, presentation … While programming for the IPAD, we have our service a number of resources that allow us to draw interfaces adapted to the screen of the IPAD, with several screen scrolls, defining a kind of division of the screen with their own autonomy.
In Android that is something that the developer will have to make it from 0, since it gives NO SDK. He will have to generate all that, so each one will make their own way, creating new APIs themselves, and eventually we will have a major difference in the implementation of each application when we have a consistency with IPAD gives the developer more easily, to have their own API development and the visual interface.
Initial conclusions
In the end, Android SDK, no longer program in java using a series of specific libraries, and where we have the option of using an IDE (a program that facilitates the programming) and Eclipse, Google is not even, and that is designed to work with java on any platform.
In the case of IOS SDK, we have specific programs to work with it, we have many more methods and libraries that make life easier for the programmer, and many things like controlling the rotation of the phone, the pinch and many elements are based, in many cases and literally, in a more or less in our program.
In short, Android is more traditional, which gives nearly infinite possibilities in this development, but more difficult because you have to work all by yourself, and IOS is more “targeted” and focused, giving much less freedom but provides easy to when developing ideas.

























