Monodevelop + Linux and Android Xamarin developement - xamarin

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

Related

Can xamarin apps be built for Windows, MacOS with same source code?

Given an app written in C# for Xamarin, can it be built to run on all the supported platforms with minimal changes, including Android, iOS, MacOS, Windows?
I realize that Xamarin claims 90% of the code is shareable across platforms (and 10% needs to be customized), and I'm referring to that "90%".
What I don't understand is whether that 90% is shareable across the different Xamarin tools,e.g. Xamarin.Forms and Xamarin.Mac or if those are substantially different tools with different APIs, etc.
For example, I see that with Xamarin.Forms I can build for iOS, Android, and Windows. But not MacOS. So, on a Mac, can I install Xamarin.Mac and then build the same app for MacOS ?
You can add a MacOS target for your Xamarin.Forms-based UI, of course, this is done via Visual Studio for Mac:
https://learn.microsoft.com/en-us/xamarin/xamarin-forms/platform/other/mac
There are items within Forms that are not feature complete on MacOS and thus it is still in a "Preview" release and those are listed on the "Platform Support macOS Status" wiki:
https://github.com/xamarin/Xamarin.Forms/wiki/Platform-Support-macOS-Status
Xamarin.Forms is the framework that allows you to create cross-platform apps between Android, iOS and UWP. In my experience, a lot of the features of Xamarin.Forms do not transfer over to Xamarin.Android. In fact, a big chunk of the way things are done for UI Xamarin.Forms will not transfer over to the Xamarin.iOS and Xamarin.Android. Most of the times when I find a solution that works in Xamarin.Forms and I try to do the same thing in Xamarin.Android I end up just figuring out the problem myself in Xamarin.Android from scratch.
When they say that 90% is shared, they mean that within Xamarin.Forms... 90% of the work on your models and code behind can be shared between the projects (within that Xamarin.Forms solution) and 10% will have to be custom tailored for each platform (UWP, Android, iOS)
EDIT: Just for clarification in the future, you need an iOS device or an iOS virtual machine to compile the code on iOS
To build Xamarin.iOS apps with Visual Studio 2019 on Windows, you will
need:
A Windows machine with Visual Studio 2019 installed.
This can be a physical or a virtual machine.
Windows system requirements
A network-accessible Mac set up with Apple's build tools and Xamarin.iOS.
Visual Studio 2019 accesses this machine over a network
connection to use Apple's build tools, which are required for
compiling native iOS applications.
Mac system requirements
source: https://learn.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/?pivots=windows
As long as you use .Net code and Xamarin.Forms it is 100% portable/sharable across every single project. Xamarin.Forms are currently in beta for macOS and Windows WPF (but for UWP it is not beta), and for macOS particularly they don't have the true native look.
Xamarin does support using the native interfaces and native APIs and whenever you do that, it is not portable.
So there is nothing like 90% sharable, it may be some estimate for some cases. It can be 100% sharable or it can be only 10% sharable depending on your project and how much you stick to the sharable APIs.

Xamarin IOS development in visual studio - what to connect to

I am doing Xamarin IOS development in visual studio, and have just learned that Xamarin Live Player does not work on the IPhone (all such links lead to only Android devices). So.. does anyone know what the minimum apple computer requirements are to be able to build IPhone apps on windows visual studio linked to a mac over the wire? Or.. Can someone point me to another way that I can build IPhone via Xamarin without purchasing such a apple computer? Feel free to redirect me to another site if this is not appropriate to post here - I figure its development related but its not a coding question so I didn't know where to post.
You can use a virtual machine (VMWare, etc.) that runs MacOS. But you will be violating Apple's EULA which states that MacOS should only run on Apple's hardware.

Can you publish a Windows 10 (Universal) app from PhoneGap on Mac?

