Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

e-ZUKA Tech Night vol.29 - Cross platform mobile apps with Xamarin

1,015 views

Published on

e-ZUKA Tech Night vol.29 - Cross platform mobile apps with Xamarin

Published in: Technology
  • Be the first to comment

e-ZUKA Tech Night vol.29 - Cross platform mobile apps with Xamarin

  1. 1. Cross platform mobile apps with Xamarin Simone Basso Head of Engineering @justeat_tech @smnbss
  2. 2. Who am I Simone Basso Head of Engineering @justeat_tech http://smnbss.com/ @smnbss
  3. 3. Questions: - How many of you are mobile developers? - How many of you are Cross Platform mobile developers?
  4. 4. 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
  5. 5. 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 the most famous game written with MonoGame Start Calculate Element Position Render Elements
  6. 6. 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
  7. 7. 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.
  8. 8. Xamarin Architecture
  9. 9. 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 
  10. 10. Is it really Native in iOS? Yes  C# is compiled to CIL (common intermediate language), and then (since Xamarin.iOS 4.0) transcompiled to LLVM. Xamarin is basically as fast as Swift 1.2* and almost 3 times faster than Swift 1.1, using a similar amount of memory * https://medium.com/@harrycheung/cross-platform- mobile-performance-testing-d0454f5cd4e9
  11. 11. 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 * https://medium.com/@harrycheung/cross-platform- mobile-performance-testing-d0454f5cd4e9
  12. 12. 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.
  13. 13. Xamarin vs Xamarin.Forms
  14. 14. I want to see some code Go to http://propertycross.com/ and https://github.com/tastejs/PropertyCross/, this is the most comprehensive comparison of cross platform mobile framework. Or go and checkout this repo https://github.com/jamesmontemagno/Hanselman.Forms. James is one of the top Xamarin Evangelist and has built a sample app to showcase all the best Xamarin.Forms practices.
  15. 15. 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.
  16. 16. What Else - Xamarin Insight Comprehensive Crash Reports and Analytics for your App. Step by step tracking of user activity.
  17. 17. 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

×