Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Native iOS/android application to Windows Phone

I have an iPhone application (with an android counterpart), developed in Xcode and written in Objective-C. It is a classical native iOS app, already working and uploaded in the App Store. Similarly, the android version is built with Java and linked with the android SDKs. It's uploaded to the market place.

I was asked to port the app to Windows Phone. Is this possible without modifying the code? I am not familiar with Windows Phone dev, however it looks like that is a completely separate ecosystem for developing apps (different programming language, different IDE, different app store etc).

Can I go from Android to Windows Phone or from iOS to Windows Phone?

PhoneGap - or similar platforms - are not options since the code is already written in Objective-C and Java.

like image 382
cateof Avatar asked Jan 18 '14 08:01

cateof


People also ask

Can native iOS apps run on Android?

One of the easiest ways you can run iOS apps on the Android platform is by using an iOS emulator application called Cider. This app allows you to emulate an iOS application using the Android system. The app isn't available on Google Play Store, so you will have to download its APK and sideload it.

Is Xamarin hybrid or native?

Xamarin is an open-source, c# . NET based, cross-platform mobile apps development framework to develop truly native apps for iOS, Android or Windows. It builds native apps with high performance and native UI. It has access to platform-specific native APIs for each platform like iOS, Android or Windows.


4 Answers

Like iOS and Android, Windows Phone is a completely different operating system and currently requires a completely different development platform.

It is not possible to take the existing code and make it function on a Windows Phone.

  • iOS commonly uses Objective-C for application development . Even if there was a way to compile Objective-C onto a Windows Phone, it would be inherently tied to platform features, and UI controls. While you could write some code in C++ and share it, with an iOS application, you'll still need some in Objective-C.
  • Android applications use Java normally. Java is not available for the Windows Phone platform. So, the language is out. Further, like iOS, the platform features are not necessarily shared and the UI control and behaviors are different. Android applications can use C++ (if you happened to code using it), but it has limitations, and by using it, again, you'd be tying the code to the Android platform potentially. Some code may be portable.
  • Windows Phone applications are usually written in C#/C++ and XAML or DirectX. While there is some similarity in languages (Java and C#), you'll encounter far more platform differences that could need significant effort to convert. From the way network requests are made to handling threads will be different (and many many more). Objective-C is also very different from C++.

Unless you had used something like Xamarin and written the underlying business logic using a common platform (C#/.NET), you'll need to consider a port to Windows Phone a fresh start.

It's not possible to just reuse all of the code that's been written. With a careful effort, you could share some common code (if it were written in C++), but as the shared code will not directly work with UI (and other platform features), you'd still need to do the UI on each platform, work around limitations, and potentially customize the user experience for each platform.

Microsoft has provided some guidance on porting, and provided some links with an API equivalency table here.

like image 84
WiredPrairie Avatar answered Nov 07 '22 21:11

WiredPrairie


Yes, you can use Microsoft's Windows bridge for iOS to convert your iOS application code to Windows mobile platform code.

You need to use WinObjC SDK provided by Microsoft for this purpose.

Follow this link for more details.

like image 32
Smit Yash Avatar answered Nov 07 '22 20:11

Smit Yash


No, you can't, WP apps are build with c# or .net and in visual studio IDE. There is no automated way to port a previously coded ios or android native app built with objetive-c or java to WP.

like image 34
jcesarmobile Avatar answered Nov 07 '22 20:11

jcesarmobile


In my opinion there is no way to directly port a iphone app to windows phone app. You need to develop windows phone app with its needed environment like Visual Studio , windows phone sdk and with windows os.

You can also use cross platform like phonegap if it may fit to your requirement.

like image 37
Praveen Mishra Avatar answered Nov 07 '22 20:11

Praveen Mishra