Slide 1

Slide 1 text

Xamarin.Forms Hot Reload ͷεεϝ 2019.8.31 JXUG @amay077

Slide 2

Slide 2 text

About me • Ԟࢁ ༟ਈ - @amay077ʢ͋Ί͍ʣ • Android, iOS, Xamarin, TypeScript AWS, Azure… • Ѫ஌ݝࡏॅͷϑϧϦϞʔτϫʔΧʔ • ஍ཧ৘ใγεςϜɺҐஔ৘ใϓϩάϥϛϯά • DroidKaigi2017ొஃˠٕज़ॻయ2→঎ۀຊԽ(ڞஶ)  

Slide 3

Slide 3 text

ࠓ೔͓͸ͳ͢͠Δ͜ͱ Xamarin.Forms UI։ൃπʔϧͷྺ࢙ Official ͳ Hot Reload ͕Ωλʂ Xamarin.Forms Ͱ Hot Reload Ͱ͖Δπʔϧ͍Ζ ͍Ζ Any Platform ࣌୅ͷը໘։ൃ  

Slide 4

Slide 4 text

Xamarin.Forms UI։ൃπʔϧͷྺ࢙ Xamarin | Forms | XAML | Live | Player | Viewer | Previewer ଟ͗͢໰୊

Slide 5

Slide 5 text

Xamarin.Forms 1.xʙ2.x ϓϨϏϡʔΞ΋σβΠφ΋Կ΋ͳ͔ͬͨ… ͨͩ໧ͬͯRun&Watch  

Slide 6

Slide 6 text

XAML Previewer | Viewer (Xamarin.Forms Previewer) ొ৔: 2016೥4݄ࠒ ʙ ݱଘ هड़ͨ͠XAMLίʔυΛVisual StudioͰϓϨϏϡʔදࣔ͢Δػೳ ݱࡏ͸ Visual Studio ͷ XAMLΛ։͍ͨը໘ʹ౷߹ ػೳ໊ͷ༳Ε͕ώυ͍w (ࢲݟ)͙Δ͙Δ͕ফ͑ͳ͔ͬͨΓਅͬനͩͬͨΓΤϥʔ͕ग़ͨ Γɺ໾ʹཱͬͨهԱ͕ͳ͍ ࠷ۙͰ͸ʮσβΠϯλΠϜσʔλʯʹ΋ରԠͯ͠Δͦ͏Ͱ͢  

Slide 7

Slide 7 text

Xamarin Live Player ొ৔: 2017೥5݄ࠒ ʙ 2018೥8݄ࠒ Mac͕ͳ͘ͱ΋iOSσόΠε΁։ൃதͷΞϓϦ͕సૹɾ ։ൃͰ͖Δͱ͞Ε͕࣮ͨࡍ͸੍໿͕ଟ͘… ࣮ଶ͸C#ΠϯλϓϦλΛ౥ࡌͨ͠ΞϓϦ AppStore͔ΒBAN͞ΕɺTestFlightͰͷެ։΋ఀࢭ͞Ε ࣄ্࣮ऴྃ  

Slide 8

Slide 8 text

Xamarin Live Reload ొ৔: 2018೥4݄ࠒ ʙ 2018೥10݄ࠒ XAMLͷมߋΛΞϓϦʹసૹ͠ɺଈ࣌ʹ࣮ࡍͷΞϓϦʹద༻͢Δ ͍ΘΏΔʮHot Reloadʯػೳ ϓϨϏϡʔ൛ͷ··ఀ଺͠ɺVS for Mac ʹ͸ఏڙ͢Β͞Εͣ։ ൃऴྃ (ࢲݟ)ಉ࣌ظʹLive Player΋ऴྃ͠Web΍FlutterͰ͸ओྲྀͰ͋Δ ʮϥΠϒ։ൃʯ΁ͷಓ͕ด͟͞Εͨͱͯ͠େ͍ʹࣦ๬  

Slide 9

Slide 9 text

ʮLive Reload ͸ࢮΜͩͱݴͬͨͳɺ ΞϨ͸΢ιͩʯ

Slide 10

Slide 10 text

Live Reload վΊ XAML Hot Reload for Xamarin.Forms ొ৔ ※Live Reload ͱͷؔ࿈͸֬ೝͰ͖·ͤΜ

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

