Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introducing UnoPlatform
Search
mitsuba yu
December 21, 2019
Programming
1.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
すこし踏み込む CancellationToken
htkym
2
1.7k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
450
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
290
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
ChromeでローカルLLM
ryu1013
0
140
Railsバージョンを4倍にした話
optim
0
350
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Bash Introduction
62gerente
615
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
WENDY [Excerpt]
tessaabrams
14
40k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Deep Space Network (abreviated)
tonyrice
0
370
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Mobile First: as difficult as doing things right
swwweet
225
10k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
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