+ All Categories
Home > Documents > XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru...

XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru...

Date post: 04-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
37
XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ Roman Fischer [email protected]
Transcript
Page 1: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

XAMARIN10 PRAKTICKÝCH ZKUŠENOSTÍRoman [email protected]

Page 2: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

AGENDA

KDO JSMEPROČ JSME ZVOLILI XAMARIN10 PRAKTICKÝCH ZKUŠENOSTÍDISKUZE

Softwarová řešení a mobilní aplikace na míru 2

Page 3: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

SOFTWAROVÁ ŘEŠENÍ NA MÍRU

Softwarová řešení a mobilní aplikace na míru 3

Page 4: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

PROČ PRÁVĚ XAMARIN?

Softwarová řešení a mobilní aplikace na míru 4

První poptávka na jednoduchou mobilní

aplikaci – Android, iOS a WP

12/2012

• Rozhodnutí pro Xamarin

• Výhody• Známé prostředí

VS + C#• Alternativy

• Nativní vývoj• PhoneGap atd.

01/2013• 3,5 roku zkušeností• Desítky mobilních

aplikací2016

Page 5: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

XAMARIN – SPRÁVNÁ VOLBA

18 projektů – 30 mobilních aplikací

Softwarová řešení a mobilní aplikace na míru 5

Page 6: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ

Aplikace je spouštěna na různých zařízeních s různými typy displejůPokud je použita jen jedna velikost ikon, pak nevypadají optimálně

Softwarová řešení a mobilní aplikace na míru 6

Page 7: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ

Nativní postup

Obrázek vložený v různých velikostechZvětšuje velikost balíčkuNáročné na součinnost grafika

Použití fontů

Jeden soubor obsahující velké množství ikonNa všech zařízeních vypadají stejně

Softwarová řešení a mobilní aplikace na míru 7

Page 8: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ

Nativní postup Material Icons Font

Softwarová řešení a mobilní aplikace na míru 8

Page 9: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

2. LOKALIZACE TEXTŮ

Častým požadavkem klientů je podpora více jazykůAplikace obvykle detekuje jazyk daného zařízení a případně umožní změnu jazyka

Softwarová řešení a mobilní aplikace na míru 9

Page 10: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

2. LOKALIZACE TEXTŮ

Nativní přístup

Náročné na údržbu

RESX

Jeden soubor pro všechny platformyKomplikovanější používání

Softwarová řešení a mobilní aplikace na míru 10

Page 11: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

2. LOKALIZACE TEXTŮ

Softwarová řešení a mobilní aplikace na míru 11

Nativní postup -iOS

Nativní postup - Android

RESX

Page 12: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

3. RŮZNÉ VELIKOSTI DISPLEJŮ

Obvykle je nutné podporovat širokou škálu koncových zařízeních s různými typy displejů

Softwarová řešení a mobilní aplikace na míru 12

Page 13: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

3. RŮZNÉ VELIKOSTI DISPLEJŮ

Vše je relativníAndroid

px = dp * (dpi / 160)Když DP nestačí, lze pro různé displeje definovat jiné hodnoty

iOS – Auto Layout, StackView

Softwarová řešení a mobilní aplikace na míru 13

Page 14: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

3. RŮZNÉ VELIKOSTI DISPLEJŮ - ANDROID

Softwarová řešení a mobilní aplikace na míru 14

Definice různých hodnot podle šířky displeje

Page 15: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

3. RŮZNÉ VELIKOSTI DISPLEJŮ - iOS

Softwarová řešení a mobilní aplikace na míru 15

Jak funguje Auto Layout

Page 16: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

4. VYKRESLOVÁNÍ VLASTNÍCH KOMPONENT

Některé projekty vyžadují specifický design na míru bez využití nativních komponent

Softwarová řešení a mobilní aplikace na míru 16

Page 17: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

4. VYKRESLOVÁNÍ VLASTNÍCH KOMPONENT

Stejné možnosti jako při nativním vývojiStačí rozšířit třídu View (u iOS UIView), přepsat její metodu OnDraw a v ní snadno definovat podobu své nové komponenty.

Softwarová řešení a mobilní aplikace na míru 17

Page 18: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

5. STAHOVÁNÍ A UKLÁDÁNÍ DAT

Řada mobilních aplikací je integrována s nadřazeným ISAplikace se musí vyrovnat se ztrátou konektivityPřípadně je potřeba minimalizovat datovou náročnost na datovém roamingu

Softwarová řešení a mobilní aplikace na míru 18

Page 19: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

5. STAHOVÁNÍ A UKLÁDÁNÍ DAT

Napojení na webové služby (WCF, REST)SQLite databáze

