SlideShare a Scribd company logo
1 of 40
Download to read offline
Tworzenie
cross-platformowych
aplikacji w Xamarin.Forms
Wprowadzenie
Tomasz Gibulski
Microsoft Certified Professional (MCP)
Microsoft Certified Technology Specialist (MCTS)
tomasz@gibulski.com
www.gibulski.com
Agenda
• Xamarin.Forms – z czym to się je?
• Przygotowanie środowiska programistycznego
• Pierwsza aplikacja w Xamarin.Forms
• Architektura projektu
• Tworzenie interfejsu użytkownika UI
• Debugowanie i uruchamianie aplikacji
(emulator, symulator, urządzenia fizyczne)
• Przykładowa aplikacja mobilna stworzona w Xamarin.Forms
początki
urządzeń
mobilnych
Palmtopy
Cel: Jeden kod – wszystkie platformy
Dlaczego Xamarin?
• Piszesz jeden kod na wszystkie platformy
(iOS, Android, UWP)
• Piszesz kod w przyjaznym języku C#
• Tworzysz natywne aplikacje iOS i Android
• Tworzysz aplikacje bezkosztowo - Xamarin jest darmowy
• Testujesz swoje aplikacje w emulatorach, symulatorach lub
urządzeniach fizycznych
• Możesz testować swoje aplikacje na tysiącach urządzeń w chmurze
Xamarin
• Współdzielenie kodu C#
• 100% dostęp do natywnego API
• Wysoka wydajność
Xamarin
• Interfejs użytkownika
tworzony na każdą
platformę indywidualnie
• Współdzielenie logiki
aplikacji
• Około 60% kodu może być
współdzielonego
Xamarin.Forms
Tworzysz natywny interfejs użytkownika UI dla Android, iOS i Windows z jednego współdzielonego kodu.
Xamarin + Xamarin.Forms
Xamarin Native
(Xamarin.IOS, Xamarin.Android, Xamarin.UWP)
Xamarin.Forms
Logika biznesowa + Interfejs użytkownika
Xamarin.Forms
Nawet 95% wspólnego kodu
Xamarin.Forms vs Xamarin.Native
Xamarin.Forms:
• Aplikacja ma być stworzona szybko
• Zespół programistów bardziej
doświadczony w .NET niż Android i
iOS
• Nieduży budżet
• Łatwiejsze aktualizowanie aplikacji
• Wysoka wydajność
Xamarin.Native:
• Aplikacja ma mieć dużo animacji i
rozbudowany interfejs użytkownika
• Niewielki rozmiar aplikacji
• Aplikacja ma korzystać z natywnych
funkcji nie dostępnych na obu
platformach
• Bardzo wysoka wydajność
Co zawiera Xamarin.Forms
Ponad 40 typów: stron, układów i kontrolek
tworzonych w XAML lub w kodzie.
Nawigacja pomiędzy stronami
Dwu kierunkowe wiązanie danych
API do tworzenia animacji
Łatwy do zastosowania wzorzec MVVM
Messaging Center
Dependency Service
Pages
Layouts
Pages (strony) i Layouts (układy)
Views
(kontrolki)
StackLayout
Grid
ScrollView
Frame
Definiowanie interfejsu użytkownika XAML
<StackLayout Spacing="10">
<Label HeightRequest="110" HorizontalOptions="FillAndExpand"
Text="LoginPage" TextColor="Blue" FontSize="30"
HorizontalTextAlignment="Center" VerticalTextAlignment="Center"/>
<Entry Margin="20,40,20,0" HeightRequest="50"
Placeholder="Email" BackgroundColor="LightBlue">
</Entry>
<Entry Margin="20,0,20,0"
HeightRequest="50" IsPassword="true"
Placeholder="Password" BackgroundColor="LightBlue">
</Entry>
<Button x:Name="LoginButton" Margin="20,0,20,0"
HeightRequest="50" TextColor="White"
Text="Login"
HorizontalOptions="FillAndExpand" BackgroundColor="Blue"/>
</StackLayout>
Renderers in Xamarin.Forms
Uruchamianie
i testowanie
aplikacji
Urządzenia
fizyczne z
Android i
iOS
Emulator
Android
Symulator
iOS
Emulatory i
urządzenia
dostępne
w chmurze
Włączanie
opcji
developera w
Android
Należy dotknąć 7 razy etykietę z numerem
kompilacji (Build numer):
• Samsung Galaxy S7 and later: Settings > About
phone > Software information > Build number
• Google Pixel: Settings > System > About phone
> Build number
• LG G6 and later: Settings > About phone >
Software info > Build number
• HTC U11 and later: Settings > About > Software
information > More > Build number
• OnePlus 5T and later: Settings > About phone >
Build number
Włączanie opcji developera w Android
Włączanie trybu debugowania
Przygotowanie
środowiska
programistycznego
1. Upewnij się, czy Twój komputer jest gotowy
na Visual Studio
2. Pobierz Visual Studio
3. Uruchom Visual Installer
4. Wybierz pakiety na zakładce Workloads do
zainstalowania
5. Wybierz indywidualnie komponenty
(opcjonalnie)
6. Wybierz pakiety językowe (opcjonalnie)
7. Uruchom Visual Studio i stwórz swoją
pierwszą aplikację!
1. Sprawdź
wymagania
Visual Studio i
parametry
Twojego
komputera
2. Pobierz
Visual Studio
3.a.
Uruchom
Visual
Installer
3.b.
Uruchom
Visual
Installer
4. Wybierz
pakiet
„Mobile…”
na zakładce
Workloads
5. Wybierz
indywidualnie
komponenty
(opcjonalnie)
6. Wybierz
pakiet
językowy
7. Uruchom
Visual Studio i
stwórz swoją
pierwszą
aplikację!
Tworzymy nowy projekt
Wybieramy typ projektu
Wybieramy szablon
Struktura projektu
File -> New ->
Project
Demo
Podsumowanie
Xamarin.Forms
Obiecująca, intensywnie
rozwijana technologia.
Nie dla każdego typu aplikacji.
Około 90% wspólnego kodu.
Tworzenie
cross-platformowych
aplikacji w Xamarin.Forms
Wprowadzenie
Tomasz Gibulski
tomasz@gibulski.com
www.gibulski.com

More Related Content

Similar to Xamarin.Forms - wprowadzenie

MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidIn'saneLab
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychMarcin Daczkowski
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Natalia Stanko
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Bartlomiej Zass
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztatyintive
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuLogicaltrust pl
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuLogicaltrust pl
 
Nowe kanały w eCommerce
Nowe kanały w eCommerceNowe kanały w eCommerce
Nowe kanały w eCommerceDivante
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPWydawnictwo Helion
 
Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8Bartlomiej Zass
 

Similar to Xamarin.Forms - wprowadzenie (20)

MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.Android
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztaty
 
Wstęp do Clean Architecture
Wstęp do Clean ArchitectureWstęp do Clean Architecture
Wstęp do Clean Architecture
 
Projektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacji
 
Responsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski SquizResponsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski Squiz
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
 
Nowe kanały w eCommerce
Nowe kanały w eCommerceNowe kanały w eCommerce
Nowe kanały w eCommerce
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHP
 
Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8
 
Php i Microsoft
Php i MicrosoftPhp i Microsoft
Php i Microsoft
 

Xamarin.Forms - wprowadzenie