Questions: - How many of you are mobile developers? - How many of you are Cross Platform mobile developers?
How do I know about mobile In 2011 some friends on mine won the Italian 'Global Game Jam' (GGJ), with a game called “Smashing Planets” developed using Microsoft XNA for the PC. Back then I was one of the few people owning a Windows Phone and an XBOX, so I asked them for the source code and I made the first port to XBOX and Windows Phone. Then I got excited and discovered a project called MonoGame, that is an Open Source implementation of Microsoft XNA. In a matter of a few weeks we were able to port the game to Android and iOS http://bit.ly/android_smashing, http://bit.ly/apple_smashing http://bit.ly/windows_smashing
What is MonoGame MonoGame (http://www.monogame.net/) is a cross platform “Write once, play everywhere” (iOS, Android, MacOS, Linux, Windows, Windows Store, Windows Phone, and PlayStation 4) framework built on top of Xamarin. It allows you to write a game once and get it to work pretty much everywhere. FEZ (http://fezgame.com/) is probably Start the most famous game written with MonoGame Calculate Element Position Render Elements
What is Xamarin Xamarin is a company based in San Francisco, born as a spin off from Novell when Novel decided not to support Mono anymore. Xamarin.iOS and Xamarin.Android are a Cross Platform implementation of the .NET Framework based on Mono. It’s the only framework that allows you to write NATIVE cross platform mobile apps using the same language and sharing up to 100%* of the code. Microsoft recently open sourced (https://github.com/Microsoft/dotnet) all the core components of .NET and created the .NET Foundation, and made Xamarin life a lot easier, as there’ll be more and more support for running .NET on Unix based operative systems (OSX / Linux) and mobile operative systems (iOS / Android). * Only with Xamarin.Forms
What can you build with Xamarin Anything. Really. - Google Watch - Apple Watch - Rich UI apps Anything you can do in ObjectiveC for iOS, Java for Android and C# for Windows (Phone, Tablets etc come out of the box with .NET) you can do it with Xamarin.
Xamarin Architecture MVVM is the recommended pattern when building X Platform mobile apps. It allows to decouple the UI (View) from the Business Logic (Model/ViewModel). MVVM is the pattern used by Angular JS when you use 2-way binding. It’s probably the only good thing left after the death of Silverlight
Is it really Native in Android Kind of , but it’s even better. C# is compiled to CIL (common intermediate language), and then run on a MonoVM on Android. It does not touch the DalvikVM unless it’s calling some native library Xamarin is basically as fast as Java * and using a very similar amount of memory * harrycheung/cross-platform-" target="_blank">https://medium.com/@harrycheung/cross-platform- mobile-performance-testing-d0454f5cd4e9
Xamarin.Forms If all you want to build is a very simple data driven app, you now have a new option. It’s called Xamarin.Forms. You can build your UI once, using XAML (the eXtensible Application Markup Language) and Xamarin.Forms will take care of rendering it with a native look and feel on every platform. You can still override how every component is rendered and how they behave on each platform using OnPlatform and custom renderers. You can reach 100% code reusability for very simple apps. Ideal for prototyping.
What Else - Xamarin Test Cloud Built on Calabash, you can test your app on hundreds of REAL devices with a click of a button. You can use this, NOW, even if you are building Native apps without using Xamarin.
What Else - Xamarin Insight Comprehensive Crash Reports and Analytics for your App. Step by step tracking of user activity.
The End This was a very high level overview of how you can use Xamarin and all of their products to build, test and support cross platform native apps. Any question? Simone Basso Head of Engineering @justeat_tech http://smnbss.com/ @smnbss