Tomáš Andrek (Solution Architect)
We know that developers struggle with Xamarin, though life can be much easier.
After several years of development of iOS applications on Xamarin platform, we would like to share the information and advice that helped us accelerate the development of iOS applications two to three times. During development, it is necessary to choose the right process that will lead to effective solution. In practice, we tested each option. Learn which path has brought us the best results.
Which path to choose when you work with Xamarin?
Xamarin Studio vs. Visual studio
The issue is that we cannot compile iOS applications without a Mac, regardless of topology of chosen development. However, we can develop iOS applications via PC with Visual Studio too (though it must be connected to a Mac).
Having a PC connected to a Mac is a redundant step... There is a surplus cost of transferring data between PC and Mac and compilation, release and overall development via PC is slower compared to working directly on a Mac.
We definitely prefer Xamarin!
Let’s compare the environments. Visual Studio is a powerful tool that we use for development of other Windows applications. However, Xamarin Studio has proved to be a better option for iOS. Visual Studio development represents:
Comfort (intellisense, graphics)
Designer (speed, stability)
Designer totally disqualifies Visual Studio. In our experience, it is almost unusable. Every second attempt of screen editing fails. Visual Studio crashes or freezes, which is extremely frustrating. Also, the work with designer compared to Xamarin studio is about half slower.
If we decide to program on Mac, we can jump from Xamarin Studio to Xcode and use designer of screens directly from Apple (we're not limited by Xamarin), thereby blurring the boundaries between Xamarin and XCode because both instruments can be combined.
XCode for the design of screens is an unbeatable choice.
A Simulator vs. A Device
Most applications we worked on were applications with forms and subsequent imaging of data in tables/graphs. Simulator definitely proved as suitable for this purpose:
Inability of device emulation (GPS, camera, ...)
The main advantage is that after compilation and launching, the application boots up 50% faster compared to the real device. If you start an application the tenth time during the day, the time saved is enormous.
Although a simulator can never fully replace the real device, we recommend that you always use the simulator, whenever possible.
The first simulator that works!