Yesterday we organised one of the many Xamarin DevDays events in our Xpirit office in Amsterdam. It was great to see many people show up on such a sunny day in the weekend (Some of them coming all the way from London to attend this event here).
The day was split into 4 parts.
- Xamarin Introduction by Marcel de Vries
- Xamarin Forms season by me
- Xamarin + Azure by Roy Cornelissen
- Time to build your own Xamarin mobile app
All slides, samples and labs can be found on github here: https://github.com/XpiritBV/dev-days-labs
Even if you weren’t at the event the labs might be to interest of you because they contain some really nice detailed steps on how to create a Xamarin.Forms app including a Azure backend.
Marcel kicked of the day by explaining how to build true native apps using the traditional Xamarin approach. How we can share up to 70 to 80% of our code while still having all features we would have when building native apps in Objective-C, Swift or Java. By building apps using Xamarin you have the possibility to use all the native tools to build your UI, you can create storyboards for iOS, define your Android UI in AXML and on Windows you can create your UI in XAML. These native UI’s connect to your business logic which you can write in C# and can be the same for all platforms.
Marcel also talked about the performance and how Xamarin apps can often even beat Java or Objective-C apps in performance. This is possible because on android the Mono runtime is sometimes just faster as the Java runtime on Android devices.
There are also some differences on how your code will be compiled and published to the different devices. Android makes use of Just in Time compilation in combination with IL code while on iOS a ARM-Binary is created using Ahead of Time compilation to build true native apps.
Then it was my turn to take the stage to do an introduction on Xamarin.Forms. Xamarin forms is library built my Xamarin to increase code sharing even further. you could go up to 99% code sharing with Xamarin while your apps still look and perform natively.
Xamarin forms is a UI framework that creates an abstraction on top of the UIs for Android, iOS and Windows and will let you design and create these UIs in your shared code which will then be turned into real native UI components when you compile for iOS, Android or Windows. if you use things like Tabbed pages the tabs will be placed at the bottom for iOS because that is what iOS users expect, and for Android it will create beautiful material design tabs at the top of your screen.
You can define your Xamarin.Forms UI using XAML or C# and there are over 40+ pages, layouts and controls available.
Xamarin + Azure
After lunch Roy told a great story on how azure can help you speed up the development process of building your mobile backend with all the features that come with Azure. We zoomed in on Azure Mobile apps and al the components that help you create mobile back ends and adding offline data synchronising between your mobile and the mobile backend with just 4 lines of code!
In the afternoon we spend some time with all the people who attended on building the labs or discussing different Xamarin questions. It was great to see all the people who were new to Xamarin being able to pick this up so fast and were able to write a simple app in a couple of hours.
— Geert vd Cruijsen (@GeertvdC) August 27, 2016
If you missed this Xamarin DevDay in Amsterdam make sure you check the posts by Xamarin where they announce more of then during the coming months. Xpirit is also organising another Mobile development related event on 22nd of September together with AFAS. This FREE event is called LevelUp Mobile and we have great speakers like Brechtje de Leij (mobile strategist and expert), Laurent Bugnion, Jorn de Vries of Flitsmeister, Johan Gorter & Rick Hoving from AFAS Software & Roy Cornelissen and me From Xpirit . Sign up here: https://www.levelupmobile.nl
Happy coding! Geert van der Cruijsen