Softwarová řešení a mobilní aplikace na míru 19

Page 20: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

6. ASYNCHRONNÍ PROGRAMOVÁNÍ

Žádná dlouhotrvající operace by neměla běžet v hlavním vlákně Pokud budete dlouho blokovat hlavní vlákno OS vaší aplikaci ukončíKdyž probíhá dlouhotrvající operace měli bychom uživateli zobrazit, že se na pozadí něco děje

Softwarová řešení a mobilní aplikace na míru 20

Page 21: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

6. ASYNCHRONNÍ PROGRAMOVÁNÍ

Doporučeno používat async/await Je nutné ošetřit co se stane při rotaci a když uživatel opustí aplikaci

Softwarová řešení a mobilní aplikace na míru 21

Spuštění asynchronní operaceZastavení operace

Page 22: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

7. KOMUNIKACE PŘES BLUETOOTH

Aplikace pro dálkový odečet energiíPožadavkem byla komunikace přes BT pomocí specifického protokoluŠvýcarský dodavatel HW neposkytoval podporu pro AndroidProblém měl dvě části

Implementace protokoluOdeslání dat přes BT

Softwarová řešení a mobilní aplikace na míru 22

Page 23: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

7. KOMUNIKACE PŘES BLUETOOTH

Protokol lze pro všechny platformy implementovat jen jednou

Softwarová řešení a mobilní aplikace na míru 23

Page 24: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

7. KOMUNIKACE PŘES BLUETOOTH

Stejné možnosti jako u nativního vývojeUkázka komunikace pro Android:

Softwarová řešení a mobilní aplikace na míru 24

Page 25: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

8. OPERACE NA POZADÍ

Cílem bylo vytvořit aplikaci s nonstop sledováním polohy Automatická aktualizace dat na pozadíVše bez zásahu uživatele

Softwarová řešení a mobilní aplikace na míru 25

Page 26: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

8. OPERACE NA POZADÍ

Android

Pro všechny akce na pozadí se používají různé druhy třídy Service

iOS

Omezené možnostiOperace na pozadí má od probuzení do skončení omezený časNa pozadí nelze dělat libovolnou činnost v libovolný čas.

Softwarová řešení a mobilní aplikace na míru 26

Page 27: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

8. OPERACE NA POZADÍ - ANDROID

Softwarová řešení a mobilní aplikace na míru 27

Naplánování spuštění

Provedení operace na pozadí

Page 28: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

8. OPERACE NA POZADÍ – iOS

Softwarová řešení a mobilní aplikace na míru 28

Spuštění standardního sledování polohy

Spuštění significant location

Page 29: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

9. PUSH NOTIFIKACE

Cílem je upozornit bezprostředně uživatele na nějakou událostPřípadně aktualizovat data v aplikaci okamžitě po jejich aktualizaci na serveru

Softwarová řešení a mobilní aplikace na míru 29

Page 30: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

9. PUSH NOTIFIKACE

Aplikace nic sama nekontroluje notifikaci obdrží od OSDruh operace na pozadí (platí pro ně stejná omezení)Klasické notifikace (zobrazení upozornění uživateli)Skryté notifikace

Softwarová řešení a mobilní aplikace na míru 30

Page 31: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

9. PUSH NOTIFIKACE – iOS

Softwarová řešení a mobilní aplikace na míru 31

Princip Implementace push notifikací

Page 32: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

9. PUSH NOTIFIKACE – ANDROID

Softwarová řešení a mobilní aplikace na míru 32

Získání tokenu

Page 33: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

9. PUSH NOTIFIKACE – ANDROID

Softwarová řešení a mobilní aplikace na míru 33

Aktualizace tokenu

Přijetí zprávy

Page 34: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS

Zadání – mobilní aplikace pro streaming šifrovaného videa, dodavatel streamu podporoval pouze Objective CV případě že potřebujete použít knihovny které nejsou součástí XamarinuBindings Library

Softwarová řešení a mobilní aplikace na míru 34

Page 35: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS

Softwarová řešení a mobilní aplikace na míru 35

Mapování nativní knihovny do C#

Page 36: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS

Softwarová řešení a mobilní aplikace na míru 36

Vytvoření výčtového typu

Page 37: XAMARIN · 2016-06-01 · PROČ PRÁVĚ XAMARIN? Softwarová řešení a mobilní aplikace na míru 4 První poptávka na jednoduchou mobilní aplikaci –Android, iOS a WP 12/2012

Softwarová řešení a mobilní aplikace na míru 37

DOTAZY A DISKUZE

DĚKUJI ZA POZORNOST

WWW.SKELETON.CZ

SLEDUJTE NÁS:


Recommended