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).
Related
On https://developer.fleetboard.com/#/getstarted, we can read
To implement your ideas we recommend to use Android Studio.
But we work with Visual Studio, is it possible to use Xamarin ?
yes you can.
However we provide an SDK which makes it easier for you to use our library (access to vehicle data).
If you use Xamarin and want to use the provided functionality you have to integrate the jar on your own.
Our team would like to develop an application in Visual studio and Xamarin. The app needs to be supported in both Mac and Windows. We prefer Xamarin because the back end code can be shared. If possible, how to build and publish it so that it can be only installed in the machines. We are not planning to submit this app to the corresponding app stores.
You can write and Windows Application with C# using WinForms, WPF, WinRT (Windows Store apps).
Also you can write Mac application with C# using Xamarin.Mac.
To share the code between Windows App and Mac App, you just need to split your code into shareable Business Logic (part) and specific UI part.
To share the code, just use PCL libraries.
Yes.
The core business logic can be written in shared code usable on both platforms.
You have a couple of choices of how to develop the UI. You can use native or Xamarin Forms.
If you use native then I would suggest using the MVVM pattern with a framework like MvvmCross. You can then write the bulk of your app in shared code and just write the UI in platform-specific code, with the windows UI written as a standard windows WPF or UWP app, and the Mac app written using Xamarin.Mac using the native Mac API.
If you want to use Forms then you may have to compile the binaries yourself to get Mac support as it won't be available till roughly May 2017, but you could get started building a Forms app for UWP/Windows now and add the Mac project once it is available.
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
I have developed applications for Android and iOS using DevExtreme framework.
Can we develop windows desktop apps using Devextreme?
If yes please provide guidelines or steps to get started.
Please help on this.
Are you looking for something like this?
https://www.devexpress.com/Support/Center/Question/Details/T135296
Yes, you can do it. I suppose you use Visual Studio to develop windows apps. If so, the DevExtreme Multi-Channel project template supports WinJS app.
Just create a new Multi-Channel app:
Then, you will be able to select WinJS project template:
The DevExtreme documentation contains some information about WinJS development.
Also, I suppose, you can use Electron. Unfortunately, I have no experience with this tool. And there is one restriction here: Electron supports Windows 7 and later.
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)