Saturday, December 26, 2015

Mobile Apps Development

Industry is moving  every possible application to run on tablets, smartphones, and even smartwatches.
Mobile Apps Development Technologies
When it comes to mobile app development technology, you need decide what type of app works best for you:
  1. Native App
  2. Web App
  3. Hybrid App
Native and Hybrid apps are installed in an App store, whereas Web Apps are Mobile-Optimized Webpages that look like an App.
Both Hybrid and Web apps render HTML web pages, but Hybrid apps use app-embedded browsers to do that.
I.e. Hybrid app can be installed on a device like a Native app can, but it runs via a web browser.
1). Native Mobile Apps
Native mobile apps are likely what come to mind when you think of apps.
A native app is one that is developed to be ‘native’ to a specific platform:
  • Apple’s iOS,
  • Google’s Android,
  • Windows Phone or
  • BlackBerry OS (decreasingly)
Native apps live on the device and are accessed through icons on the device home screen. Native apps are installed through an application store (such as Google Play or Apple’s App Store). They are developed specifically for one platform, and can take full advantage of all the device features — they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on. They can also incorporate gestures (either standard operating-system gestures or new, app-defined gestures). And native apps can use the device’s notification system and can work offline.
Pros: Pros of native app is that it optimizes the user experience; the app will operate more quickly because it’s been designed specifically for that platform.
Cons: If you wish to build and launch your app on more than one platform (e.g. a chat messenger) you almost need to start each one from scratch.
Apple’s iOS:
  • Language - Objective-C:  One of the hardest programming languages to master.
  • The good news is that Apple provides its developer community with very good tools. E.g. Xcode
Google’s Android:
  • Language -  Java.
  • Java is a more common language than Objective-C and has less of a learning curve.
  • However, the tools available to create apps for Android—including the most popular tool, Eclipse—aren’t as good as Xcode;
  • Also a new tool called Android Studio could eventually deliver the same quality of development support as Apple’s tool.
Windows Phone:
  • Language: C# or VB.NET languages.
  • Microsoft’s Visual Studio is a great tool for building an app—it’s probably the most developer-friendly of the three main platforms.
  • Microsoft offers a variant of Visual Studio (Visual Studio Express) for developing Windows Phone applications with .NET.
  • Visual Studio Express offers approved Visual Studio functionality together with Windows Phone specific tooling like a graphical UI builder or phone emulator
2). Web Apps
There are actually three types of web apps:
  • Traditional,
  • Responsive and
  • Adaptive
