Wednesday, 22 November 2017

Advantages&Disadvantages of Android and IOS System

Introduction.
Today there is a number of mobile operating systems that have tried to be the best in the world, but none has managed to
climb to the top and make such impact as iOS and Android. Android is a software set of software subsystems needed to provide a fully functional solution for mobile devices. iOS is a
mobile operating system that allows all other applications to run on one of its iPhone, iPod Touch or iPad products. Both platforms contain similarities in method of use and the devices
that are used, but there are many differences that result from different operating systems: Android and iOS. These challenges are thoroughly explored and explained in this paper.

In the mobile phone market, the emergence of various smartphone platforms such as Android and iOS forcing developers to constantly develop applications with the same content in order to ensure compliance with each of the available platforms. Then, each application developed from one platform in order to be used onanother platform must be reprogrammed. As a result, it takes considerable time and cost to analyze and convert the contents of a mobile application to use a platform on a smart phone.
By automatically converting existing application content to the content of other application content, existing application content can quickly be downloaded to different platforms. As
a result, their usage will increase, and therefore the workforce, time and costs will be reduced.

In this paper, in order to solve this problem, automatic converting and converters designed to automatically translate Android content into iOS and vice versa has been studied.

Android Operating system and Play store.
Android is a mobile operating system developed by Google, which is primarily intended for mobile devices such as smartphones. The operating system uses touch inputs such as
dragging, tapping and pinching to manipulate display objects and virtual keyboard. In 2015, Android had the largest installed base on all mobile operating systems.
In June 2017, the Google Play Mobile App Store has released over 3,000,000 Android apps, and over 80 billion applications have been downloaded. In 2017, the Google I / O company discovered that they had over 2 billion active Android users per month, unlike the previous year, with a figure of approximately 1.5 billion active users.Starting from 2008 to the present, Android has had many upgrades that have been gradually improved its operating system by adding new features and fixing errors in previous versions. Each new version is named after a dessert in alphabetical order: Cupcake 1.5; Donut 1.6; Eclair 2.0; Froyo 2.2; Gingerbread 2.3; Honeycomb 3.0; Ice Cream Sandwich 4.0; Jelly Bean 4.1; KitKat 4.4; Lollipop 5.0; Marshmallow 6.0; Nougat 7.0 and the latest Oreo 8.0 version [1] [2] [3].
IOS Operating System and App Store.
iPhone operating system or iOS is a mobile operating system developed in 2007 by Apple Inc., which works exclusively on Apple's mobile devices such as iPhone, iPad, iPod touch, Apple TV and other Apple devices. By January 2017, Apple’s App Store contains more than 2.2
million iOS applications. All these mobile applications were downloaded more than 130 billion times. In 2017 the operating system had 710 million active devices. In the latest
data obtained on the basis of the reports received in the third quarter of 2017, Apple announced that it has sold more than
1.2 billion iOS devices. Apple Inc. almost every year provides updates to the iOS operating system for iPhone, iPad and iPod touch via iTunes, and from iOS 5.0 version provides over-the-air software updates. All available versions of iPhone are: iPhone OS 1, iPhone iOS 2, iPhone iOS 3, iOS 4, iOS 5, iOS 6, iOS 7, iOS 8, iOS 9, iOS 10 and the latest iOS 11 version [6] [7] [8].

Advantages&Disadvantages of Android and IOS Platform.
Regarding the analysis made in various categories, I can conclude that in the interface section iOS is convincingly leading
over Android because of its more uniform, stylish and convenient interface, while in terms of user experience slight advantage is given to Android due to the huge set of choosing menus, their ease of use and an ideal customer QWERTY keyboard [9].In the application availability section, iOS runs over Android due to the simpler interface, higher buying of expensive games, and thus more profitability and more
recommendations for new applications [10] [14].
Following the operating system stability section, and the research conducted in the first quarter of 2017, it was found that 68% of iOS devices experienced a failure concerning the
number of problems, application decline, overheating of the device and drop in connectivity, etc., while for Android
devices this figure is 50% [19]. In the research, the results showed that Android applications were more likely to fall by 18%, while the decline in iOS applications was 50%. As the most unstable iOS models are mentioned iPhone 6, iPhone 6s, iPhone 5s and iPhone 6 Plus, while Samsung, Xiaomi, Motorola, Sony and Lenovo are mentioned as the most uns Android manufacturers. In terms of the most unstable apps on the iOS operating system are Facebook, Instagram, Google,Facebook Messenger, Snapchat, and Pinterest appear on Android, while on the Android system are IMS Service,
Facebook, Goggle Play Services, TouchWiz Home and Address Book. As the final conclusion about the stability of the systems, it can be said that Android is more serious and stable system in terms of the iOS system [11] [12] [13]. Regarding software upgrades, both platforms are regularly
and timely updated and there is a lot of control over their software. However, preference is given to Apple because it offers a safer and more up-to-date update of its versions, while
on Android depending on the mobile operator of the user who is testing the new versions depends when the new updates are going to be provided [20]. It's hard to compare these two platforms when it comes to battery life due to the diversity of their hardware. iPhone is limited with size of its battery, while Android devices have
various sizes of batteries that can easily overpower the iPhone. Apple's battery is still unchangeable, unlike Android that has a
variable battery and thus increases the utilization of the Android device. Newer models of Android, with the exception
of the standard wired battery charging, also include wireless charging, which is slower than the standard yet gives great
convenience to users, while in Apple models this feature is still unavailable. In this section, Android is in great advantage because of its greater benefits over the iPhone [21].
In the camera's device area, a small advantage is given to iOS because it extracts the maximum values from its hardware. By comparing the 12 megapixel camera on the iPhone 7 and the 16
megapixel camera of the LG G5, the iPhone has far more powerful camera than just a megapixel. The camera and platform applications themselves are fast and easy to use,
although the iPhone's preference is given for greater ease of use and better image results without filtering them.
The analysis made in terms of peripheral devices with Android and iOS preference is given to iOS because Apple has built a larger ecosystem of peripherals (iPad, Apple Watch,
MacBook and HomeKit) and in that way has a larger number of peripherals devices.
In terms of routing, launching the operating system and jailbreak, Android is the winner because of the possibility of routing the mobile device. With the routing mobile device has
access to multiple applications and is available for the latest system updates, greater aesthetic enhancements to the operating system, increased device speed, increased battery
life and many more. While iOS has jailbreak feature of the device that allows downloading and installing apps outside the
App Store and removing some restrictions, it's still not as effective as Android routing [16] [22].
With Android and iOS settings, there are many different elements, but a huge advantage is given to Android because
the user can customize his experience in many ways, there is a possibility to install various launchers to change the look of the user interface, a possibility to set up more backgrounds in the background and shortcuts and also opportunity to choose its default keyboard, while iOS 8 supports third-party keyboard, but it's not even close to that of Android [24]. The connectivity on both platforms is classical because it supports Bluetooth and Wi-Fi. Android uses NFC, i.e. wireless communication in a short field, while iOS has this feature included on the iPhone 6 and 6+. In this category, Android wins because NFC is unlocked and it is much easier to add
third party add-ons [23]. When choosing devices, Android is incredibly leading due to the huge variety of various mobile devices, while iOS is
only available on Apple devices. The basic functionality for calling and messaging is
effective on both platforms. Android offers Hangouts, Messenger, Allo and Duo, through which users can send messages over the Internet or SMS, while iOS has FaceTime and iMessage that offer many more features, GIFs, stickers,
integration of third-party applications and according to stated and according to ease of use, iOS wins. Regarding standard email applications, both platforms use a number of third-party
email applications. However, the Gmail app on Android is more popular and more powerful than the e-mail application from iOS Mail and it offers the user an option to add more email addresses from various providers. Because of this reason, the advantage is given to Android [29].
Each platform uses its own web browser, Google Chrome on Android and Safari on iOS. Both browsers are high quality with the difference that Chrome is available for iOS, while
Safari is not for Android. Both, Android and iOS offer good maps and accurate estimates, but the quality of Google Maps is unbeatable. It contains more points and is more detailed compared to Apple Maps. Safety on both platforms is at a
satisfactory level. Due to the huge focus on rapid updates, Android lags behind with the security of its system compared to the iOS system. A number of Android devices use software that is older than 3 years and are therefore susceptible to
serious hacking that is a threat to security. Apple is working to improve its security with the Touch ID that represents fingerprint recognition. Increased surveillance over iOS applications and the ability to update multiple devices more
quickly takes advantage over system security [17] [18] [31]. The privacy of iOS users is on high level because user personal data is encrypted and not read, used, or stored by
Apple, while Android is less encrypted and privacy is more unprotected. That's why Apple offers the best protection for the privacy of its users. As a platform iOS is simpler and easier to use because it is the same in all iOS devices, unlike Android that is different on each device from different manufacturers. Also iOS is less
cumbersome and more fashionable than most Android phones and it makes iOS a winner in this category. And finally, in terms of creating and publishing applications, Android and Play Store are winning because of their greater freedom and cheaper registration fee [30].

