Upload
duongtuyen
View
224
Download
1
Embed Size (px)
Citation preview
App delivery
lifecycle
Complex ecosystem with
thousands of configurations
and settings
Businesses need to
rapidly appify with
high-quality apps
Mobile development – for
just one app – involves many
stages
Design & Develop
TestMonitor
100+ apps 1000+ devices
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No shared code • Many languages & development environments • Multiple teams
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
Create UI with drag & drop
simplicity
Target multiple screen sizes,
resolutions and Android
versions
Layouts saved in standard
Android XML files
Multi-Touch Enabled
Super Fast
Rotate, screenshots,
location changes, and
more!
http://bit.ly/hyperv-android
• Follows familiar Visual Studio
designer idioms
• Supports all UIKit elements
• Edit custom and 3rd party
components
• Live preview of changes to
properties
• Multi-Touch Enabled
• Pressure Sensitive
• Super Fast
• Rotate, screenshots,
location changes
• Never leave VS
What if we didn’t have to write this code?
What if we could access it from shared code?
UI+APIs UI + APIsUI + APIs
Battery
GPS
Lights
Notifications
Settings
Text To Speech
Battery
GPS
Lights
Notifications
Settings
Text To Speech
Battery
GPS
Lights
Notifications
Settings
Text To Speech
Traditional Xamarin Approach With Xamarin.Forms:
More code-sharing, all native
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
✓ 40+ Pages, layouts, and controls
(Build from code behind or XAML)
✓ Two-way data binding
✓ Navigation
✓ Animation API
✓ Dependency Service
✓ Messaging Center
Shared C# Backend
Shared UI Code
Layouts
Pages
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
Windows Xamarin.Forms
StackPanel StackLayout
TextBox Entry
ListBox ListView
CheckBox Switch
ProgressBar ActivityIndicator
Grid Grid
Label Label
Button Button
Image Image
Date/TimePicker Date/TimePicker
Windows Xamarin.Forms
DataContext BindingContext
{Binding Property} {Binding Property}
ItemsSource ItemsSource
ItemTemplate ItemTemplate
DataTemplate DataTemplate
<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="MyApp.MainPage">
<TabbedPage.Children>
<ContentPage Title="Profile" Icon="Profile.png">
<StackLayout Spacing="20" Padding="20"
VerticalOptions="Center">
<Entry Placeholder="Username"
Text="{Binding Username}"/>
<Entry Placeholder="Password"
Text="{Binding Password}"
IsPassword="true"/>
<Button Text="Login" TextColor="White"
BackgroundColor="#77D065"
Command="{Binding LoginCommand}"/>
</StackLayout>
</ContentPage>
<ContentPage Title="Settings" Icon="Settings.png">
<!-- Settings -->
</ContentPage>
</TabbedPage.Children>
</TabbedPage>
Xamarin Live Inspector
Rapid Design Experimentation
Live Inspector and Workbooks allow developers to
programmatically interact with a running app in real-
time on devices and emulators.
Live Inspector enables rapid design experimentation
and iteration, without the need to compile, build and
deploy each time you make changes.
Xamarin Profiler
A Full-Featured Profiling Tool
Profiler is a profiling tool made specifically for Xamarin
apps, which helps developers quickly identify memory
and performance issues.
Unlike native SDK profilers that can only reveal problems
at a lower level, the Xamarin Profiler provides analysis
of code running in the Mono runtime, where Xamarin
app code lives and executes.
Xamarin Test Recorder
Effortlessly Create UI Test Scripts
Simply and quickly generate UI test scripts by running
your app and performing actions. You can execute UI
tests locally in the emulator or on thousands of devices
simultaneously with Xamarin Test Cloud.
A/B Testing
Live Update
Storage
Push Notifications
Crash Reporting
Remote Config.
Identity
Tables
Several tools, portals, SDKs!!!
HockeyApp Xamarin Test Cloud Xamarin Insights
Distribute • Crashes • Analytics Device Tests Crashes • Analytics
Azure Mobile Engagement Azure App Service CodePush
Analytics • Push Tables • Auth • Push Distribution
Visual Studio Mobile Center
https://www.xamarin.com/university
https://mva.ms