Miguel says, Xamarin was a niche product for those who wanted to spend a lot of money on it. 🙂
Many announcements today at the keynote regarding Xamarin:
- Xamarin University.
- Open sourcing Xamarin runtime.
- Mono licensed under MIT.
There was never a better time to start developing apps with .Net.
Benefits of using Xamarin and .Net are many. You can support more customers. You can reach more people. Xamarin was designed to take advantage of everything that is native on the platform. Using C# you can share a tremendous amount of code to lower development and maintenance costs.
It’s simple, powerful and native. Compiler does a lot of the work for you. Integrated the object systems.
Strategies for sharing code: shared C# logic and iOS, Android and Windows Phone-specific code. Shared project approach, it gets included when it gets compiled. Portable class libraries where output is assembly and it gets shared across the platforms but more limited API surface. Reuse existing components and Nugets.
Abstractions, e.g. text to speech. Plugins for Xamarin are very simple common features. Shared Xamarin.Forms UI, a small UI abstraction for simple user interfaces.
- Recently launched 2D Graphic Library for rendering 2D bitmaps and images. Based on Skia.
- 3D Retained Graphics Engine, Urho. Cross platform.
Inspector and Workbooks
It’s very much like the web inspector in the browser when you hit F12. Inspecting capability for your live app. Making changes in the inspector is reflected in the live app. Cross platform. Powered by Roslyn’s C#. Live C# shell to execute C# code in the running context. Button available in Visual Studio to open Inspector.
Workbooks can be used for learning. Exploring properties of an object from .Net perspective.
SamplyGame on Android
Game built in a week with UrhoSharp to test the engine.
Q & A
- Everything shown at the session is live and can be tested today.
- Xamarin.Forms has problems running on Windows Phone.
- Inspector works with WPF.
- Integration of Visual Studio Code and Xamarin not planned. It requires more IDE support to build for mobile.