I am looking to develop a Windows 10 Universal app based in HTML, CSS, and JavaScript for use on Microsoft Surface tablets primarily. I have found information that says it can be done on this page, but at the very bottom of the page it says it is in beta. However, I can't seem to find anything more than that post. No updates, or documentation or anything. Does anyone know if you can do this from the PhoneGap app on Mac OS?
If not, I guess the next best option it to do it on a Windows machine using Visual Studio 2017 and Cordova?
Any information anyone has on this subject would be helpful.
Thanks!
No, I am pretty sure you can't build UWP apps on macOS. The reason is quite similar as the reason you cannot build iOS apps on Windows - you could build the JS portion of your code, but the problem is the fact that UWP build tools and SDKs are OS specific and unless Microsoft specifically ports them to macOS, they cannot work there.
You could use Parallels and run Windows as second OS, or use a build server to build the app in the cloud. Visual Studio App Center is a very good solution for you purpose as it allows you to configure a full build pipeline including UWP, iOS and Android builds.
You can actually develop a UWP app using phoneGap on Mac if you are building it using web technologies. (HTML, CSS, Javascript) But you can not build/publish the app on Mac, but if you have a Creative Cloud account, you can use Phone Gap Build to upload it to the service and have it built there.

c# development environment(s) for Mac

I'm a seasoned c# developer on Windows but have recently bought my first Macbook and have decided to do some c# development on Mac. I've downloaded and installed Xcode, MonoMac and MonoDevelop (Xamarin Studio 5.5.4). Some of the project templates seem to be missing (mac unified template being one). Can anyone point me to any resources to get me started with the classic template or instructions on how to get all the templates, or even alternative development environments for c# development on Mac ?
As mentioned on the website, the unified templates are not include in the stable version yet. So, you need to switch to the alpha channel to have access the the Unified API. Read more about this here: http://developer.xamarin.com/guides/cross-platform/macios/updating_mac_apps/
EDIT:
It seems that Xamarin.Mac is only available, if you purchase it. Refere to the link here: http://forums.xamarin.com/discussion/2231/what-do-i-need-to-do-to-install-and-use-xamarin-mac#latest

Xamarin IDE and visualstudio for windows +Mvvmcross

I have some confusions About the IDE to use for MvvmCross
a) VisualStudio (VS) uses Xamrarin.iOS and Xamarin.Android plugin for iOS and Android development. But can we also use PCL(Portable Class libraries) and MVVMCross/Monocross frameworks in VS? I see the PCL option on VS but, i don't see the support for Android & iOS. Do i need to install additional plugin for PCL to support these two platforms as well?
b) Xamarin IDE supports Android and iOS development on Mac but, is it true that Xamarin doesn't support Mono.iOS on windows? Isn't it strange that Visual studio can use the network mac for iOS development but why not Xamarin Studio?
Thank You for your time.
Regards,
Saurav
a) VisualStudio (VS) uses Xamrarin.iOS and Xamarin.Android plugin for iOS and Android development. But can we also use PCL(Portable Class libraries) and MVVMCross/Monocross frameworks in VS? I see the PCL option on VS but, i don't see the support for Android & iOS. Do i need to install additional plugin for PCL to support these two platforms as well?
MvvmCross currently uses Profile104 for Portable Class Library development. You can easily develop for this profile without installing Android and iOS. The mapping of PCL profile to platforms is, however, quite confusing (it's not exactly obvious) so the easiest way I find to create a Profile104 PCL is:
to create any PCL
then to manually edit the csproj file to say Profile104 - look for a line like: https://github.com/slodge/MvvmCross-Tutorials/blob/master/Babel/Babel.Core/Babel.Core.csproj#L14 in the csproj
I have customers who develop in medium size teams where only some people have the Xamarin tools installed - most people have just Windows tools and work on the PCLs using Unit Tests and using WindowsPhone/Store user interfaces.
b) Xamarin IDE supports Android and iOS development on Mac but, is it true that Xamarin doesn't support Mono.iOS on windows?
Yes, this is true.
Isn't it strange that Visual studio can use the network mac for iOS development but why not Xamarin Studio?
This may feel strange, but I believe this is actually this is Xamarin listening to their customers.
I believe, that the reason customers wanted Windows support for iOS was because they wanted to use Visual Studio and they wanted to use plugins like Resharper. Xamarin provided this in their 2.0 release.
It is true that they could also have added iOS functionality to XamarinStudio for Windows as well - but this (I believe) wasn't what any of their customers were asking for - so adding it would have created more work (both in creating and maintaining it) without adding any significant benefit (IMO)

Resources