XAML Hot Reload for Xamarin.Forms 2019೥಺ϦϦʔε༧ఆ(ݱࡏ͸ϓϨϏϡʔ൛) Visual Studio 2019 / Visual Studio for Mac ૒ํͰར༻ Մೳ ௥Ճͷ Add-in ΍ nuget ύοέʔδෆཁ ͨͩ͠ nuget Xamarin.Forms 4.1.0.581475 Ҏ্͕ඞཁ ਖ਼ࣜϦϦʔε͞ΕΔ·ͰؾΛൈ͘ͳʂ  

Slide 13

Slide 13 text

DEMO

Slide 14

Slide 14 text

HotReload for XF Ҏ֎ͷબ୒ࢶ (ͱ͍͏͔ઌۦ͚)

Slide 15

Slide 15 text

LiveXAML http://www.livexaml.com/ IDEʹAddinɺΞϓϦʹLiveXAML.dll ͕ඞཁ $240/∞ ݹ͍ Xamarin.Forms Ͱ΋ಈ͘(3.x Ͱ֬ೝ) UWP ʹ΋ରԠ ෳ਺σόΠεಉ࣮࣌ߦՄೳ  

Slide 16

Slide 16 text

AndreiMisiukevich/HotReload https://github.com/AndreiMisiukevich/ HotReload VS for Win/Mac, Rider, VSCode ͳͲͰ΋࢖͑Δ C# ίʔυมߋͷHot Reload΋Մೳ(࣮ػͰ͸ෆ Մ)  

Slide 17

Slide 17 text

LiveSharp https://github.com/OYIon/LiveSharp LiveXAML ͱಉ͡ਓ(νʔϜ?)͕࡞ͬͯΔ C# ίʔυมߋͷHot Reload͕Մೳ  

Slide 18

Slide 18 text

pranshu-aggarwal/HotReloading https://github.com/pranshu-aggarwal/ HotReloading C# ίʔυมߋͷHot Reload͕Մೳ Xamarin.Forms ͷ৔߹ 3.4.0Ҏ্͕ඞཁ  

Slide 19

Slide 19 text

Any Platform ࣌୅ͷը໘։ൃ for MS Developers

Slide 20

Slide 20 text

UIΤσΟλ΍ϓϨϏϡʔΞͷݶք ʮ࣮ࡍʹಈ͍͍ͯΔΞϓϦʯͰ͸ͳ͍ ࣮ߦ؀ڥ΋։ൃ؀ڥ΋WinͳΒ·ͩ࠶ݱੑ͸ߴ͔ͬͨ iPhoneΞϓϦͷݟͨ໨ΛWindows্Ͱ࠶ݱ͢ΔͷʹϜϦ͕ ͋Δͷ͸໌ന ಛʹϓϥοτϑΥʔϜґଘͷϥΠϒϥϦΛ࢖͍ͬͯΔ৔߹ ͸ඳը͸ෆՄ ੿࡞ Xamarin.Forms.GoogleMaps ͸ͦͷҰྫ  

Slide 21

Slide 21 text

ͦ͜Ͱ Hot Reload Ͱ͢Α ʮ࣮ࡍʹಈ͍͍ͯΔΞϓϦʯͰ֬ೝͰ͖Δ ތுͳ͠ʹʮ࠶ݱ཰100%ʯ ݸਓతʹ͸ XAML Previewer ͸શ͘࢖͍ͬͯ·ͤΜ Previewer ΑΓ΋ Hot Reload ʹ։ൃύϫʔ࢖ͬͯ΄ ͍͠ > Visuals Studio νʔϜ͞Μ  

Slide 22

Slide 22 text

·ͱΊ

Slide 23

Slide 23 text

·ͱΊ Any Platform࣌୅ʹ͸ Hot Reload ͕࠷ద ৽نҊ݅ʹ͸ Hot Reload for XFɺ
 طଘҊ݅ʹ͸ LiveXAML ΍ͦͷଞOSSπʔϧ C# ίʔυͷ HotReload πʔϧ΋ಋೖ͢Ε͹ແఢ ʮ࣮ࡍͷΞϓϦʯͰαΫαΫ֬ೝ͠ͳ͕Βը໘Λ࡞Ζ ͏ʂ  

Slide 24

Slide 24 text

͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠"