I’m mostly going to focus on Android and iOS because those
are the only major players that exist at present.
v For iOS, it is Objective-C and
XCode.
v For Windows Phone it would be
C# and Visual Studio.
Note : However, I would recommend
anyone seriously thinking about cross platform mobile
development to at least develop a simple app natively in both
Android and iOS. The reason for doing this is because it will make it
easier for you to understand what is going on under the abstraction layer that
a cross
platform mobile development solution will provide you and it will help you
to see the value or lack of value in a cross platform solution
A native
application is developed using the tools provided by the device or operating
system (OS) manufacturer and runs on a single platform. Example tools include
the UIKit from Apple for creating an iOS app, or the Android software
development kit (SDK) for creating an Android app.
2016
Market Share of Native Platforms1
• 68.8% Android
• 19.1% iOS
• 11.4% Windows Phone
• 4.1% BlackBerry OS
• 1.6% Other
Pros
(Quality)
• The user interface (UI) in the
application is consistent with other core UI elements on the mobile device.
• The performance of the
application, including UI responsiveness, is better.
• There are no third parties between
your app and the device’s capabilities.
Cons
(Cost)
• Specific technical skills (e.g.,
Objective-C, C#, Java, etc.) are required for each platform, increasing
development costs.
• Code reuse across platforms is
very low, increasing maintenance costs.
Cross-Platform
A
cross-platform application is developed with a single code base, yet can run on
multiple platforms. There are two types of cross-platform solutions:
cross-platform native and hybrid. Cross-platform native solutions (CPNS)
involve compiling a project down to native code and features, while hybrid
solutions use a device’s embedded Web browser.
Mobile Website
A mobile
website is viewed on a device’s native browser. In addition to accommodating
smaller screens, a mobile website should tailor the experience to make mobile
tasks easier. A mobile website may be created for a number of reasons,
including:
• In lieu of an installable app.
• To accommodate unsupported
platforms.
• To insure any visitor on any
device has a good experience