Roman Jašek Co nového ve Xamarinu

Slides:



Advertisements
Podobné prezentace
S MARTPHONE Mgr. Rostislav Harenčák 2014 OKO – občanské kompetence občanům registrační číslo: CZ.1.07/3.1.00/
Advertisements

Android SPŠ a VOŠ Jana Palacha Kladno Miroslav Hladík EP
Školení MS Word 2007 pro začátečníky RNDr. Milan Zmátlo MěÚ Třebíč, říjen 2011 Vzdělávání v eGON centru Třebíč Tento.
PROJEKTY ZAMĚŘENÉ NA VZDĚLÁVÁNÍ DOSPĚLÝCH Dříve realizované projekty PALMIF – 3 projekty (Fond aktivních opatření trhu práce) PALMIF – 3 projekty (Fond.
KOMPLEXNÍ SYSTÉM PRO SLEDOVÁNÍ A ŘÍZENÍ AUTOPARKU.
Mapový portál města Bojkovice - rychle, jednoduše, moderně Ing. Jana Domčíková VÍTKOVICE IT SOLUTIONS Datum:
WebOS – operační systém (nejen) pro mobilní přístroje Lukáš Jelínek AIKEN s.r.o. -
Mobilní aplikace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
Název projektu:ZŠ Háj ve Slezsku – Modernizujeme školu Číslo projektu:CZ.1.07/1.4.00/ Oblast podpory: Zlepšení podmínek pro vzdělávání na základních.
1/1/ Rozšíření aplikace FatRat Luboš Doležel Vedoucí práce: Ing. Jan Žďárek, PhD. Oponent: Ing. Tomáš Kadlec
Výstupy projektu „Podpora plánování rozvoje sociálních služeb v JMK III.“ Benchmarking sociálních služeb Mgr. Marián Svoboda AUGUR Consulting s.r.o.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Úvod do Delphi - 1.hodina OB21-OP-EL-KON-DOL-M-4-006A Orbis pictus 21. století.
Název projektu:ZŠ Háj ve Slezsku – Modernizujeme školu Číslo projektu:CZ.1.07/1.4.00/ Oblast podpory: Zlepšení podmínek pro vzdělávání na základních.
Elektronické učební materiály - II. stupeň Informatika – aplikace informačních technologií Autor: Bc. Pavel Šiktanc Internetové stránky Co se všechno naučíme???
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_30-03 Název školy Střední průmyslová škola stavební, České Budějovice, Resslova 2 AutorRNDr.
Univerzitní informační systém III., Lednice 2004 Vývoj a koncepce nového univerzitního webu Ondřej Kudlík
ŠKOLA: Gymnázium, Chomutov, Mostecká 3000, příspěvková organizace AUTOR:Mgr. Jiří Kolář NÁZEV:VY_32_INOVACE_08B_15_Sítě_internet2 TEMA:HARDWARE A SOFTWARE.
Inthouse App Jednoduchá vizualizace pro výrobce zařízení pro technologie budov © Siemens, s.r.o Všechna práva vyhrazena. siemens.cz/cps.
PŘIHLÁŠENÍ K ELEKTRONICKÉ EVIDENCI TRŽEB
Microsoft Excel verze 2010 Mgr. Přemysl Kejzlar.
Věcné autority v roce 2016
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
Důležité informace pro rodiče vycházejících žáků
PŘIJÍMACÍ ŘÍZENÍ 2017 / 2018.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
Vývoj mobilních aplikací a jejich výhody
MICROSOFT WINDOWS.
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Vladimír.
Letecká informační služba pro GA 2017
Bohumil Havel MoodleMoot.cz 2016
Demoverze QI Informace pro partnery DCC
Entity Framework Core - vo co de?
SOCIÁLNÍ SÍTĚ A ŠKOLA.
MÁ SMYSL POŘÁDAT KONFERENCE?
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Internetové služby – Disk Google Číslo DUM: III/2/VT/2/2/36 Vzdělávací předmět: Výpočetní technika Tematická.
Portál knihoven
Práce s PC P1.B Vránek Michal.
Inf Operační systémy a jejich funkce
Číslo v digitálním archivu školy
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Windows – WordPad VY_32_INOVACE_32_649
VY_32_INOVACE_
Pedagogická psychologie
JEdit Open source programování – – Marek Bílý.
Informační zdroje v zoologii Zoological resources of information
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,
Zpracovala: Mgr. Věra Kreuzová
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Internetové prohlížeče
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Jak přispívat do Souborného katalogu ČR
PŘIJÍMACÍ ŘÍZENÍ 2018 / 2019.
PHP - Personal Home Page
Nové scénáře a ArcGIS Enterprise
Principy fungování spolku BISON
Název školy: Autor: Název: Číslo projektu: Název projektu:
3MA381 LS 2007/2008 Michaela Kmeťová
Novinky v Collabimu Za 04/ /18 „začínáme v 14:05“
Trendy v unit testování a mockování
Praktická cvičení Úvodní hodina David Malý kabinet 205.
Sociální sítě – pravidla fungování
Navigace v aplikaci Ing. Petr Voborník, Ph.D..
DIGITÁLNÍ UČEBNÍ MATERIÁL
Digitální učební materiál
Digitální učební materiál
Desktopové aplikace na .NET Core
Opakování učiva pro 7. ročník
Transkript prezentace:

Roman Jašek Co nového ve Xamarinu Microsoft Most Valuable Professional Software Architect, Riganti s.r.o. roman.jasek@riganti.cz

Historie Xamarinu 1999 – Miguel de Icaza a Nat Friedman zakládají Ximian 2000 – Microsoft ohlašuje .Net 2001 – Vznik Mono projektu 2003 – Novell kupuje Ximian 2009 – první public release MonoTouch 2011 duben – první public release Mono for Android 2011 duben – Attachmate kupuje Novell a upozaďuje vývoj Mono 2011 květen – Miguel ohlašuje založení Xamarinu, který bude dále podporovat Mono

Historie Xamarinu 2013 – Xamarin 2.0, Xamarin Studio a integrace do Visual Studio 2014 – Xamarin 3, Xamarin Forms 2015 – Xamarin 4, Xamarin Forms 2.0 2016 – Microsoft kupuje Xamarin a uvolňuje jej zdarma 2016 – Remote iOS Simulator, Xamarin Profiler, Xamarin Inspector, Xamarin Workbooks, Xamarin Test Cloud 2017 – Xamarin Forms 2.5

Xamarin vs. Xamarin.Forms

Xamarin Forms 2.5 Listopad 2017

Native Forms Použití Content Page v nativní aplikaci Reference na Xamarin.Forms do nativního projektu Nutnost zavolat Forms.Init() Android Fragment CreateFragment(Context) Fragment CreateSupportFragment(Context) iOS UIViewController CreateViewController()

Native Forms – scénáře Použití existující stránky ze Xamarin.Forms v nativním projektu Např. login stránka Možnost postupného přepisování Xamarin.Forms aplikace do nativního projektu Použití Xamarin.Forms na vytvoření jednoduchých stránek v nativních aplikacích Nastavení, menu, terms & conditions

Merged Resource Dictionaries Možnost rozdělit resource dictionary do vícero souborů Funguje včetně Intellisense a napovídání z Resource Dictionaries Použití <ResourceDictionary.MergedDictionaries> <local:MyResourceDictionary /> <Color x:Key="PrimaryColor">#0C0</Color> </ResourceDictionary.MergedDictionaries> Alternativně: <ResourceDictionary MergedWith="local:MyResourceDictionary"> </ResourceDictionary>

Compressed Layouts Možnost zrušit vykreslování layoutů Zapíná se zvlášť pro každý layout Funguje pro všechny layouty Attached Property: CompressedLayout.IsHeadless

Fast Renderers Týká se hlavně Androidu 2 Views pro jednu kontrolku Samotná kontrolka ViewGroup, který se stará o layout, gesta a další věci Fast Renderer – smrsknutí kontrolky do jednoho View Méně vytvořených objektů Méně komplexní View Tree Méně potřebné paměti

Fast Renderers Aktuálně implementované renderery: Namespace Zapnutí AutomationPropertiesRenderer ButtonRenderer FrameRenderer ImageRenderer LabelRenderer VisualElementRenderer Namespace Xamarin.Forms.Platform.Android.FastRenderers Zapnutí global::Xamarin.Forms.Forms.SetFlags("FastRenderers_Experimental");

Compressed Layouts

Compressed Layouts Renderery: Bez úprav: 130 CompressedLayout: 111 CompressedLayout + FastRenderer: 70

Compressed Layouts – proč ne? Layouty se odstraní ze stránky Problém – layouty s vizuálními vlastnostmi (Background, Rotation…) Problém – layouty, které reagují na gesta Nevyvolá se chyba při buildu, ani v runtime Layouty se jednoduše nezobrazí Výsledek - používat s rozvahou

Compressed Layouts + Fast Renderers Komplexnost stránky Použité komponenty Zařízení, na kterém aplikace běží Nejvýraznější na starších a méně výkonných zařízeních

Vylepšení pro Mac OS Funkcionalita specifická pro desktopový vývoj a pro Mac OS Možnost ukončit aplikaci Application.Current.Quit() Menu Top level menu v programech Context menu Klávesové zkratky do menu

Platformy - old

Platformy - updated * Oficiální podpora Komunita *Tizen je podporován Samsungem

Budoucnost Xamarinu Q2 2018 Přesunutí kódu do .Net Standard 2.0 Odebrání podpory pro Windows Phone 8/8.1 Podpora pro Visual State Manager Globalizace – podpora pro texty zprava doleva Mac OS Backend Preview GTK# Backend Preview (Linux) Přidání podpory pro tab index a pořadí focusu Implementace x:Bind Flex Layout Stylování pomocí CSS

Visual State Manager stateGroup.States.Add(CreateState("Blank", "", Color.White)); stateGroup.States.Add(CreateState("VeryWeak", "\uf023", Color.Red)); stateGroup.States.Add(CreateState("Weak", "\uf023 \uf023", Color.Orange)); stateGroup.States.Add(CreateState("Medium", "\uf023 \uf023 \uf023", Color.Yellow)); stateGroup.States.Add(CreateState("Strong", "\uf023 \uf023 \uf023 \uf023", Color.Green)); stateGroup.States.Add(CreateState("VeryStrong", "\uf023 \uf023 \uf023 \uf023 \uf023", Color.Green)); VisualStateManager.SetVisualStateGroups(this.StrengthIndicator, new VisualStateGroupList { stateGroup }); VisualStateManager.GoToState(this.StrengthIndicator, “Medium“);

Visual State Manager

FlexLayout Container Direction Wrapping

FlexLayout Justify Align

Flex Layout

Novinky v toolingu Automatic iOS provisioning Zatím ve Visual Studio for Mac Vylepšení pro začátečníky ve Xamarinu Urychlení releasů

Xamarin Android SDK Manager Google od API 26.01 (Android 8.0) podporuje už jenom command line tool

Xamarin Android Device Manager

Forms 100 Adam Pedley – Creating The Instagram UI In Xamarin.Forms

Forms 100 Steven Thewissen Twitter Spotify Runkeeper

Forms 100 Hromada drobností které chybí při vývoji Horizontální scrollování v ListView Podpora gest pro Span Podpora pro animace GIFů Reportováno komunitou Sepsán seznam na GitHubu – label “F100” Implementace Xamarin týmem i komunitou Možnost sledovat přímo na GitHubu

Šílené názvy Embeddinator 4000 Projekt Caboodle Tool na překlad .Net knihoven do nativních knihoven pro Android, iOS, Mac, Linux… Projekt Caboodle Multiplatformní jednotný přístup k API Povolení telefonu, geolokace, sms, stav baterie…

A co ještě dál? Xamarin.Forms 3.0 Fast Renderers – Entry, Switch Optimalizace ListView – využití RecyclerView ListView – odstranění potřeby ViewCell Přidání gesta dlouhého zmáčknutí Cache-ování stránek Zjednodušení psaní Custom Rendererů WPF Backend Preview …

Web? Komunitní projekt Ooui Mono ve WebAssembly Blazor Vykreslování Xamarin.Forms v prohlížeči Mono ve WebAssembly Běh C# kódu na klientovi Blazor Experimentální framework postaven nad Mono ve WebAssembly Razor na klientovi

Co sledovat? Github Wiki – již naplánované novinky (roadmap) https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap Github Projects - věci, které se schvalují a plánují, bugy https://github.com/xamarin/Xamarin.Forms/projects Github Issues https://github.com/xamarin/Xamarin.Forms/issues

Roman Jašek Xamarin Forms 18. 4. – 20. 4. v Brně www.dotnetcollege.cz .NET COLLEGE kurz Roman Jašek Xamarin Forms 18. 4. – 20. 4. v Brně www.dotnetcollege.cz