Converting Applications from Android to IOS Platform.
An analysis of a mobile application has been made that automatically converts Android apps into iOS and iOS apps in Android with the help of content analyzer, resource converter,
engine mapping engine, and source translator. The Android platform developed by Google is an optimized platform for mobile devices with the perfect combination of operating system, middleware and application programs. The iOS
platform developed by Apple is the world's most advanced mobile operating system, which is constantly redefining its devices. By converting Android apps into iOS, resources such as images and sounds can be converted, the API can be
converted using the platform mapping engine, and the application sources can be converted using a source translator with compiler-writing technology [26] [27].
The analyzer analyzes the input content and produces output where the resource data and source code stored in the content are separated. A resource converter is a system that converts text or binary data from an application that needs to be converted to image, sound, and user data, so that it can be used for the purpose of the platform of the file system. The engine mapping platform is a system that provides API functions that allow the previous platform to recreate the
executable environment using the target platform functions. The platform can supports the functions to work in the same form and also it enables the converted codes to be easily
understood and changed [28].It also takes care of the reliability and stability of performance from the homogeneity of the environment. The
source translator receives Android codes that are produced by the content analyzer and translates them into iOS source codes that are semantically equivalent and perform the same function on the Android platform.

Programming Android and IOS Applications.
An environment for studying the conversion of Android and iOS applications has been developed using the Xamarin tool to create mobile applications with their natural interface. The new application consists a music player and a picture gallery. It has been tested and functional on both platforms, Android

and iOS.
There are no differences between the two programming languages, because Xamarin uses the C# programming language to create both applications. Regarding the design,
Android has more precision, clarity and naturalness, while the iOS design is more undefined, contains larger images,
negative space and the most commented difference among users is that there is no button "Back". In terms of application programming, Android application programming meant
application programming that would be used on a large number of Android devices, with different screen sizes and various ratios, while iOS is standard for its devices. For these reasons, there is fragmentation of Android versions, and
because of that, the programming of Android apps is very complicated, unlike iOS where the situation is convincingly easier and it saves a lot of time for developers [4] [5] [15] [25].

Friday, 27 October 2017

Android vs IOS