Web Apps are typcially built using a language called HTML5
Web apps are not real applications; they are really Websites that, in many ways, look and feel like native applications, but are not implemented as such. They are run by a browser and typically written in HTML5.
Users first access them as they would access any web page: they navigate to a special URL and then have the option of “installing” them on their home screen by creating a bookmark to that page.
Web apps became really popular when HTML5 came around and people realized that they can obtain native-like functionality in the browser.
Today, as more and more sites use HTML5, the distinction between web apps and regular web pages has become blurry.
Good example - iPhone web app ( –
  • In 2011 Financial Times withdrew its native app from Apple’s App Store to circumvent subscription fees.
  • Instead, it came out with an iPhone web app (
  • Users can swipe horizontally to move on to new sections of the app. And, due to browser caching, it’s even possible to read the newspaper offline.
HTML5 given multiple features to Web apps - GPS, the tap-to-call feature, and, there is talk about a camera API
There are, however, native features that remain inaccessible (at least from now) in the browser: the notifications, running in the background, accelerometer information (other than detecting landscape or portrait orientations), complex gestures. But if you really need those native features, you’ll have to create a native app or, at least, a hybrid app.
Cons: Web Apps cannot work with other apps, storing and retrieving files from particular locations, and direct control of device hardware among them -- that are possible with a dedicated app.
Traditional Web Apps:
  • This include any website.
Responsive Web Apps:
  • This takes on a different design when it’s opened on a mobile device (i.e. phone or tablet), altering its design to suit the device it is viewed on.
  • A ready example of a responsive web app is the Upwork blog.
  • Cons:
  • It can’t use any hardware on a device (i.e. an iPhone’s camera)
  • Its “discoverability” will be reduced because it won’t be in any app stores.
Adaptive Web Apps:
  • This in contrast, doesn’t change its design. It will display the same design, but will adjust it to fit the different screen size of a mobile device
  • The biggest benefit of web apps is that they are built using the most popular programming languages—so developer talent is readily available.
3). Hybrid Mobile Apps
A hybrid app can be installed on a device like a native app can, but it runs via a web browser.
These apps are built using a language called HTML5.
Hybrid apps are part Native apps, part Web apps. (Because of that, many people incorrectly call them “web apps”).
Like native apps, they live in an app store and can take advantage of the many device features available.
Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app.
Often, companies build hybrid apps as wrappers for an existing web page; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app.
Hybrid apps are also popular because they allow cross-platform development and thus significantly reduce development costs: that is, the same HTML code components can be reused on different mobile operating systems.
Tools such as PhoneGap and Sencha Touch allow people to design and code across platforms, using the power of HTML.
Good example - Walgreens –
  • Walgreens provides two very similar Hybrid Apps– one for Android and the other for iPhone.
  • Both apps have multiple sections and many native features such as access to notifications and a Refill by scan feature that uses the phone camera to refill prescriptions:
In 2012, HTML5 appeared to be the future of mobile; leading companies like Facebook, LinkedIn and Xero had jumped in and it was getting a lot of attention.
Well later many of these companies ditch their existing HTML5 apps and start again with native apps.
The reasons for this are simple—these hybrid apps are not as fast, reliable or smooth as native apps.
Despite these challenges, the debate continues. The potential for HTML5 is certainly enormous as there’s a definite benefit in not having to build and maintain apps for separate native platforms, significantly involving time and resources. Facebook, for example, employs 300 designers and developers on its iOS team and 300 on its Android team.
Hope this helps.
P.S. - To learn more about the app creation process, AppInstruct’s online course explains the technical elements of mobile app development in greater depth.

Mobile Apps - Which to Choose

Industry is moving  every possible application to run on tablets, smartphones, and even smartwatches.
There are  multiple Mobile Apps Development Technologies:
  1. Native,
  2. Hybrid or
  3. Web
But Which Should You Choose?
Each of these types of apps has their advantages and disadvantages, as I’ve tried to point out. Let’s summarize them here.
Device features. Although web apps can take advantage of some features, Native apps (and the native components of the hybrid apps) have access to the full paraphernalia of device-specific features, including GPS, camera, gestures, and notifications.
Speed. Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s biggest mistake had been betting on the mobile web and not going native. Up to that point, the Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app. Responsiveness is key to usability.
Offline functioning. A Native app is best if your app must work when there is no connectivity. In-browser caching is available in HTML5, but it’s still more limited than what you can get when you go native.
User Interface. Last but not least, if one of your priorities is providing a user experience that is consistent with the operating system and with the majority of the other apps available on that platform, then Native apps are the way to go. That doesn’t mean that you cannot provide a good user experience with a web app or a hybrid app–it just means that the graphics and the visuals will not be exactly the same as those with which users may be already accustomed.
Discoverability. Web apps win the prize on discoverability. Content is a lot more discoverable on the web than in an app: When people have a question or an information need, they go to a search engine, type in their query, and choose a page from the search results. They do not go to the app store, search for an app, download it, and then try to find their answer within the app. Although there are app aficionados who may fish for apps in app stores, most users don’t like installing and maintaining apps (and also wasting space on their device), and will install an app only if they expect to use it often.
Content restrictions, approval process, and fees. Dealing with a third party that imposes rules on your content and design can be taxing both in terms of time and money. Native and Hybrid apps must pass approval processes and content restrictions imposed by app stores, whereas the Web is free for all. Not surprisingly, the first web apps came from publications such as Playboy, who wanted to escape Apple’s prudish content censure. And buying a subscription within an iOS app means that 30% of that subscription cost goes to Apple, a big dent in the publishers’ budget.
Development cost. It’s arguably cheaper to develop Web and Hybrid apps, as these require skills that build up on previous experience with the web. NN/g clients often find that going fully native is a lot more expensive, as it requires more specialized talent. But, on the other hand, HTML5 is fairly new, and good knowledge of it, as well as a good understanding of developing for the mobile web and hybrid apps are also fairly advanced skills.
Platform independence. While different browsers may support different versions of HTML5, if platform independence is important, you definitely have a better chance of achieving it with Web apps and Hybrid apps than with native apps. As discussed before, at least parts of the code can be reused when creating hybrid or web apps.
Maintenance. Maintaining a native app can be complicated not only for users, but also for developers (especially if they have to deal with multiple versions of the same information on different platforms): Changes have to be packaged in a new version and placed in the app store. On the other hand, maintaining a Web app or a Hybrid app is as simple as maintaining a web page, and it can be done as often or as frequently as needed.
Installation. Installing a native or hybrid app is a hassle for users: They need to be really motivated to justify the effort. “Installing” a web app involves creating a bookmark on the home screen; this process, while arguably simpler than downloading a new app from an app store, is less familiar to users, as people don’t use bookmarks that much on mobile.
(These issues are discussed in further depth in our full-day training course Mobile Websites and Apps: Essential Usability Principles for Mobile Design, while many more detailed screen-design issues are covered in the seminar Visual Design for Mobile and Tablet.)
To summarize, native apps, hybrid apps, or web apps are all ways to cater to the needs of the mobile user. There is no unique best solution: each of these has their strengths and weaknesses. The choice of one versus the other depends on each company’s unique needs.
Hope this helps.

Mobile Apps Development Toolkits

Mobile Apps Development Toolkits
When it comes to mobile app development technology, you need decide what type of app works best for you:
  1. Native,
  2. Hybrid or
  3. Web
For all such type of Mobile Apps, various toolkits are available of such type.
1). Native toolkits:
Native toolkits are ‘native’ to a specific platform:
  • Apple’s iOS,
  • Google’s Android,
  • Windows Phone or
  • BlackBerry OS (decreasingly)
