I was talking with someone about iPhone and Android apps and they said there was something around called "Titanium" that could convert an iPhone app to an Android app and vice versa; being that they are written in different languages (amongst other nuances) I found this a little hard to believe.
I'm assuming he meant this
From what I can understand, you can't "convert" an existing app from one to the other, but if you build an iPhone app based off of this API THEN it can be converted to the other?
Am I right in my thinking?
You're almost right. In Titanium you build your app using JavaScript (and HTML/CSS for webviews - sort of webpages) and it converts it to native code for both platforms - Obj C for iOS and Java for Android. However you still need to write a significant amount of platform specific code because not everything will work right out of the box on both platforms. And yes - you can not convert existing apps using Titanium to anything.
The word "convert" is inaccurate in describing what Titanium Mobile does. You don't "build an iPhone app based off of this API", you write your app using the Ti API (which is based in Javascript/HTML/CSS), and when you compile that app you end up with both a native iOS app package and a native Android app package.
Related
I have a 30 line Java Android app which uses WebView to connect to our website. The website was the real development and it does all the work for scaling and adjusting. The app simply makes a WebView browser connection to it, plus it catches connectivity errors and uses Toast for some messaging. All is about 30 lines of Java, using Eclipse. The app is done, fully tested, signed and is being deployed to play store.
I want to have the same app supported on iphone and ipad. My question is this:
Is xcode and rewriting the app in Objective C the fastest and best path to port the app from Java/android to ios? Is there a shortcut? Is there a translation or transformation utility available?
Phonegap/Cordova doesn't seem to be applicable here (or is it?) as the app is not a js/html/Css app. I also understand that there are no plugins for ios in Eclipse. There are tutorials on how to do this in xcode (e.g., http://conecode.com/news/2011/05/ios-tutorial-creating-a-web-view-uiwebview/) but was wondering if there is a better path.
I remember a university project a few years back that was trying to build the translator from java to objective C plus all the needed ios libraries. Not sure if it became a product at any time.
Any pointers is appreciated.
The best path is using Objective-C or Swift in XCode, since WebViews are available in iOS too, and your app will be of a length comparable to the Android version.
I have one simple question, that is can I convert my android .apk app into ios using any software? If yes, then please give me the name of that software. If any alternative method for that please guide me.
Google has a tool to convert the back-end, nothing for front-end though
http://www.xda-developers.com/google-tool-helps-developers-port-android-apps-to-ios/
There is a new startup that clains to convert the APK to IOS.
It's called MechDome.
The goal is very simple and attractable:
Reduce time to market by eliminating cross-platform development. Automatically convert your existing Android apps to high-fidelity, native iOS apps.
There is nothing out there that would convert apk into ios app. To my knowledge there is also nothing out there that could translate android code to IOS. The operation is simply too complex for a simple tool to manage.
However, there are tools you could use to make your apps (developed by you) work across multiple platforms. I'm sure there are more, but here are 2 of them I found in minutes (look into them if you are interested): Apportable, Phonegap (discontinued as of 2020/03. It was made obsolete by ProgressiveWebApps - PWA).
In past decade or so WebApps have been picking up for anything that is not too graphically demanding as they can run on anything that has a Web Browser. With this style devs pretty much open their website in a platform-specific executable and it looks like an app.
As for your existing app depending on complexity of your software you have to rewrite from a little to a lot of code to adapt to IOS APIs.
In short: No. Unless your app is build on multiplatform framework, converting means manual adaptation.
There is no known way to convert an android app to iOS. MechDome which is a Developer Tool that Automatically Converts Android Apps into iOS Apps seems to have stopped as of 30/03/2021. link
However if it is your plan to launch android and iOS app from one coding project, use Flutter which allows you to launch on both platforms simultaneously.
Flutter is Google’s mobile UI framework that provides a fast and expressive way for developers to build native apps on both iOS & Android, using a single codebase.
Get started here link
I am an app developer and I use Xcode to develop all my apps, but seeing in today's market a lot of people now have non apple devices. So I guess I'm wondering if there's an easy way to take my code for my apple apps and convert it to android format so I can submit to both markets?
Also does Android have their own version of "iAds"?
I agree with Ben, I was in the same boat a few months ago since the only mobile development I had done was on Xcode and I was trying to find ways to convert my existing project but instead I opted to just build a new version using Android Studio. As Ben said, even if you convert the iOS app, some of the UI and design patterns are different when comparing an iOS App to an Android App (for example iOS uses tableviews and the cells can have disclosure indicators while on Android you would need to use a list view and not use a disclosure indicator since it goes against the design patterns for Android). I would suggest taking a look at the Android documentation, specifically the recommended design patterns as that will help give you an idea of how much you would need to change to make your code work for Android.
You can use your iOS app's code as a guide to your Android app since even though the language is different, the overall structure would be pretty close.
You could share some parts of your android application with iOs using j2objc which converts java to objective-c. However anything that relies on the android framework will not work (the same would apply if you found something to convert it obj-c to java).
You could use something like Phonegap or Appcelerator. You would write code in javascript, HTML, CSS and then it would create iOS and android applications for you.
However there is some things that cannot be done using these technologies. I know that to get around this appcelerator allows you to create native modules.
You will never get an app on both platforms for 'free' there is always a cost involved whether it requires more work or you loose some features on one or both the platforms.
You need to work out how complex your application is going to be and what parts could be separated into a shared module/library. You would also need to consider how you are going to visually represent your app, it would be easier to come up with some middle ground between android and iOS than it would be to create iOS visuals on android or vice-versa.
If your making a game take a look at unity
Is it possible convert a native Android app in to PhoneGap?
There is a script on: http://www.elvenware.com/charlie/development/android/PhoneGap.html which claimed it was possible, however it doesn't seem to have worked, and I am now stuck as to where to go.
Any help would be appreciated.
Is it possible convert a native Android app in to PhoneGap?
You can rewrite it.
There are bits and pieces of stuff that, in theory, could be used by a large development team to try to create an automated Android->HTML5 translator. However, many Android apps could not be translated that way, as they do things that are not presently possible using HTML5, even with the assistance of a hybrid app container like PhoneGap.
I am now stuck as to where to go
I would recommend that you start writing the PhoneGap app.
We are currently making a solution which can address this specific problem: how to convert existing android native java app to cross platform (Javascript). It includes Java->Javascript compiler, resource compiler (XML->HTML+CSS) and Javascript implementation of Android API. More information about the project and its current status can be found here: https://wellevo.com/android-js/
I'm starting to get into turing an iPad app I made with phonegap and converting it to become an android app as well. But where as Xcode lets you specify iPad only, I'm not seeing this option any where in the new Android Studio IDE. Is this an option when working with Android? Any ideas or help is appreciated.
XCode would not give you an option to convert your iOS app for Android. If you are going the native way, then you use XCode for the iOS app and Eclipse for the Android app. If you want to save time and effort, then framework like PhoneGap is created for this very purpose. Instead of using Objective C or Java, you create the app with HTML, JS and CSS and it would work on all major supported platforms of PhoneGap.
About the form factor/screen size, Eclipse does not filter on screen size, however the Play Store does and this is controlled by the supports-screens manifest attribute.