Can an android app be installed/converted to run on an iPhone? - iphone

I have an android project that targets Android 2.2 (developing in Eclipse). Exporting the android project to the Droid Incredible works perfectly. Is it possible to export the project to a file suitable for installing on an iphone? I know that most iPhone apps are developed using xCode, but I'm not sure if xCode packages into a .apk or other file format that's equivalent.
Thanks in advance.

Only if you write or port your own complete Dalvik VM (in Objective C or Javascript), plus developing the runtime support needed for any and all API calls that your app uses, and bundling all that with your app, as that would be the only way to run a regular Android project on an iPhone.
A non-trivial amount of work.
Completely rewriting the app in Objective C and Cocoa Touch would be magnitudes easier.

Not even remotely possible. Android and iOS are completely different environments. There are a few frameworks for developing applications that'll run on either, but the results often end up looking kind of weird on both platforms.

You cannot export an Android application and run it in an iPhone because the hardware/software stacks/APIs/etc. are different.
However, if you build an application using for instance PhoneGap (a HTML5 based application framework), it is possible to deploy it on different mobile platforms.
If you feel curious about multi-platform mobile frameworks (Android/iPhone) you may find this thread interesting.

Related

Iphone app using Phonegap and the OS and IDE I can use

I have a requirement from client to develop an iPhone application. As I am a dot net developer I thought it will be bit challenging for me. So I thought of developing it using phone gap. So before suggesting something to the client I need to make sure of certain points.
Do I really need a mac machine to develop this?
Since I am using only html5, css and js, can I develop it in Visual studio/Eclipse? I have already tried some samples in both these IDE. And once the app is ready I have read about using PhoneGap Build I can make it ready to use in iPhone...
But from the following link, what I understood is I need an apple computer, mac os and Xocde to develop it even though it is not a native mobile app.
http://mobile.tutsplus.com/tutorials/phonegap/phonegap-development/
Please guide me with some insights before talking to the client.
Thanks.
PhoneGap Build is a cloud-based service built on top of the PhoneGap
framework. It allows you to easily build those same mobile apps in the
cloud. To get your application build just what you need is to simply
upload your web assets - a ZIP file of HTML, CSS and JavaScript, to
PhoneGap Build, after some time you’ll receive the download URLs for
all mobile platforms.
I read it from here , they also mentioned about installing SDKs
you might want to install some of the SDK emulators if you don’t own a
particular device that you want to test a build for.
Here in this link they have put a note
Since PhoneGap Build uses Apple's standard development process to
build applications, you will need to sign up for their developer
program to build iOS applications on PhoneGap Build. You will also
need a Mac to configure your certificate and provisioning profile.
Consider using a Mac Virtual machine.
You mainly need a mac to create key value chain pairs to sign your app and test it on a device. You can just get a Mac VM to do this is my recommendation. You can then use the phonegap build service to compile your www folder for iOS
Here is a good demo for multiple index files to have one solution base
http://blog.safaribooksonline.com/2012/07/13/mcrooster-a-phonegap-application-with-a-single-codebase/
I think you should do a bit more research before jumping into bed with PhoneGap for the sake of not being an Objective-C developer. PhoneGap has its limitations, and my experience of it compared with native app development is pretty poor.

Titanium and PhoneGap

I'm new to Titanium and PhoneGap and analyzing a bit the two is not possible to develop iPhone with a PC with windows using either of the two right? Well I mean in PhoneGap in the most current versions is only possible to develop without publication.
I wonder if this is actually correct and whether there is a way to make an application to one of these two technologies (Titanium and PhoneGap) Fragment as a view of the native Android devices for both Android and iPhone / iPad. Improving question, make an application to view the devices can be adapted for smartphones and tablets for better use of the screen?
If yes there is some example code and/or source of research?
PhoneGap has an offering called PhoneGap build which just came out of beta. It lets you build your apps in the cloud without a Mac.
You might still need a Mac for certificate (p12 bundle) generation or you can use a service like Mobundler.
For Titanium, a recent service called Foundry22 lets you build your apps without a Mac or any native SDKs installed locally. You just need Titanium Studio and a hosted Git repo.

Multiplatform development options