Android
Android is an open source operating system widely used on smartphones and tablets. Android has been available under a free and open source software license from October 21, 2008 and until March 2011. Google published the entire source code (including network and telephony stacks) under an Apache License, and keeps the reviewed issues list publicly open for anyone to see and comment.
Even though the software is open source, device manufacturers cannot use Google's Android 
trademark until Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this requirement to be eligible to license Google's closed-source applications, including the Android Market. 
Google purchased the initial developer of the software, Android Inc., in 2005. The unveiling of the Android distribution on November 5, 2007 was announced with the founding of the Open Handset Alliance, a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google released most of the Android code under anApache License, a free software license. The Android Open Source Project is tasked with the maintenance and further development of Android.The Android Kernel is based on the Linux kernel, with middleware, libraries and APIs written in C, and application software running on an application framework, which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code. Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. Developers write primarily in a customized version of Java. 
There are currently more than 200,000 apps available for Android. Apps can be downloaded from third-party sites or through online stores such as Android Market (available through a browser as well as on the phone).
The Android OS was listed as the best-selling smartphone platform worldwide in Q4 2010 by Canalyswith over 190 million Android devices in use by October 2011.OS Versions
The Android platform releases software upgrades periodically and each substantial upgrade is named after a dessert. The December 2010 release of Gingerbread OS 2.3/2.4 has the highest percentage of market share, with 50.1% in December 2011. The key features of this update are the improved resolution for large screens, near-field communication, copy-paste feature, improved graphics for gaming and multiple camera.
The last OS released on February 22, 2011 was Honeycomb OS 3.0 SDK. This is the first ever tablet only release of Android. The Motorola Xoom is the first tablet to run on this OS. The attractive features are the 3D desktop with redesigned widgets, Gtalk video chat and improved performance with hardware 
acceleration. The next update for Android will be Ice Cream Sandwich 3.0, which will include several software enhancements such as an improved copy and paste function, data logging and warnings, as well as the ability to be able to take screenshots by holding down on the power and volume buttons. There have been improvements with the UI, keyboard and dictionaries as well.
Apple IOS
Apple iOS was originally developed for the iPhone, it has since been extended to support other Apple 
devices such as the iPod touch, iPad and Apple TV. Apple does not license iOS for installation on 
third-party hardware. As of December 2011, Apple is advertising more than 500,000 iOS applications, which have collectively been downloaded more than 18 billion times.
The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. 
Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).
iOS is derived from Mac OS X, which shares the Darwin foundation, and is therefore a Unix-like 
operating system by nature.In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The current version of the operating system (iOS 5.0) uses roughly 774.4 megabytes of the device's storage, varying for each model.OS VersionsThe latest update was released at 6pm GMT on October 12, 2011. iOS 5 introduced the iCloud service and the Notification Center, as well as improvements to native apps such as Camera. The operating system also features new applications, such as the "Reminders" app and "Newsstand", an application that lets you buy newspapers and magazines. Unlike other applications, Newsstand is the first native 
application to actually run on the homescreen. "iMessage" is an application that allows iPod touch, iPhone, and iPad users to communicate, much like a chat service only used between these devices. 
The iMessage feature has been integrated into the "Messages" application on the iPhone. The iPod 
application on the iPhone and iPad has now been split into the Music and Video applications, just like on the iPod Touch. According to Apple, the new OS has over 200 new features.
Application Distribution

Android
Android distributes applications through the Android Market. Google hosts the applications, and a little 
more than half are available free of cost and the rest require nominal fees. Android has a refund policy in which they will issue a full refund if a user uninstalls an app within the first 24 hours after installing it. 
Because Google does not regulate or approve of applications in its Market, there are more security vulnerabilities and issues associated with Android.
Apple IOS
Applications are available through the App Store on all iOS devices. A little over a quarter of the 
applications Apple hosts are free, the rest require some form of payment. Applications hosted in ApplesApp Store are scrutinized prior to release. App writers must submit their apps to Apple, which has a process of deciding on whether they would like to host them or not. Additionally, Apple can also provide information about the range of the products available in their app store. Apple does not have a refund policy for their apps.Symantec recently conducted a lengthy analysis in regards to the vulnerability of Apple’s iOS and Android. It outlined how iOS is more resistant to traditional malware attacks, mostly due to Apple’s app approval process and their extensive process of investigating developers to identify and eliminate potential attackers.
Vulnerability

Android
It can  be assumed that Android is a more vulnerable platform due to the fact that it is open-source and does not have as tight a leash on platform rules and features as Apple’s iOS. One of the recent vulnerabilities exposed in this platform was the “permission-escalation vulnerability”, which allows for an app to be installed without a user approving of the permissions typically required when installing an app. Another vulnerability is called the “Linux kernel privilege escalation” and it allows for an unprivileged application to escalate or gain privileges and full control over a device. The researcher that discovered the aforementioned vulnerabilities, Jon Oberheide, was able to upload an app disguised 
as “Angry Birds expansion pack” into the Android Market. Once downloaded, without any user 
knowledge, the application was able to install three additional apps that monitored the phone’s 
contacts, location information, and text messages. All of the extracted data could then be transmitted to a remote server.
Apple IOS
Although Apple’s iOS platform is more tightly controlled in comparison to Android, there is still some vulnerability that exists within the platform. One such exposed vulnerability is to an updated version of a tool called sslsniff, which allows users to easily perform man-in-the-middle attacks against SSL/TLS connections. With this tool, hackers can identify vulnerable Apple devices and have the ability to snoop on secure communications. The vulnerability is present in many versions of iOS 4 as well as the newly 
released iOS 5, and it allows anyone to capture traffic from your iOS device with techniques to read and intercept any and all encrypted SSL traffic silently without notifying the user. Another vulnerability exposed within the iOS platform is in conjunction with the Skype iOS app. With this vulnerability, hackers can use a JavaScript exploit to extract address books from iOS devices. For example, if a user is to open a chat with a malicious person, they can get access to the user’s friend list and do whatever they would like with the information.
Framework/SDK Difference

