Which platforms does Xamarin support? - cross-platform

I tried finding the information both on their website and on the Internet, but it appears that everywhere I look, a different list pops up.
Their front page says iOS, Android, Windows and Mac.
In their documentation (http://docs.xamarin.com/), only Android iOS,
Mac are mentioned at the docs front-page. I'm wondering does this
mean Windows has lesser priority compared to others.
On the Internet, I've found even more inconclusive information. Also,
it's hard to conclude what Windows means, mobile or desktop.
I've never used the product, but would love to try it for the game that I want to create, so I have two questions:
Can you give me a complete list of supported platforms (Android, iOS, Mac, Windows, Windows Phone, HTML5, Flash...)?
Can I target Facebook app with Xamarin?
Thanks in advance.

To update and extend Jason's answer there is now Xamarin.Forms that let us build cross-platform GUI for Android, iOS and Windows Phone. Looking at Xamarin's FormsGallery sample app I think it is fair to say that it de facto supports Windows Phone as well.
In addition to Xamarin.Forms there's always the possibility to use Xamarin.iOS, Xamarin.Android and Xamarin.Mac for platform customizations.
Xamarin.Mobile is in a preview release and supports Android, iOS and Windows Phone. It is used as an abstracted API of the native services (camera, geolocation etc).
However since you need the local SDK's installed for compilation you need a Mac computer to be able to deply for iOS. In order to compile for Windows Phone you need to use Visual Studio and the Xamarin Plugin, Xamarin Studio is not able to do this.
To conclude Xamarin supports development for
Android
iOS
Windows Phone
Mac
However not all of Xamarin's API's are implemented for all platforms.

Xamarin has three products
Xamarin.iOS - write iOS apps using C#
Xamarin.Android - write Android apps using C#
Xamarin.Mac - write Mac desktop apps using C#
Xamarin does not directly support Windows Phone apps. However, because you can write iOS and Android apps in C#, and C# is the native language for Windows Phone, using Xamarin allows you to write code that is usable across all three mobile platforms. Xamarin also provides some tools (like their Xamarin.Mobile library) that make this easier by providing a common interface to some common platform functions that will run on all three platforms.
You can write a mobile app that uses Facebook's API with Xamarin, but you cannot create a Facebook app (one that runs on Facebook).

You may find the actual list of additional platforms here.
On April 2019, it's listed as:
Android (incl. Android Wear)
iOS (incl. watchOS and tvOS)
Windows (UWP and WPF)
Linux (GTK)
Mac
Tizen
Windows Phone not supported since Xamarin 3.x

Related

What is the Firebase Authentication SDK for Windows and MacOS apps?

Develop Unity apps that run on desktops (Windows, MacOS). I am developing a Unity app that runs on desktop (Windows, MacOS).
If I want to use Firebase Authentication for this app (on the above OS), which SDK provided by Firebase should I use?
(Firebase Unity SDK only works with Android and iOS apps?)
If you check the Firebase documentation for setting it up for Unity, it contains a section on setting up a desktop workflow (beta) that says:
Caution: Firebase Unity SDK desktop support is a beta feature. This feature is intended only for workflows during the development of your game, not for publicly shipping code.
When you're creating a game, it's often much easier to test your game in the Unity editor and on desktop platforms first, then deploy and test on mobile devices later in development. To support this workflow, we provide a subset of the Firebase Unity SDKs which can run on Windows, macOS, Linux, and from within the Unity editor.
So Firebase's SDK for Unity does support development workflows on Windows, macOS and Linux desktop systems. It does not support building release versions for these platforms though.
So if you want to develop a game on a desktop machine, the Firebase SDK for Unity would be the easiest way to do that.
If you want to develop a game targeted for desktop machines though, that is not supported through the Firebase SDK. The usual fallback would be to communicate directly with the Firebase REST APIs from your Unity code.

Can WinObjC apps run on iPhones?

I know that this is really basic, but since this is a new tag and technology, I hope you'll permit the question.
Having just discovered the existence of WinObjC (the Windows Bridge for iOS project) I want to understand what I can do with this before I start to devote time to it.
The following project description is a little confusing to me:
The Windows Bridge for iOS (also referred to as WinObjC) is a
Microsoft open-source project that provides an Objective-C development
environment for Visual Studio and support for iOS APIs. The bridge
allows you to create Universal Windows Platform (UWP) apps that will
run on many Windows devices using iOS APIs and Objective-C code
alongside Windows 10 features like Cortana and Live Tiles.
I mean, I see it says for iOS but OTOH it says that it allows you to create UWP apps that run on many Windows devices. I am embarrassed to say I find this confusing.
I feel 90% sure that it is not for developing iPhone apps, but a 10% chance I can develop for iPhone without being able to buy a new enough Macbook is enough to make me ask this question.
The Windows Bridge for iOS allows you to build UWP apps by reusing code you wrote for an iOS app. Say, for instance, you wrote an iPhone game; you could use the bridge to turn it into a UWP game that runs on Windows desktops, laptops and touch-screen devices. You could also use the bridge to add Windows-specific features like Live Tiles and Cortana integration.
If you'd like to develop for iOS without having to buy a new MacBook, you might want to check out another Microsoft project called Xamarin which allows you to do cross-platform mobile development right from Visual Studio.

Camera API of Corona availability on Windows

I want to make an iphone app in corona which uses camera and audio recorder functionality but as far as i searched out, camera app is not supported on windows OS.
So am I not able to create such app on windows environment using corona SDK and need to switch to MAC OS??
Not being supported on windows means you cannot test on windows. If you test on the iPhone your app will work fine (if you made it correctly of course).
But you should not be developing for iOS on Windows, it is harder to debug, and you cannot upload it to apple store anyway,
You have to be on a Mac to build for iOS devices (or use a service like MacInTheCloud). Windows can only build for Android. You can develop on Windows but when you need to put it on a device, you will have to have access to a Mac.

Libgdx for Windows Phone 8

I want port my libGDX game to Windows Phone.
Can I compile my libGDX game for Windows Phone 8?
No, not directly. Currently, libGDX "only" works for Mac, Windows, Android, HTML5 (via Google Web Toolkit), and (beta) iOS.
You may be able to make the HTML5 output run on a Windows Phone (depends on how spiffy the JavaScript engine in the browser is). Then you'd need some way to package this for Windows Phone (on Android or iOS you could use PhoneGap, there may be some equivalent for WP8).
The iOS support for libGDX is actually done via a C# cross-compiler (!!?), so you may be able to use that step to build something that might run on the WP CLR. However, it looks like that won't be easy. It should be possible to use (and probably improve) other tools to translate/convert a libGDX application to WP, but doing so would probably be a lot of work.

Windows SDK for COCOA API

I'm just starting off with IOS app dev. I was just curious to know if there are any sdk's in windows available to simulate the cocoa API.
In simple words can i program, compile and execute an Objective-C code on windows OS through any simulators, if any?
The original question was about running Cocoa apps on Windows, not developing iOS apps under Windows. There are a few projects that are attempting to implement the Cocoa APIs under windows, but I'm not sure how successful they are being. There is one at http://www.cocotron.org/ which looks promising.
Unfortunately, the only real way to do iOS development is in a genuine Mac environment.