Develop for various platforms using C # and Xamarin Studio


To not have to learn various technologies to develop for the various mobile platforms, I wanted to use only C #.

However I have some doubts, namely:

  • Is Xamarin Studio free?

  • With the same code, does the generated application run on all three platforms?

  • I own a Mac. If I have a project on the Mac that runs on all three platforms, can I open this project on a Windows PC? Can I edit normally, do tests on Android, and does it guarantee that the changes will work on iOS? Will the project continue working when it is reopened on the Mac?

  • Regarding the graphical interface. How are they made? Only one for all platforms?

  • asked by anonymous 24.10.2014 / 22:39

    3 answers

  • Yes, absolutely free. But you need a license from some Microsoft IDE, probably a Visual Studio, even the Community.
  • Essentially you can use the same code for all three platforms , but it does not mean you do not need to take care to make sure everything is okay. It does not even mean it's the best UI solution.

    The backend part can be the same and run as you see fit, it does not depend on the frontend platform. Of course you need to do it in a way that does not cause problems for any platform, but that's easy, communication on all platforms can be done the same way and this is what matters. Of course if the frontend of each platform, for some reason does not follow the same architecture, it will have problems, but the normal thing is to be equal.

  • I do not have experience, but it's not that simple. Multi-platform brings a natural impedance. See C # Mobile Development Need Mac?
  • With Xamarin Forms you can code all platforms.

    The experience may not be the best possible in all of them, especially now that the product is not yet fully matured. But there are always ways to minimize the problems that may arise. But if you decide not to use it you will have to make a code for each platform following the guidelines of each one. It can get better but it gives a lot more work to do and mostly maintain. More details: Xamarin.Forms Portable or Xamarin.Forms Shared

  • But some things may change now that .NET is open source with MIT license and the Mono will go through great revolution . See more about how Microsoft is committed to other platforms.

    30.10.2014 / 22:32

    1-It's not free. 2-With the same code, you can run several platforms, taking the code that is necessary to communicate with the API of each platform. 3-I did not test, I can not give you a certainty.
    4-For each platform you have to make a graphic interface for each one. An activity (Android), a View (IOS) and a Xaml for windows phone.

    26.10.2014 / 15:04

    In the company I work for, we use Xamarin. Even if you go develop in C # it is necessary that you have a certain knowledge in Java (most of the examples are in java) and Android Java development. For what Xamarin does is "encapsulate" the java codes. You will go to the same classes as there is in Java android, for example Toast.MakeText (); It is a very good IDE, has its problems, for example, in the last update I did, it did not redenrize the axml so I had to do a downgrade in sdk Tools.

    28.10.2014 / 14:24