Apple’s iOS: 
Language - Objective-C
Apple Xcode (iOS): 
  • Apples full featured development environment lets you create mobile apps as well as desktop applications.
  • Xcode comes with integrated support for Git source-code repositories, graphical editor to build user interfaces, instrumentation and debugging tooling and integrated documentation.
  • You need Mac OS X to run XCode
  • XCode is free of charge.
  • Jetbrains, creator of IntelliJ IDEA, also offers an Objective-C development environment.
  • Just like their Java IDE, AppCode comes with elaborate refactoring capabilities, on-the-fly code analysis, debugging and more.
  • You can download a trial version or buy licenses from $89.
Google’s Android:
Language - Java
Android Studio (Android): 
  • Also based on IntelliJ IDEA, there is Android Studio.
  • Android Studio contains Gradle build support, Lint tools, Pro-Guard app-signing tools and template-based wizards for common application components.
(Gradle is another build system that takes the best features from other build systems and combines them into one. It is a JVM based build system, that means is that you can write your own script in Java, which Android Studio makes use of. One cool thing about gradle is that it is a plugin based system. This means if you have your own programming language and you want to automate the task of building some package (output like a JAR for Java) from sources then you can write a complete plugin in Java or Groovy, and distribute it to rest of world.)
  • With the help of the Android Developer Tools (ADT) plugin, Eclipse gains full support for Android app development.
  • Besides offering Android-specific coding support, ADT lets developers use various on-device debugging tools, a graphical UI builder, emulators or fully scriptable test automation support.
  • The ADT plugin is free.
  • Xtend is a Java dialect which compiles to Java source-code.
  • Include generation features let developers create applications for the Android platform without the need for boiler-plate code.
Windows Phone:
Language: C# or VB.NET languages
  • Microsoft offers a variant of Visual Studio for developing Windows Phone applications with .NET.
  • Visual Studio Express offers approved Visual Studio functionality together with Windows Phone specific tooling like a graphical UI builder or phone emulator.
  • There is a 90-day trial version of Visual Studio which can be run on Microsoft Windows 8 (x64).
Windows Phone App Studio (Windows Phone): 
  • Windows Phone App Studio is an online service designed to create Windows Phone applications without the need to write actual code.
  • It is based on a selection of pre-designed application templates, widgets and data-sources.
  • Apps can easily be downloaded onto a local device or published on the app store.
  • After creating an app online on the website, App Studio generates code which can be further edited by developers.
  • App Studio is free to use.
Cross-Compilation & Generating
  • Developers can write their applications in Objective-C for iOS and cross-compile them to Android with Apportable.
  • Apportable does not use any virtual machines or emulator but generates native machine code for Android devices.
  • A limited set of functionality can be used for free, full feature sets must be purchased on a yearly basis.
  • Like Apportable, Xamarin lets developers create applications for multiple platforms with one code base.
  • Apps can be written in C# and are cross-compiled to native Android or iOS binaries.
  • It is even possible to use device specific APIs and functionality from within C# code.
  • Besides a free starter plan, Xamarin must be licensed on yearly basis.
