Xamarin Workshop
-
Upload
sara-silva -
Category
Education
-
view
2.800 -
download
1
Transcript of Xamarin Workshop
![Page 1: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/1.jpg)
Xamarin WorkshopMarch 28th
Coimbra, Portugal
![Page 2: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/2.jpg)
Sara Silva@saramgsilva
Microsoft MVP Windows, Xamarin and Azure Developer
Speakers
João Matos@tritonpt
Software Engineer @ Xamarin
![Page 3: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/3.jpg)
Xamarin Overview
Cross-platform development using Xamarin
Xamarin Forms
Let’s code
Agenda
![Page 4: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/4.jpg)
Xamarin Overview
Xamarin enables developers to reach all major mobile platforms!
![Page 5: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/5.jpg)
Xamarin Overview
Xamarin apps look and feel native because
they are native
Native User Interfaces Native API Access Native Performance
![Page 6: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/6.jpg)
Xamarin API
iOS APIs | 100% Coverage Android APIs | 100% Coverage Windows APIs
Anything you can do in Objective-C or Java can be done in C# with Xamarin
![Page 7: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/7.jpg)
Xamarin Products
Test CloudXamarin Platform Xamarin Insights
![Page 8: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/8.jpg)
Is Free => Xamarin iOS + Xamarin Android +
Xamarin Studio
= 0 €
Xamarin for Students
![Page 9: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/9.jpg)
Cross-platform development using Xamarin
Build cross-platform native apps for iOS, Android, and Windows
and share most of your code between them
Shared C# code
![Page 10: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/10.jpg)
Cross-platform development using Xamarin
Shared Code
Data Layer
Data Access Layer
Business Layer
Service Access Layer
Model
Cloud Services
database
Windows App
Application Layer UI Layer
Windows SDK assemblies
iOS App
Application Layer UI Layer
Xamarin iOS SDK assemblies
Android App
Application Layer UI Layer
Xamarin Android SDK assemblies
![Page 11: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/11.jpg)
Model View ViewModel Pattern (MVVM)
View define the UI
View Model must define the behavior for theconnected View
Model define the structure of the data showed in the View
![Page 12: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/12.jpg)
Abstraction Pattern
View Model
Feature X(Abstraction
)
Feature XiOS
Feature XAndroid
Feature XWindows
Knows
Implements
View Model must• Be independent of the platform;• Knows the abstraction for each feature;
In each target, each feature:• Has your own implementation• Must respect the abstraction (the interface)
Make your app testable!
![Page 13: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/13.jpg)
Xamarin Forms
Build native UIs for iOS, Android and Windows Phonefrom a single, shared C# codebase.
![Page 14: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/14.jpg)
Xamarin Forms
Build native UIs for iOS, Android and Windows Phonefrom a single, shared C# codebase.
Shared C# codeShared C# code
Native Development Xamarin SDK and Windows SDK Development Xamarin Forms Development
![Page 15: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/15.jpg)
Xamarin Formsusing Xamarin.Forms;
var profilePage = new ContentPage { Title = "Profile", Icon = "Profile.png", Content = new StackLayout { Spacing = 20, Padding = 50, VerticalOptions = LayoutOptions.Center, Children = { new Entry { Placeholder = "Username" }, new Entry { Placeholder = "Password", IsPassword = true }, new Button { Text = "Login", TextColor = Color.White, BackgroundColor = Color.FromHex("77D065") }}}};
var settingsPage = new ContentPage { Title = "Settings", Icon = "Settings.png", (...)};
var mainPage = new TabbedPage { Children = { profilePage, settingsPage } };
One code…. multiple platforms…. native interface!
![Page 16: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/16.jpg)
Let’s codeGuides and source code are available @GitHub
https://github.com/saramgsilva/XamarinWorkshopor
http://saramgsilva.github.io/XamarinWorkshop/
![Page 17: Xamarin Workshop](https://reader036.fdocuments.in/reader036/viewer/2022062503/58e7f6e01a28abf13f8b4b65/html5/thumbnails/17.jpg)
Xamarin WorkshopThank you!