Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing UnoPlatform
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mitsuba yu
December 21, 2019
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introducing UnoPlatform
どうやらデザイナーが動くパターンもあるらしい
mitsuba yu
December 21, 2019
Other Decks in Programming
See All in Programming
Contextとはなにか
chiroruxx
1
330
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
780
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
CSC307 Lecture 17
javiergs
PRO
0
320
Claspは野良GASの夢をみるか
takter00
0
190
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
140
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
690
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
270
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
130
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Building Applications with DynamoDB
mza
96
7.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Unsuck your backbone
ammeep
672
58k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Transcript
Introducing Uno Platform @mitsuba_yu
• 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
• かなり出たばっかりのライブラリの話をします。 • 2019/12/21 現在時点での情報です。 • 明日には変わってるかもしれないし、 使い物にならないかもしれません。 • 逆に今現在動かないものが、
明日には動くようになっているかもしれません。 注釈
• Uno Platformってなに? • 開発環境とDEMO • かっこいいアプリは作れるのか? • Write Once
Run Anywhereは都市伝説なのか否か • やってみてどうだったのかと、そのまとめ Agenda
今日のお持ち帰り 5 Uno Platformって 使いやすいの?使い物になるの?どうなの? の現状
突然ですが、 どっちが好きですか? 6
7
Uno Platformってなに? 8
• XAML/C#で書けるマルチプラットフォーム向けのライブラリ • UWP、Mac OS、iOS、Android、Webに対応 • カナダの会社が作ってる • Apache 2.0
License で安心 UnoPlatform
それXamarinじゃないの? 10
Yes. 11
じゃあXamarinで良くない? なんで最近そんなUnoがー って言われてるの??? 12
13
真っ当なXAMLが書ける!!! 14 by Windows開発者
Architecture • 基本はXamarin.Nativeベース • UIをUWP likeなXAMLで記述 • 例えばStackPanel/Unoは RelativeLayout/Androidと MKMapView/iOSを継承
• 言ってしまえば Formsの焼き直し
似たようなのを昔見ましたね
いいことばっかりなの? 17
いや、そんなこともない 18
Architecture • Xamarin.Nativeの上に乗っている • Xamarinで実装されているiOS/AndroidのAPI • Unoで実装されているXamarinのAPI • これしか使えない •
Windowsとしては、現状 2018 October Update相当が使える (ver.17763) ちょっと古い。 • あと、闇癖も多い。。。
20 開発環境とDEMO
• 簡単 3Step 開発環境構築
開発環境構築
開発環境構築
24 • Windowsの電卓をiPhoneで • プロジェクトテンプレートから1つ作ってみる (D01) • インテリセンス (D01) •
サンプルアプリを作って移植してみた (Monitor) DEMO
かっこいいアプリは 作れるのか? 25
• National Geographic Learn English • TEDで英語を勉強するアプリ • Cineplex Mobile
• 映画の選んで、近所の映画館 のチケットを取れるアプリ App
• 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
Write Once Run Anywhere? 28
29 • UWP or !UWP (D02) • 使えるもの、使えないもの • x:Name
/ Navigation / Style (D05) • Command / Behavior / Storyboard (D03) DEMO
• 丁寧に書けばイケるかも? • Xamarinは.NET Standard / UWPは.NET Core • .NET
Coreにしかないコードを書くと、UWPはビルドが通る でも、iOSとAndroidは通らない。 • デバイス依存系コードはやっぱり無理じゃないかな?(未検証 • それぞれのプロジェクトに実装して呼ぶようにすればイケる はず(Xamarinスキルが足りなくて未検証 Write Once Run Anywhere?
Write Once Run Anywhere? • Uno 「どれが1つを実装すれば オマケで他がついてくるよ」
32 • NativeStyle (D04) • Uno 「でも他のプラットフォームのデザインガイドラインを 別のプラットフォームに使うのはナンセンスなのは分かって る」 Design
DEMO
Design • NativeStyle はそのプラットフォームの見た目をしている コントロールではない • そのプラットフォームのコントロールをそのまま使っている • 利用するのであれば、プラットフォーム間の実装差分を許容す る必要がある
まとめ 34
• 今話題のUno Platformをご紹介した。 • いつものXAMLでUIを書けのは素晴らしい。 反面、インテリセンスの制限とレンダラーが無いのは厳しい。 • Xamarinがベースな以上、どうしてもUWPで通るビルドが通ら ないことがある。 •
エラーメッセージが的外れで、原因究明が難しい。 • でも環境構築はとても簡単で始めやすい。但し初回ビルド… まとめ
• Xamarin.Formsは触ってみて幻滅したけど、 Uno Platformは面白い。 これこそMSが買収すべきなのでは、と思えるぐらい。 • XAMLが一緒なだけとはいえ、MVVM/ReactivePropertyが使え て、いつもと同じ思考で開発できるのは、本当に素晴らしい。 やってみてどうだったか
• ただ、まだまだ若いライブラリなのは否めない。 前述のように動かないものいっぱいある。 • なにが動かないか分からない以上、作り込んだアプリの移植は 厳しい。代わりに1から作るのであれば、なかなかありかも? • エディタ対応の不十分さはやっぱり気になる。 波線とかでてたり、インテリセンスが効かなかったり。 やってみてどうだったか
• Pre-Release版では使える機能も増えてそう。 • 年1回、UnoConfをやってるらしい、ちょっと行ってみたい。 • フォルダパスが長くなりがち(ビルドが通らない • 個人的には今後にかなり期待してる! やってみてどうだったか
None