2). Hybrid Frameworks & Runtimes
Language – HTML5
  • Apache Cordova is an open-source framework to run HTML/JavaScript based applications inside a special native container on the mobile device.
  • Native device functionality is exposed via JavaScript APIs and HTML based applications can thus access device specific functionality like sensors or camera.
  • Adobe PhoneGap uses Cordova as its core and lets developers even build their applications in the cloud without the need of installing a native SDK.
  • Basic PhoneGap functionality and Apache Cordova are free of charge.
  • Besides PhoneGap, Adobe also offers Flex for creating mobile applications.
  • Apps can be developed using Adobe Flash Builder and can access native device capabilities.
  • Flash Builder assists the development process with code templates and generation, signature tooling and debugging support.
  • Flash Builder Premium is available for Mac OS and Windows for $699.
  • Unity (cross-platform, app engine): 
  • Focused on gaming.
  • Unity also lets developers create applications for numerous platforms with a single code-base.
  • Besides enhanced built-in support for audio, animation or physics, Unity hosts an asset shop to buy application fragments.
  • Unity can be purchased for $1500 or used on a monthly base for $75/month.
  • Steroids.js can be used to create cross-platform HTML5 based application like PhoneGap and also uses Apache Cordova as its core.
  • To extend Cordovas functionality and increase performance it offers access to native UI components, navigation and animation.
  • Steroids.js is free, additional cloud based services for automatic app store updates or ad-hoc sharing of apps can be purchased.  
HTML 5 & JavaScript based frameworks
  • jQuery Mobile is a JavaScript framework for creating touch enabled HTML5 websites.
  • The sites are automatically responsive and can be used on broad range of phones and tablets.
  • jQuery Mobile is open source and free to use.
  • Similar to jQuery Mobile, Sencha Touch offers a wide range of ready-to-use HTML widgets to create complete HTML5 applications.
  • Sencha is focused on high-performance and strives to deliver native user-experience.
  • The pure Sencha Touch framework is free whereas license fees for the Sencha Touch bundle including standard support start from $695.
  • The Dojo toolkit is a MVC framework including data binding to create mobile apps.
  • It comes with various pre-defined widgets like sliders or switches and includes theming for popular mobile platforms to provide native look and feel.
  • It can be used with PhoneGap to package an application and publish it in the app stores.
  • Using Dojo is free.
Complete Solution Stacks
  • Appcelerator Titanium Studio not only offers a feature reach JavaScript API and MBC framework to build HTML5 based mobile apps.
  • It also includes an integrated development environment and a mobile backend-as-a-service (MBaaS) platform.
  • Developers can use Titanium to build and distribute mobile apps and connect them to various services like SAP or PayPal by using the secure and scalable MBaaS.
  • Appcelerator can be used for free by individual developers, enterprise plans vary depending on SLAs and functionality. 
  • Applications in the IBM Worklight eco-system are hybrid HTML5 / JavaScript apps using frameworks like Dojo, Sencha, jQuery and PhoneGap.
  • Worklight also includes feature rich development and management tools and access to cloud-based backend services.
  • Prices depend on installation platforms and number of mobile clients.
  • SAP Mobile Platform offers support for development and administration of mobile applications that have access to SAP enterprise systems.
  • It is possible to create B2B, B2E and B2C apps on various technology stacks. 
  • Just like SAP, Salesforce offers an integrated app system to connect to Salesforce services.
  • Apps can be built as native, hybrid and HTML5 applications or by leveraging existing mobile apps. 
Hope this helps.
More details here.

Mobile Apps Development Platforms

Mobile Apps Development Platforms
When it comes to mobile app development technology, you need decide what type of app works best for you:
  1. Native,
  2. Hybrid or
  3. Web
