Common solution for Xamarin.UWP and Xamarin.Mac - xamarin

I have a quick question, it would be great if anyone can clear it out. I wanted to develop a cross-platform application for Window OS and Mac OS.
I search it out a lot and found that we can create Window app with UWP and Mac OS app with the help of Xamarin.Mac but in that case, we are having a different solution for both Windows and Mac platform. We need a common solution for both the platform.
I will really appreciate if anyone can clarify how we need to proceed with the Cross-Platform development of Windows and Mac.

The idea with xamarin is to separate UI and non UI code. You can share the non UI code between the UWP and Xamarin.Mac
Another approach is to use Xamarin.Forms which abstracts the UI code to be cross platform. The Xamarin.Forms implementation for Xamarin.Mac is stil in preview though

Related

Xamarin iOS GUI

We've been developing a cross-platform app in Xamarin on Windows and now we are moving to make GUI for iOS counterpart.
If I'm understanding correctly we need to switch to Visual Studio for MAC, on a MAC machine, and continue our GUI development there.
Is it possible to develop everything on Windows and just publish an app on the MAC machine?
How do we include the logic and everything from the android app?
You can use Xamarin.Forms to develop UI for both Android and iOS.
But if its already native then you can still continue developing it in Windows.
For the build and testing you definitely need a MAC, if you don't want to use a VM then you can build it on the cloud using a https://www.macincloud.com/ or other party that uses the same service, and use a simulator on windows.
If its cross platform then I assume you're using a .NET Standard for the shared codebase. So there would be no problem using the same logic for both the Android and iOS.
It is up to you. Many apps will work by just publishing on the Mac. Of those many will have some artifacts that shouldn't be in the end version.
To simplify it is like asking whether you should publish the app without testing and fixing. In 99% no, but sometimes it may work.

Can I create an Android app using Xamarin only

I'm a Windows developer and have written all sorts of windows client applications using C++ and C#. I wanted to write an Android app and put it on the Google Store, but I'm only equipped with Visual Studio.
I wanted to ask if it is realistic to think that I can create an app, from scratch, including engine and UI using Xamarin only. I saw there are a few Xamarin samples out there, but I didn't want to start only to find out that it's not enough for some reason.
Currently I'm struggling a bit in getting my environment right, but thought I'd throw this question here to you guys ... Maybe it's not even worth starting?
Thanks.
Yes, Xamarin can be used to develop Android apps from scratch. Xamarin has two main libraries that help with this.
Xamarin.Android will give you access to all the Android APIs directly from c#. Note that you still need to know the basic Android concepts like what is an Activity and an Intent.
The other library is Xamarin.Forms. It is a cross-platform library that will give you a basic set of UI controls and widgets that you declare usong an xml syntax, and program with C#. This library has a few limitations, but you can also use the features of Xamarin.Android alongside it to get at the missing features.
Some advice: if possible, develop and debug directly on an Android tablet. Android emulators are not that good and hard to configure. Hope this helps.
There are 2 types of Xamarin you can use.
Xamarin Forms : Which is the unified version that use XAML for the UI. It is very recommended to use this if you are building a simple application.
Xamarin Native : The "native" version of platform that are written in C#, if you want to create Android-only apps, I really recommend this, since it's very similar with the native Android code, but it's wrapped using C# (You can still using nuget package).

Develop desktop apps using Xamarin for Windows and Mac OS?

I want to develop desktop application for Windows and Mac OS. Can I use Xamarin for this?
Yes you can, but the support for Xamarin.Forms is not available right now for Xamarin.Mac. For Xamarin.UWP it is.
While using Xamarin.Mac, it is indeed using the Mono Framework, and you can develop on Xamarin Studio. The interfaces can be created either by code or with the Interface Builder on XCode. You can have more informations here : https://developer.xamarin.com/guides/mac/getting_started/
Xamarin.Forms has UWP and OSX (alpha) support. If you need WPF and/or GTK (to support also Linux), you can use something like Xwt (used by MonoDevleop) or Eto. Both allow you to choose which toolkit to use (i.e. Gtk backends can run on both Windows and Mac, or you use always the native backend, or Wpf on Windows and Gtk on Mac, etc.)
With Xamarin/Mono you can use the GTK# wrapper that comes with it to build cross platform Windows/OSx/Nix applications.
Just be aware that the UI will look less native on Windows and OSx.

Difference between UWP and Xamarin's UWP?

I was trying to learn basics of xamarin. I came across Adding a Universal Windows Platform (UWP) App and I was trying to figure out advantages of using it over normal UWA with PCL or Shared projects. Is it different from UWP, or does it offers more support from portability?
Xamarin Forms helps dev code once and deploy on cross-platforms.
For front end, there are bit different when you code UWP and Xamarin Forms. stackpanel and stacklayout these kind of UI element. MS is working on XAML standard 1.0 so in future we only have one XAML need to remember.
If you are working on windows 10 app, highly recommended using UWP. There are more docs you can read.
Lot of people using Xamarin Forms to create Android iOS cross-platform apps, and devs lost interesting in support xamarin forms plugins for UWP.
does it offers more support from portability
Yes, or rather I should say that portability is the only practical reason you want to use Xamarin (aside from you being familiar with the platform and not wanting to learn something new, but this seems not to be the case).
Is it different from UWP
As far as I know, Xamarin's UWP is just a UWP project included inside a Xamarin project, so it's basically the same thing.
The answer is: NO
No performance issues
No developing issues
Everything was converted down to the same assembly and run as you expected
However, if you just do mainly in UWP. I suggest not doing it on Xamarin, because the support of new toys come a little bit slower on Xamarin. Right now the communities are waiting for XamlUI Alpha

Monodevelop + Linux and Android Xamarin developement

Is it possible to develop a portable Xamarin mobile (Android) application with MonoDevelop on Linux?
I'm using Linux Mint, I have installed MonoDevelop with the guides MonoDevelop linux and MonoDevelop Ubuntu-Debian.
After installing, I have expected, when creating a project, to find out a project type similar to "Xamarin Android Application" or something.
The only project type mentioning cross-platform + Xamarin is this:
The guides on Xamarin site only applies to Xamarin Studio. I am lost, is there something broken in my installation or it is simply impossible to use MonoDevelop to develop Xamarin for mobile Android applications (and I totally misunderstood)?
In case, can you point me to a guide or resource about developing Xamarin portable mobile apps with MonoDevelop?
PS: There is one Stack Overflow question with last comment of year 2012, and, since then, lot things have changed: Xamarin merge with NET.foundation, the open source release of Xamarin SDK.
Clearly I have misunderstood about Linux support availability. I have thought the question should be re-formulated. I hope this match the policies.
Not yet, Xamarin Android will be available in Linux , but ETA is still unclear.
https://github.com/xamarin/xamarin-android

Resources