40
Tworzenie cross-platformowych aplikacji w Xamarin.Forms Wprowadzenie Tomasz Gibulski Microsoft Certified Professional (MCP) Microsoft Certified Technology Specialist (MCTS) [email protected] www.gibulski.com

Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Tworzenie cross-platformowych

aplikacji w Xamarin.FormsWprowadzenie

Tomasz GibulskiMicrosoft Certified Professional (MCP)Microsoft Certified Technology Specialist (MCTS)

[email protected]

Page 2: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

Page 3: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

początkiurządzeń

mobilnychPalmtopy

Page 4: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Cel: Jeden kod – wszystkie platformy

Page 5: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

Page 6: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Xamarin

• Współdzielenie kodu C#

• 100% dostęp do natywnego API

• Wysoka wydajność

Page 7: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Xamarin

• Interfejs użytkownika tworzony na każdą platformę indywidualnie

• Współdzielenie logiki aplikacji

• Około 60% kodu może być współdzielonego

Page 8: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Xamarin.Forms

Tworzysz natywny interfejs użytkownika UI dla Android, iOS i Windows z jednego współdzielonego kodu.

Page 9: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Xamarin + Xamarin.Forms

Xamarin Native(Xamarin.IOS, Xamarin.Android, Xamarin.UWP)

Xamarin.FormsLogika biznesowa + Interfejs użytkownika

Page 10: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Xamarin.Forms

Nawet 95% wspólnego kodu

Page 11: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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ść

Page 12: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Co zawiera Xamarin.FormsPonad 40 typów: stron, układów i kontrolektworzonych 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

Page 13: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Pages

Layouts

Pages (strony) i Layouts (układy)

Page 14: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Views (kontrolki)

Page 15: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

StackLayout

Page 16: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Grid

Page 17: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

ScrollView

Page 18: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Frame

Page 19: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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>

Page 20: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Renderers in Xamarin.Forms

Page 21: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Uruchamianie i testowanieaplikacji

Urządzenia fizyczne z Android i

iOS

Emulator Android

Symulator iOS

Emulatory i urządzenia dostępne

w chmurze

Page 22: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

Page 23: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Włączanie opcji developera w Android

Page 24: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Włączanie trybu debugowania

Page 25: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Przygotowanie środowiska

programistycznego

1. Upewnij się, czy Twój komputer jest gotowy na Visual Studio

2. Pobierz Visual Studio3. Uruchom Visual Installer4. 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ę!

Page 26: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

1. Sprawdź wymagania

Visual Studio i parametry Twojego

komputera

Page 27: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

2. Pobierz Visual Studio

Page 28: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

3.a.Uruchom

Visual Installer

Page 29: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

3.b.Uruchom

Visual Installer

Page 30: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

4. Wybierzpakiet

„Mobile…”na zakładceWorkloads

Page 31: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

5. Wybierzindywidualniekomponenty(opcjonalnie)

Page 32: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

6. Wybierz pakiet

językowy

Page 33: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

7. Uruchom Visual Studio i stwórz swoją

pierwszą aplikację!

Page 34: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Tworzymy nowy projekt

Page 35: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Wybieramy typ projektu

Page 36: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Wybieramy szablon

Page 37: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Struktura projektu

Page 38: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

File -> New -> Project

Demo

Page 39: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Podsumowanie Xamarin.Forms

Obiecująca, intensywnie rozwijana technologia.

Nie dla każdego typu aplikacji.

Około 90% wspólnego kodu.

Page 40: Tworzenie cross-platformowych aplikacji w Xamarin.Forms …gibulski.atthost24.pl/wp-content/uploads/2019/03/Xamar... · 2019-03-14 · Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Tworzenie cross-platformowych

aplikacji w Xamarin.FormsWprowadzenie

Tomasz Gibulski

[email protected]

www.gibulski.com