Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing UnoPlatform

8968a1fd594d01bdf4a7e771ed5bc0e1?s=47 mitsuba yu
December 21, 2019

Introducing UnoPlatform

どうやらデザイナーが動くパターンもあるらしい

8968a1fd594d01bdf4a7e771ed5bc0e1?s=128

mitsuba yu

December 21, 2019
Tweet

Transcript

  1. Introducing Uno Platform @mitsuba_yu

  2. • H.N. :蜜葉 優 [@mitsuba yu] • silkyfeel - freelance

    • Microsoft MVP for Windows Development • Designer / Developer / Photographer • Keynoteの表紙はいつも自分で撮影 • 乃木坂46とマウスのPR作ったり、UWP/WPFをメインに • http://c-mitsuba.hatenablog.com profile
  3. • かなり出たばっかりのライブラリの話をします。 • 2019/12/21 現在時点での情報です。 • 明日には変わってるかもしれないし、
 使い物にならないかもしれません。 • 逆に今現在動かないものが、


    明日には動くようになっているかもしれません。 注釈
  4. • Uno Platformってなに? • 開発環境とDEMO • かっこいいアプリは作れるのか? • Write Once

    Run Anywhereは都市伝説なのか否か • やってみてどうだったのかと、そのまとめ Agenda
  5. 今日のお持ち帰り 5 Uno Platformって 使いやすいの?使い物になるの?どうなの? の現状

  6. 突然ですが、 どっちが好きですか? 6

  7. 7

  8. Uno Platformってなに? 8

  9. • XAML/C#で書けるマルチプラットフォーム向けのライブラリ • UWP、Mac OS、iOS、Android、Webに対応 • カナダの会社が作ってる • Apache 2.0

    License で安心 UnoPlatform
  10. それXamarinじゃないの? 10

  11. Yes. 11

  12. じゃあXamarinで良くない? なんで最近そんなUnoがー
 って言われてるの??? 12

  13. 13

  14. 真っ当なXAMLが書ける!!! 14 by Windows開発者

  15. Architecture • 基本はXamarin.Nativeベース • UIをUWP likeなXAMLで記述 • 例えばStackPanel/Unoは
 RelativeLayout/Androidと
 MKMapView/iOSを継承

    • 言ってしまえば
 Formsの焼き直し
  16. 似たようなのを昔見ましたね

  17. いいことばっかりなの? 17

  18. いや、そんなこともない 18

  19. Architecture • Xamarin.Nativeの上に乗っている • Xamarinで実装されているiOS/AndroidのAPI • Unoで実装されているXamarinのAPI • これしか使えない •

    Windowsとしては、現状 2018 October Update相当が使える (ver.17763) ちょっと古い。 • あと、闇癖も多い。。。
  20. 20 開発環境とDEMO

  21. • 簡単 3Step 開発環境構築

  22. 開発環境構築

  23. 開発環境構築

  24. 24 • Windowsの電卓をiPhoneで • プロジェクトテンプレートから1つ作ってみる (D01) • インテリセンス (D01) •

    サンプルアプリを作って移植してみた (Monitor) DEMO
  25. かっこいいアプリは 作れるのか? 25

  26. • National Geographic
 Learn English • TEDで英語を勉強するアプリ
 • Cineplex Mobile

    • 映画の選んで、近所の映画館 のチケットを取れるアプリ App
  27. • XAML Controls Gallery • Uno Gallery / Uno.UI Demo

    • Animations / Brushes / Button / CheckBox / CommandBar / FlipView / GridView / HyperlinkButton / Image / ListView / MessageDialog / Panels / PasswordBox / Progress / RadioButton / ScrollViewer / Shapes / Slider / TextBlock / TextBox / ToggleButton / ToggleSwitch / Transform / Typography / WebView Sample/Component
  28. Write Once Run Anywhere? 28

  29. 29 • UWP or !UWP (D02) • 使えるもの、使えないもの • x:Name

    / Navigation / Style (D05) • Command / Behavior / Storyboard (D03) DEMO
  30. • 丁寧に書けばイケるかも? • Xamarinは.NET Standard / UWPは.NET Core • .NET

    Coreにしかないコードを書くと、UWPはビルドが通る
 でも、iOSとAndroidは通らない。 • デバイス依存系コードはやっぱり無理じゃないかな?(未検証 • それぞれのプロジェクトに実装して呼ぶようにすればイケる はず(Xamarinスキルが足りなくて未検証 Write Once Run Anywhere?
  31. Write Once Run Anywhere? • Uno
 「どれが1つを実装すれば
 オマケで他がついてくるよ」
 


  32. 32 • NativeStyle (D04) • Uno
 「でも他のプラットフォームのデザインガイドラインを
 別のプラットフォームに使うのはナンセンスなのは分かって る」 Design

    DEMO
  33. Design • NativeStyle はそのプラットフォームの見た目をしている
 コントロールではない • そのプラットフォームのコントロールをそのまま使っている • 利用するのであれば、プラットフォーム間の実装差分を許容す る必要がある

  34. まとめ 34

  35. • 今話題のUno Platformをご紹介した。 • いつものXAMLでUIを書けのは素晴らしい。
 反面、インテリセンスの制限とレンダラーが無いのは厳しい。 • Xamarinがベースな以上、どうしてもUWPで通るビルドが通ら ないことがある。 •

    エラーメッセージが的外れで、原因究明が難しい。 • でも環境構築はとても簡単で始めやすい。但し初回ビルド… まとめ
  36. • Xamarin.Formsは触ってみて幻滅したけど、
 Uno Platformは面白い。
 これこそMSが買収すべきなのでは、と思えるぐらい。 • XAMLが一緒なだけとはいえ、MVVM/ReactivePropertyが使え て、いつもと同じ思考で開発できるのは、本当に素晴らしい。 やってみてどうだったか

  37. • ただ、まだまだ若いライブラリなのは否めない。
 前述のように動かないものいっぱいある。 • なにが動かないか分からない以上、作り込んだアプリの移植は 厳しい。代わりに1から作るのであれば、なかなかありかも? • エディタ対応の不十分さはやっぱり気になる。
 波線とかでてたり、インテリセンスが効かなかったり。 やってみてどうだったか

  38. • Pre-Release版では使える機能も増えてそう。 • 年1回、UnoConfをやってるらしい、ちょっと行ってみたい。 • フォルダパスが長くなりがち(ビルドが通らない • 個人的には今後にかなり期待してる!
 やってみてどうだったか

  39. None