I have an application (actually a game) that I'm close to starting work on for iOS and the web, however I'd like to DRY up my code bases as much as possible so that I don't have to maintain so many aspects for platform portability. So essentially my two requirements are to run on iOS and the web, but I wouldn't mind it if I could also deploy it for Android as well.
What options exist?
If possible, which I am doubting at the moment, I have considered using Cappuccino (http://cappuccino.org/) to build out the app and then utilize NimbleKit for iOS compilation. Any ideas if this is possible?
What would work better if anything? Are there any frameworks in particular that would scale across platforms and mobile devices well + allow it to easily run on the web?
Also, Flash comes to mind, would that perhaps be best if developed properly such that it will compile over and not utilize non-compatible iOS functions?
The recently released monkey development framework deploys to both iOS and Flash:
http://www.monkeycoder.co.nz/
It's so new that I wouldn't necessarily recommend it, but it has a great pedigree: the creator made Blitz3D and BlitzMax before, and those were great game development tools.
That said, I would strongly recommend a combo like Corona for iOS and Flash for web, so that you're using optimal tools for each platform.
Check out Unity 3D. Works for iOs, Android, Web, Mac, and Pc. Not free for the mobile platforms, but it's worth a try.
You should try Titanium (it's free). You can use javascript and HTML5 to build your game and it can be compiled for iOS and Android. Since you will be using web standards to code, your application can be deployed for the web with few (or no) modifications.
You can use this project as a start point.

How do cross-platform mobile app development frameworks work?

How are Rhodes, Phonegap, and Appcelerator able to take Javascript or Ruby, and compile them into binaries for app SDKs that normally require apps to be written in Obj-C, Java, and others?
Jeff Haynie, Appcelerator co-founder, explains how Titanium Mobile works here.
Phonegap uses the default browser rendering engine, and uses that to display your application.
The javascript is then handled by the native (compiled) part of the framework.
Appcelerator uses something simular, but compiles the whole application if i remember correctly.
MoSync uses a somewhat simular setup as javaME.
Rhodes uses local server. It uses this to communicate with the device.
A Javascript interpreter is built into the webkit browser engine, and the iPhone/iOS SDK gives enough access to this interpreter to run nearly an entire app written in Javascript, with just a tiny Objective C wrapper to start things up.
Android supports native ARM machine code though the NDK, so nearly any language with a compiler that can create a stand-alone ARM binary (but requiring little to no OS access) can be used as a library and accessed via the NDK interface from a Java app stub.
I've created an open source project http://propertycross.com that helps select a cross-platform mobile framework by showing the same application implemented with Sencha, Titanium, Xamarin and more. The project also includes details of how each framework works. It should help you compare end-user experience, code, developer experience and code shared between the various options.

How to develop products on mobile phones

Recently we are going to develop some products on mobile phone (specially for 3g). There are many platforms about mobile phones: iPhone OS, Symbian, Blackberry's. If I want to develop a product, should I use Java or write every program for the main platforms?
Particular one question for iPhone development: are there many Java programs on iPhone? Most iphone app I've seen are developed by their own xCode.
I need some guidance on how to do coding for mobiles correctly.
All these platforms are completely different beasts as in the old days. About symbian, (which I am most familiar with) you can use Qt for quality native applications. Native api is confusing so avoid it where possible. If your application is simple, you can even get away with python.
In short, use the language which you are most productive available for each platform. Their apis are wildly different anyway. Language choice doesn't matter as much as the choice of platforms you are supporting.
Java is not available for use on the iPhone; you can use Objective-C, C and C++ to develop iPhone applications.
There is currently no Java for iPhone, so you need to develop separately for iPhone in objective C.
Alternatively you can create application which runs in web browser, it'll be available on all platforms, but not every application is suitable for web.
Have you considered you using web technologies?
There are a couple of cross platform tool kits for iPhone and Android. They work in the same fashion as Adobe Air. Allowing you to make HTML/JS based web app and run it as native code in the browser.
Titanium Mobile (Android & iPhone) HTML/CSS/JS
Corona iPhone Only via Lua
Palm's Web OS is also based on web technologies.
Finally the old guard, Symbian Provides a Web Widgets system, that works in on all handsets with 9.2 fp 2 installed (n95,e72, n97 etc.) The api supports some hardware functionality.
The only one left out in the cold is Windows Mobile. There is some 3rd party support in the form of Web Widgets by torch mobile
It's currently limited to iPhone, BlackBerry, and Android (and possibly WinMo) but you may want to check out the open source project called PhoneGap. I think it is basically just a native wrapper around the built in web browser for each device, but it does expose some functionality not normally available in that environment such as geolocation, accelerometer, sound, etc.