Front-end Development Tools:
Platform Programming language Debuggers Available Emulator Available Integrated development environment available Cross-platform deployment Installer packaging options Development tool cost
iOS SDK Objective-CSwift Debugger integrated in Xcode IDE Bundled with iPhone SDK, integrated with Xcode IDE XcodeAppCode iPhoneiPadiPod Touch Only via App Store, needs review and approval by Apple Inc. Apple tools are free for an Intel-based Mac. Simulator testing is free.
But installing on a device needs a fee for a developer signing key. AppCode - Commercial licenses available.
MonoTouch C# Yes Yes Visual Studio 2005 and MonoDevelop iOS The native distribution format of the platform  
Android Java but portions of code can be in C,C++ Debugger integrated in Eclipse, standalone debugging monitor available Yes EclipseIntelliJ IDEAAndroid Studio, Project Kenai Android plugin for NetBeans Android apk Free, IntelliJ IDEA Community Edition - Free
Mono for Android C# Yes Yes Visual Studio 2005 and MonoDevelop Android The native distribution format of the platform  
PhoneGap & Apache Cordova HTMLCSS,JavaScript Yes No, 3rd party tools No, 3rd party tools iPhone, Android, Tizen, Windows Phone, BlackBerry, Symbian, Palm, Bada The native distribution format of each platform Apache 2
Sencha Touch HTMLCSS,JavaScript Yes Yes Sencha Architect 2 iOS (iPhone, iPad, iPod touch), Android, Kindle, BlackBerry, Bada Web delivered, or hybrid via native shells for each platform GPLv3, Free Commercial License, Paid OEM and Embedded Systems Licenses
Unity C#JavaScriptBoo, other .NET-based languages Yes Remote used to simulate device interaction before app is uploaded to the device. Unity Editor, also works with Visual Studios and MonoDevelop. Android, iOS (iPhone/iPad), PC, Mac, desktop browser, Xbox 360, PS3, Wii. BlackBerry Playbook, Nokia Symbian, Roku 2 and others available through company's Union program. The native distribution format of each platform. Free and commercial development licenses.
Appcelerator JavaScript Yes, in Titanium Studio. Emulator is available using native emulators Titanium Studio based on Eclipse Android, iPhone; BlackBerry, Tizen, mobile web The native distribution format of each platform Free / Open Sourced Apache 2.0 licensed, commercial and enterprise licenses available
BlackBerry Java Debugger integrated in IDE Yes Eclipse, BlackBerry JDE BlackBerry only, because of RIM API alx, cod Free
Codename One Java Yes Yes Eclipse, Netbeans Android, iPhone, BlackBerry, Windows Mobile, J2ME The native distribution format of each platform Open Source GPLv2 and subscription-based build server
Back-end Tools:
Provide a set of reusable services that are centrally managed and controlled and provide the following capabilities:
  • Integration with back-end systems
  • User authentication/authorization
  • Data services
  • Reusable business logic
