Developing and Designing Native Mobile Apps in Visual Studio
- 1. !
Developing and Designing Native Mobile Apps in Visual Studio!
!
James Montemagno!
Developer Evangelist!
@JamesMontemagno!
blog.xamarin.com!
!
- 2. Automatically test your app on!
hundreds of mobile devices !
Create native iOS, Android, Mac and
Windows apps in C#
- 10. Anything you can do in Objective-C, Swift or
Java, can be done in C# with Xamarin!
!
- 16. Learn more!
Unrivaled Mobile Development Training!
Live unlimited mobile development training from mobile experts, !
in your time-zone, on your schedule and as often as you'd like!
www.xamarin.com/university"
- 18. Resources!
§ Visual Studio Shared Projects Extension
§ http://bit.ly/vs-shared-projects
§ Code Sharing Documentation
§ http://bit.ly/xamarin-code-sharing
§ Xamarin 3
§ http://blog.xamarin.com/announcing-xamarin-3
- 19. Q & A!
!
Get your free C# t-shirt:!
xamarin.com/shirt!
!
Find Me:!
@JamesMontemagno!
@XamarinHQ!
blog.xamarin.com!
Editor's Notes
- Xamarin has 2 Main products.
You probably know of the Xamarin Platform enabling you to create iOS, Android, Mac and Windows
From either Xamarin Studio on a Mac or Visual Studio on a PC
We will talk about this a little bit more , but they also have Xamarin Test Cloud
Test Cloud is an upcoming service currently in Beta where you can upload your iOS or Android app (built with or without Xamarin (java/objectivec)
UI Tests are run on Hundred of physical devices.
- First, let’s talk a little bit about how you can create apps today
- First is the Silo approach.
This is very common, where you see a company or developer
creating an app multiple times in different languages with different tools
Expensive, multiple teams, takes more time
- When people think of cross platform they think of this
Some magic box where html and javascript of sorts go in and apps magically come out
The issue here is you are coding again their api, not THE api
- Fully native apps written in C#
Share on average 75% source code across platforms
Even higher with xamarin.forms
C# + .NET Runtime
Native UI
Native Performance
- If you are a windows developer you will be used to these name spaces.
These are the core .NET base libraries that we know and love.
If you mix in windows phone and windows store development you get new namespaces
Windows. And Microsoft. With platform specific APIs
- Xamarin gives you the best of both worlds with full support for the .NET Framework (your System. Libraries)
Then they create C# bindings for every API in iOS and Android
As you can see here there are a few, CoreGraphics, CoreMotion, etc,
These are your platform specific bits to take advantage of everything in iOS
- Then they do the same thing for Android so here you get the Android specifics
Renderscript, NFC to do cool phone tapping of data transfer
And text to speech apis to make your app shine
- On iOS Xamarin Compiles the C# down to IL (intermediate language)
Then Xamarin create LLVM bit code
Then the LLVM bit code runs through the same LLVM Compiler and Optimizer that apple users for objective-c code
Creating the final native arm binary.
On Android they use an advanced compiler and linking to IL and
then JIT to create native instructions at runtime for optimal performance which often can be faster than the dalvik runtime.
- We see here the Xamarin approach we talked about earlier
This enables you to be highly productive, share code, but build out UI on each platform and access platform APIs
With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs
Entire optional Technology
You can start from native, pick a few screens, or start with forms, and replace with native later
- New courses available today for:
Xamarin.Forms
iOS Designer
New Code Sharing Strategies and more
Become a Certified Mobile Developer