Android
Android is programmed primarily in Java on top of a custom VM (virtual machine). The Android object 
model is distributed and classes are freely invoked between apps and libraries, meaning that there is no sandboxing of applications such as that seen in Apple’s iOS platform. The lack of sandboxing between applications leads to a less secure device. Applications are free to communicate with one another, exchange information and data. Application development is facilitated through a set of tools that are provided with the Android SDK; these tools are accessible with the Eclipse plugin called ADT (Android Development Tools) or from the command line. Development with Eclipse is preferred and encouraged because it allows the developer to directly invoke the tools needed while developing. The steps for developing are as follows:


  • Set up Android Virtual devices or hardware devices

    • Create an Android project
    • Build and run the application
    •  Debug the application with the SDK debugging and logging tools
    • Test the application with the Testing and Instrumentation framework
    AndroidLicensing
    The Android market offers a licensing service that lets you enforce licensing policies for paid 
    applications that you publish through the Android market. With Android market licensing, the developer’s applications can query Android market at run time to obtain their licensing status for the current user, then allow or disallow further use as appropriate. The licensing service is a secure means of controlling access to a developer’s applications; when an application checks the licensing status, the 
    Market server signs the licensing status response using a key pair that is uniquely associated with the publisher account. The developer’s application stores the public key in its compiled .apk file and uses it to verify the licensing status response. 
    The Android SDK provides developers with library sources that can be included in their application projects; the License Verification Library (LVL) handles all of the licensing-related communication with the Android market client and licensing service. With the LVL integrated, the developer’s application can determine its licensing status for the current user by simply calling a library checker method and implementing a callback that receives the status. In order for a developer to be able to use licensing for an application, they must register with a publisher account on Android market so they can publish the application to users. Developers can register for a publisher account through their existing Google accounts after agreeing to the terms of service. After the registration process has been completed and a publisher account has been acquired, developers can upload applications at their own convenience, and begin debugging and testing their licensing implementations. Developers can use the publisher account to obtain a public key for licensing, debug and test an application’s licensing implementation (prior to publishing the application), and publish the applications to which they have already added licensing support.
    Apple IOS

    Apple’s iOS is developed using the iOS Software Development Kit. The iOS SDK includes iOS, Xcode tools, access to documentation, sample code, and resources needed to develop applications. The SDK and Xcode tools can be used on any Intel-based Macintosh computer with a current version of Mac OS X. Xcode provides the development environment developers can use to create the application code, compile it, run it, and debug it. Apple’s iOS is based on a variant of the same Mach kernel that is found on Mac OS X, and there are layers of technology services that are used to implement applications on the platform. The layers are divided into four; Cocoa Touch, media, Core Services, and core OS. Core OS and Core Services layers contain the fundamental interfaces for iOS, including those used for accessing files, low-level data types, Bonjour services, network sockets, etc. The layers are mostly C-based and contain technologies such as Core Foundation, CFNetwork, SQLite, and access to POSIX threads and UNIX sockets among others. Moving into the upper layers, such as the media layer, there are more advanced technologies using a mixture of C and Objective-C. The media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video. This layer includes C-based technologies such as Open GL ES, Quartz, and Core Audio, along with Core Animation, which is an advanced Objective-C based animation engine. In the Cocoa Touch layer, most of the technologies use Objective-C. Frameworks within this layer provide the fundamental infrastructure used by the developer’s application; foundation framework provides object-oriented support for collections, file management, network operations and more. The UIKit framework provides the visual infrastructure for 
    the application, including classes for windows, views, controls and the controllers that manage those objects. The starting point for any development project is the Cocoa Touch layer and the UIKit 
    framework in particular.