Platform Programming language Integrated development environment available Cross-platform deployment Deployment options Development tool cost
Backendless Platform JavaObjective-CSwift,Node.jsJavaScript,ActionScript(Flex),C# (.NET) Use any front-end IDE for client-side development. Eclipse, IDEA or NetBeans for custom server-side logic development iOS 3.0+, Android 2.0+, Windows Phone 7+, JavaScript, HTML5 Client, Flash Player (Flash/Flex) On-premises and cloud Free and commercial licenses available
IBM MobileFirst Server HTML5CSS3JavaScript, and Native SDK Languages w/ Native Worklight API Eclipse Plugin, Eclipse Based Stand-alone iOSBlackBerry 6,7, & 10, AndroidWindows Phone 7.5 & 8,Windows 8 Desktop and Tablets, Adobe AIR, Mobile Web App, Desktop Browser Web Page On-prem Developer edition free via Eclipse Marketplace, Commercial License for deployment
Kinvey Java NA iOS 3+, Android 2.0+ Cloud Commercial and enterprise licenses available
Kony Javascript Non-proprietary IDE iOS 3+, Android 2.0+, Windows Mobile 6+, Blacberry 4.5+, Symbian, J2ME On-prem Commercial and enterprise licenses available
Kumulos JavaObjective-CSwift,Node.jsJavaScript, kScript, C# .NET Use any front-end IDE for client-side development. iOS 3.0+, Android 2.0+, Windows Phone 7+, JavaScript, HTML5, Blackberry, Unity .net Angular JS, LUA Corona, C# Cloud Free for up to 25 devices while in development. Fixed Monthly fee with fair use policy.
Magnet Systems Java Eclipse  ? On-prem Commercial licenses available
Metismo Java Eclipse Java ME, Android, BREW, BlackBerry, Nintendo DS, iOS (iPhone/iPad), Palm/webOS, Sony PSP, Samsung bada, Symbian, Windows Mobile, Windows Phone 7, Windows Desktop, OSX On-prem Commercial licenses available
MobileFrame Proprietary, code-free interface NA, MobileFrame Desktop AndroidiOSWindowsWindows MobileHTML5 browser-based client On-prem, cloud, or hybrid Commercial and enterprise licenses available
Verivo Akula Java Use any front-end IDE Android, iOS (iPhone/iPad), Windows Phone7 On-prem, cloud, or hybrid Free development licenses; per-CPU deployment licenses
WebORB Integration Server C#VB.NETJavaPHP, ActionScript, JavaScript,Objective-C, XML Works with Eclipse, Visual Studio, intelliJ IDEA and Amethyst IDE Android, iOS (iPhone/iPad), BlackBerry Playbook, Windows Phone7 On-prem Free development licenses; Free and Commercial deployment licenses
System Software:
These are system-level components that are required to have a functioning platform for developing mobile apps.
Platform Programming language Debuggers Available Emulator available Integrated development environmentavailable Cross-platform deployment Installer packaging options Development tool cost
Adobe AIR ActionScript,HTMLCSS,JavaScript Yes Yes Flash Builder,Flash Professional,IntelliJ IDEA iOS (iPhone, iPad, iPod touch), Android, BlackBerry The native distribution format of each platform Flash BuilderFlash ProfessionalIntelliJ IDEA - Commercial licenses available Adobe AIR SDK (command line tool) - Free
Firefox OS HTML5CSS,JavaScript Yes No, but simulator available. Firefox browser,Firebug Web browser on other platform Firefox Marketplace, Web URL Development requires Mozilla Firefox and the simulator add-on
.NET Compact Framework C#VB.NET,Basic4ppc Yes Free emulator, source code available, also bundled with IDE Visual Studio 2008, 2005, 2003, Basic4ppcIDE Windows Mobile, Windows CE, Symbian-based devices via third party tools OTAdeployment,CAB files, ActiveSync Most tools free, but commercial editions of Visual Studio needed for visual designers
Symbian C++ Yes Free Emulator Many choices Compile per target SIS deployment Commercial and free tools available
Tizen Web-based: HTML5,  CSS, JS
Yes Free Emulator Tizen SDK Web-based app to be available on web browser Tizen through App store, Web URL Development requires Windows or Mac OS X or Ubuntu Desktop
Windows Mobile CC++ Yes Free emulator (source code available), also bundled with IDE Visual Studio 2010, 2008, 2005, eMbedded VC++ (free), Satellite Forms Windows Mobile, Windows CE OTAdeployment, CAB files, ActiveSync Free command-line tools or eMbedded VC++, or Visual Studio (Standard edition or better)
Windows Phone C#Visual Basic,CC++ Yes Free emulator, also bundled with IDE Visual Studio 2012Visual Studio 2010 Windows Phone OTAdeployment,XAP files  
Hope this helps.
Full details here.

Mobile Apps Testing

Industry is moving  every possible application to run on tablets, smartphones, and even smartwatches.
Mobile Apps Development Technologies
When it comes to mobile app development technology, you need decide what type of app works best for you:
  1. Native,
  2. Hybrid or
  3. Web
Mobile applications are first tested within the development environment using emulators and later subjected to field testing
Emulators provide an inexpensive way to test applications on mobile phones to which developers may not have physical access.
The following are examples of tools used for testing application across the most popular mobile operating systems.
iPhoney –
  • iPhoney gives a pixel-accurate web browsing environment and it is powered by Safari. It can be used while developing web sites for the iPhone.
  • It is not an iPhone simulator but instead is designed for web developers who want to create 320 by 480 (or 480 by 320) websites for use with iPhone.
  • iPhoney will only run on Mac OS X 10.4.7 or later.
Google Android Emulator –
  • Google Android Emulator is an Android emulator that is patched to run on a Windows PC as a standalone app, without having to download and install the complete and complex Android SDK.
  • It can be installed and Android compatible apps can be tested on it.
The official Android SDK Emulator –
  • The official Android SDK Emulator includes a mobile device emulator which mimics all of the hardware and software features of a typical mobile device (without the calls).
MobiOne –
TestiPhone –
BlackBerry Simulator –
  • There are a variety of official BlackBerry simulators available to emulate the functionality of actual BlackBerry products and test how the BlackBerry device software, screen, keyboard and trackwheel will work with application.
Windows UI Automation –
  • To test applications that use the Microsoft UI Automation technology, it requires Windows Automation API 3.0. It is pre-installed on Windows 7, Windows Server 2008 R2 and later versions of Windows.
  • On other operating systems, you can install using Windows Update or download it from the Microsoft Web site.
Tools include
  • eggPlant: A GUI-based automated test tool for mobile application across all operating systems and devices.
  • Ranorex: Test automation tools for mobile, web and desktop apps.
  • Testdroid: Real mobile devices and test automation tools for testing mobile and web apps.
Hope this helps.