1. AirSap
  2. #48 2020年に大進化を遂げたSw..
2020-07-24 37:00

#48 2020年に大進化を遂げたSwiftUIを語る

2020年の新しいSwiftUIについて @notoroid さんに語っていただきました。
00:00
WWDCがちょうど終わって2週間くらい。なかなかビデオ見たりとかキャッチアップも忙しい時期だと思うんですけど、どんな感じですか?
最初の1週間はあんまり進まなかったっていうのが実際ですね。なぜかっていうと、今回のWWDCのセッションって基本的には映像がまず出てて、
去年だとPDFの資料も一緒に出てきてたんですけど、それが今年はないっていう話なんで、ちょっとそこで今までのキャッチアップのフローがうまくいかなくて、ちょっと戸惑って停滞してたって感じです。
そうですよね。去年まではステージでプレゼン資料を使って発表してたから、PDFで資料が出てたけど、今年って結構映像として作り込んでて、なので、そういう事前資料みたいなのは配布できる状態になってないっていう感じなんですかね。
多分、キーノートの資料を、プレゼンの資料をそのままPDF化したものがWWDCの開催中からどんどん公開されてたっていうのが去年なんですけども、今年は基本的には字幕ベースで、映像とその字幕が残ってる、配布されてるっていう状態からスタートだったので、ちょっと面食らったっていうのが実際です。
まあでも今年の映像は、まだ去年に比べたら見やすい面もありますよね。時間が短かったりとか、テンポも早いし、そういう意味では映像自体の見やすさはいいけど、あらかじめそのPDFでザザッと見て、これ見とくべきか見てみなくていいかみたいな、そういう判断をするっていうのが難しい感じですかね、やっぱり。
ザッピングしながらなんか、気の利いた絵があると、そこからなんか食いついていくみたいな見方ができなくなったので、ちょっとそこが確かに辛いのかなっていう気はします。
今年もやっぱり見るもん多いから、見ておくべき、知っておくべき情報、今年もやっぱりてんこ盛りなんで、ビデオ頑張って見ていくしかないって感じですかね。
基本的には字幕を日本語化して、映像をちょびちょび再生しつつみたいな、もしくは紙芝居みたく、細切れに見ていくしかないかなっていう印象があります。
ということで、今回はのとさんにSwiftUIの話をしていただこうということで、ゲストとしてお呼びしています。
AirSupp第48回目になります。ということで、今年たくさんWWDCで発表された中でも、SwiftUIは結構トピックとして大きいかなと思うんですけど、
のとさんにSwiftUIの話をしてもらうのも今回3回目。
03:01
なんと3回も出てるという。SwiftUIだけで。
そうそうそうそう。一番最初に去年のWWDCの直後かな。SwiftUI出て、おおっていう感じの話をしてもらって、その後去年の後半ぐらいにSwiftUIだけでアプリを作ったという話で、
これはこの後ちょっと話するけど、SwiftUIだけっていう概念が去年と今年とまた変わってきてる気がするけど、その話をしてもらった黒話を。
今年は新しくなった、今年発表されたSwiftUIの良いところ悪いところみたいなところを話してもらおうかなと思ってます。
はい。
ということで、そうですね。SwiftUIの今年の進化についてとかそういう話をする前に、SwiftUIって何なのっていうところをちょっと軽くお話ししてもらってもいいですか。
SwiftUIはですね、UIをこれまではこれまでのSDKベースでやると、ある条件があったら別の動きを知るみたいなことを開発者が手書きで返したんですけども、
それを開発者が直接手をかくんじゃなくて、データの流れを制御してそのデータをUI側が感知して動くみたいな、
あくまでもアプリの主体はデータみたいな、データの変化でUIが変わりますよとか、そういうことの新しい考え方を導入した開発の方法というかだと思います。
去年のWWDCで新しくAppleが突然発表して、開発者めんくらいつつも面白そうだみたいな感じでみんな触ったっていうのが去年ですよね。
みんな触ってみんな手放したっていう話があるんですけど。
はい、自分も手放しました。
Appleの出すものって最初はかなり、ベータ版はかなりすごいのが出てくるんですけど、去年のSwiftUIはかなり厳しくて、いろいろ崩れたりとか、使ってる名前が名称がどんどん変更されたりとか、
なかなか肩振る側がウォーサーをしている状態の中に開発者が翻弄されるという状況が続きましたね。
そうですよね。去年ベータ版の間にも書き方とかがすごい変わっていきましたもんね。
ベータ版の中でも消えていった名前とか構造とか、かなりありましたね。
そんな生贄状態で出てきたSwiftUIだったんですが、
のとさん自体はみんなSwiftUIで遊んで、それで終わってたとか、ちょっとしか使わなかったみたいなところ、
それでアプリを苦労して作ってっていうところだったんですけど。
06:00
SwiftUIを堪能したっていう感じですね。
1年間堪能したところで、今年の進化大きいですよね。
今年のもう膨張というか、根本的な機能は去年のと変わらないんですよ、ほとんど。
考え方とか概念とかの削ったところはなくて、本当にUI部分の増加というか、
SwiftUIという考え方を画面の中じゃなくて、その裏で動いているアプリのフレームワークの部分まで、
その考え方を伸ばしてきたっていうのが大きいですね。
今までのSwiftUIだと、一部の画面というか、画面ごとに作っていけたけど、
今年はもうアプリそのものが作れるっていう感じですもんね。
そうですね。これまでの、去年のSwiftUIは既存の、要はアプリの作り方のルールにのっとって、
その上にSwiftUIの機能をちょこんと乗せられるみたいな浮島みたいな状態だったものが、
今はもうSwiftUIという盤着な基盤の上にさらにSwiftを乗っけられるというか、
Swiftでブロック積みできるような状態になっているって形ですね。
ブロックを積んでいけば、アプリっていう家が立ちますよみたいなレベルですね。
今年のその変化で、特に何を思いました?
すごいと思ったのは、これまでの古い機能を一層鋭にSwiftUI使ってるなってところにちょっとびっくりしましたね。
古い機能?
古いというか、次々、秘伝の舵となってたAppDelegateっていうアプリを作るときに、
一番最初にいろんな機能が追加されるところがあるんですけど、
そのアプリが起動した直後とか、バックグラウンドに入ったとか、
いろんなイベントとかを最初に受け取るやつがいたんですけども、AppDelegateっていうやつが、
あいつを全部見えなくしたというか、SwiftUIで一回真っさらにしているところがすごいです。
結局あれは、覆い隠していて隠蔽しているだけなんですよね。
現状は本当に隠れている状態なんだけど、隠し方の蓋の仕方としてSwiftUIのルールとかを持ち込んだって形です。
簡潔に書けるとか、あるセッションでも言った140ツイートする中でコードを書けますよみたいな歌い文句が出るぐらいすごい短く書けるってことです。
AppDelegateって秘伝の舵になってたので、もう10年ぐらい経ってて、かなり秘書例とか余計な雑音が大量に入った機能を
アプリ会社は一生懸命探して使うみたいなことがあったんですけど、
今年SwiftUIから始める人は真っさらな状態から始められるってことですよね。
うんうんうん、そっかそっか、初学者っていうか。
初学者に優しくて、子さんの苦労とに厳しいという、開発者が増える間口が増えるような方法をAppが取っているっていうのは結構すごいなと思いましたね。
09:13
そうですね、間口の広がりっていう面でいうと、マルチプラットフォーム対応もすごくないですか。
マルチプラットフォーム、そうですね、去年からアプリと画面の本体の構成する間にSceneってやつがいたんですけど、
SceneっていうのはIOS13で追加されたんですけど、いまいちその使い方がちょっとぼんやりしてたんですけど、
SwiftUIがSceneをちゃんと導入することで、そのSceneの意味が分かってきたって形ですね。
例えば、Macだとタブ1個1個がSceneですよとか言ってみたり、iPhoneだと1画面そのものがSceneですよとか、
そういうSceneっていう概念がちゃんとクッキーで現れてきた。
Sceneって基本的にそのアプリがあって、アプリの上にSceneっていう概念があって、
基本的にはマルチウィンドウのためのものですよね。
マルチウィンドウで対応できるってことは、複数あるものを1個だけ出せば、それはシングルウィンドウにも対応できるっていう理屈ですよね。
あとは複数ドキュメントがあった場合とか、ワードプロセッサー系とかプレゼンテーション系のドキュメントを管理するやつは、
基本的には複数のウィンドウになるというか、複数扱いたいときに、iPadだと2つ画面出せる時点でもうマルチじゃないですか。
スプリットビューで同じアプリを左右に2個出せるように。
左右に2個出せるし、もう1個フローで出せるから最大3つなんですよね、iPadの場合は。
そっか。
ちゃんとSceneを実装すれば複数ドキュメントオープンできますよみたいなことは言えるんですけど、
去年の状態だとちょっとAppDelegateから派生した何かみたいな中途半端な位置づけだったので、
それが今回てっちり、これはこういう使い方ですっていうことがSwiftUIベースで説明されたので、すごい踏み落ちた感じです。
なるほど、わかりやすくなったって感じですね。
去年なぜわかりづらくなったかっていうと、AppDelegateの一部メソッドがSceneにも入ってたんですよ。
そうですね、同じようなものが複数箇所にあって、去年だとアプリ起動して、
起動した時は関係ないか、バックグラウンドに入った時の処理とかがSceneに書けばいいの、AppDelegateに書けばいいのみたいな。
この辺が曖昧でしたね、確かに。同じメソッドが複数あるから。
そうそう、どっちかしか呼ばれないから、アプリによってはそこをちゃんと検証しながら作ってないとバグの温床になるみたいな感じでしたもんね、去年は。
12:07
Scene自体はすごく有用だったんですけど、開発者に全然伝わってなかったのが去年なんですけど、
今年はSwiftUIみたいに簡潔に書けるんで、Sceneっていうものを使うにしてもすごいコストが安くなってるという。
通常、多分、Sceneの名称を書いて、カッコをつけるだけで、それはSceneになっちゃうので、すごくお手軽になったという形ですね。
それをマルチプラットフォームできますよって展開ですよね。だからMacを作るにもコストが低いよねっていう理屈づけを開発者にリズミをされているような状態だと思うんですよ、今。
こんな開発簡単に作れるんだからやるよねみたいな。なんかAppleから開発者にぶん投げられた課題のような気もします。
本当それですよね。なんか自分もMacアプリ最近ちょっと作るのに興味があるんですけど、今までだとiOSとかiPadとかiPhoneとか用のUIキットっていうのがあって、
それと別のAppKitっていう、もっと古いんですけど、っていうのを覚えないとMacアプリ作れなかったっていうところから、
去年、カタリッゾっていうiPadアプリを変換してMacアプリにするよっていうのが出てきて、そっちに手を出そうかなと思ってたけど、
なんやかんやでiPadアプリをMacで動かすっていう部分でどうしてもちょっとMacらしくないというか、結局かなりカスタマイズしなきゃいけないみたいなところがあったのが、
今年のそのSwiftUIでマルチプラットフォーム作れるよっていうのが、ちゃんとそのMacらしいアプリをほぼ共通の基盤で作れるようになるっていうところで、
ちゃんとしたMacアプリを作るハードルがものすごい下がった印象を自分は受けてますね。
Macアプリを多分カタリストっていうiPadのアプリをMacアプリ化するのと、やっぱそのMacとかWindowsとかもそうなんですけど、メニューってあるじゃないですか、画面の上に。
あれって機能の一覧なんですよね。機能の目次として機能してるんで、これを、これがこのメニューの機能っていうものがiPadのアプリだとそれは提供されてないっていうか、
そういう機能一覧みたいなものはないじゃないですか、基本的にMacとiPadのアプリを作った場合、iOSのアプリを作った場合。
それがSwiftUIは要はそれを書けばコードでもあるしUIでもあるって考え方を持ち込んでるので、
要はリストみたいなものを作ったらそれはメニューとしても表現できるし、ボタンとしても表現できるよっていうところが今回SwiftUIのすごいところで。
それがその自引になってて、それをキーコマンドとか、iPadのキーボードショートカットとかも。
15:08
iPadとMacとかのキーボードショートカットを作ることができる。
統一して作れるようになったとかありますよね。
あとはそのツールバーっていう概念が新しいのかな。
去年まではMacだけだったのかな、ツールバーは。
ウィンドウの一番上にあるボタンとかを置けるところのツールバーと、
iPhone、iOSとかiPadの画面の一番上のバー、ナビゲーションバーって言うんですけど、
あそこのに置くボタンだとか、あとはApple Watchのアプリの画面の一番上に置かれているボタンとか、
ああいったものをツールバーっていう一個の概念にまとめて、
それぞれのOSごとにいい感じに出し分けをしてくれるっていう、
それぞれに最適な形で、このボタンはプライマリーっていう一番大事なボタンですよって言った場合に、
Macだとここ、iOSだとこの場所、Watchだとここみたいな感じで配置してくれるっていう、
そういう概念ができたのがすごいマルチプラットフォームで作ることによって逆にそれぞれのプラットフォームらしい、
Appleがこう作るべきって思っているようなアプリに逆に仕上がっていくみたいな、
そういうところがすごいなって思ったんですよね。
ツールバーの部品そのものは位置を手動で記述して指定することもできるので、
ツールバーっていう機能の一覧をどう配置するかってことはOSごとに変えることができるとか、
そういった一応Appleもやってくれるし、自前でカスタマイズもできますよって結構柔軟性がありますと。
ただ画面の下に置きますよとか上に置きますよっていうのも可能なので。
そうですね、記述できますよね。
あとは横幅が狭かったらアイコン化しますよとか、横幅が大きかったら文字とラベル、アイコンを出しますよとか、
そういったところの調整もある程度やってくれる。
マックとiOSで同じ画像とテキストを用意したボタンでも、
全部表示するかどれを表示するかみたいなのをその場所で柔軟にやってくれるってことですよね。
柔軟に配置できるので、柔軟に配置できるけど信任性がすごくいい。
作る側としては一覧で確認できるのですごくそれがいい点ではあります。
あと、これまでみんながやってこなかった、例えばアクセシビリティとか、
18:01
ツールチップの文章を入れるとか、そういうことに力を入れることができるので、
その点もかなりいいのかな。
例えば、Macで出ているツールバーがiPhoneだとVoiceOver上で出てくるので、
そういう点でユーザーの使い勝手が知らぬ間に良くなるみたいな良い効果が出てくると思います。
そうですよね。ツールチップっていうのはボタンのところにカーソルを持っているときにヒントで出てくるやつですよね。
これは何のボタンですよみたいな。
それがiOSではマウスのホバーがないから表示されないけど、
代わりにVoiceOverっていう目の見えない方とかが使うときに音声フィードバックがあるんですけど、
そこで使われるという話ですね。
あとはSwiftUIがもともと持っているローカライズの機能も入っているので、
これまでのUIのリソースでローカライズするのに四苦八苦みたいな状況からも、
自動的に解放されるっていうのがSwiftUIの良いところです。
これは去年から全然すごく便利に使わせてもらっているので、
今年もやっぱりそのままあまり変化なく使うことができるかなと思います。
あとは去年できなかったことが結構できるようになっていて、
本当に今年はメインで使ってもいいかなって思えるし、
これからの基盤になっていくっていう感じがガンガンしていくんですけど、
今までできなかったマップとかも出せるようになりましたもんね。
主要なUIのパーツはサポートが入っていて映像とかも多分入っているはずなので、
アプリによくありがちな機能を追加するのがすごく便利になったのかなって気がします。
アプリ内課金とかもSwiftUIだけで完結するんですよね、今年からは。
確か。
フォトワーキットも入ってたんですよ。
あとAppleが今推しているSign in with Apple。
これはかなり最初のセッションで強く推してましたね。
他のUIを差し置いて紹介してましたね。
今まではSwiftUIだけでできなかったようなことがどんどんできるようになっているし、
今まで当たり前のようにできてほしかったようなグリッド上の表示だとか、
画面がスクロールしているときにスクロールしている位置が取れるとか、
そういった基本機能も今年はちゃんと入ってきていて、
しかもSwiftUIの特徴である画面のパーツごとがすごくコストが安い、軽いので、
かなりデバイスのフルパワーを使えるんじゃないかなという希望はあります。
本当に3Dというか、ぬるぬるサクサクみたいな昔のiPhoneの基準みたいなことが
21:00
さらにもう一回再現されるんじゃないかなって気がします。
結構無茶なことをしてもおそらくメモリとかへの影響は小さいですもんね。
最終的にそのメモリの送料を計算するのはOS側のことに作業になっちゃうので、
会社が結構無茶していても画面上に落とし込まれるものはある程度調整が入るというか、
そういうところもかなりSwiftUIを使いこなせれば利点になると思います。
野田さんは今年もSwiftUI、新しいもので何か作るんですか?
そこが問題でして、新しいアプリのネタがないという問題があるという話ですね。
つまり去年だと、私だと昔のユーティリティアプリをリニューアルするという
去年のSwiftの身の丈にあった課題があったんですけど、
今年は場が積に増えたので、それを包括するようなアプリが作れないというのが残念ですね。
多分フルセットのアプリが作れそうな勢いなので、
それのアイデアが今のところないというのがちょっと困っているところです。
じゃあこの夏の間に何か。
昔のアプリをリニューアルするという、また同じことをやってもいいんですけども。
いやいや、そこはやっぱり新しい新作で行きましょう、新作。
新作なんだけど、なんかゲームになってたりするかもしれない。
SwiftUI全く使わないゲームになっている可能性もある。
SwiftUIゲーム作れるんじゃないですか、今年は。
なんかスプライトキットとかそういうゲーム系の部品も確か入った記憶がありますね。
マルチプラットフォームとAppleが嘘を吹いているやつは全部入っているはずですね。
数年前から、TVOSで動くからマルチプラットフォームですっていう。
もう数年前から言っているやつらがいるんですけど、
あれらはSwiftUIと相性いいんじゃないですか、みたいな感じで。
一般的にマルチプラットフォームって言ったら、
Android、iOS、ゲームだったらそこにゲームコンソールいろいろ入ってくるみたいな。
そんなことをお構いなしにAppleはマルチプラットフォーム言ってましたからね。
自社の。でもここでSwiftUIはマルチプラットフォームって今年も言ってて、
実際マルチプラットフォームかなとも思いますし。
ただ今年から入ろうかなという人は地獄を見ていただければ、
学習コストがむちゃくちゃ高いので。
高いっていうのは今までの苦労とかが取り掛かると痛い目に遭うって形です。
子産であればあるほど心のブレーキがかかる可能性があるので。
あとは対応OSとかありますもんね。
今年の機能を使おうとするとiOS14以降対応になっちゃいますもんね。
24:05
なので会社でやらせてくれるとか、そういう既得な会社に勤めてる人じゃないと、
そのお仕事レベルでは取り込めないんじゃないかなっていう点でもちょっと厳しいところで。
かといって、その2年後には確実にメインになってるはずなので、
その時にあなたは学習してますかみたいな、あなたはできますかみたいな、
市長に誰がいつ学習するんじゃいみたいなところに追い込まれるんじゃないかなっていう気がします。
だからこれをどう学習、自分の仕事と盛り込むか、
それとも趣味のレベルでやるかみたいな、いうぐらいにちょっと考え方が変わってくるので、
そこは各々の開発者の腕の見せどころだと思います。
何年かに1回こういうことがありますよね、iOSは。
iOSはストーリーボードとか、レティーナディストレイもひどかったし、
ストーリーボードもひどかったし、オートレイアウトもひどかったですね。
そうですね、なんかそのオブジェクティブシーからスイフトの時もあったし、
その知っておくべき知識っていうのがガラッと変わることによって、
新しい人がどんどん入ってくるし、前からやってる人は震え落とされないように必死になるみたいな、
そういう感じですよね、本当iOSはね。
iOSは馬車馬のように、後ろから尻を叩かれることばっかりですね。
あんまり人心がぶら下げられてない。
一番ダイナミックなUIとか画面周りに関しては、
かなりエキサイティングなことにはなってるんですけど、
追いかける側は結構大変な時があるかもしれないですね。
得意な考え方が導入されたら、それはすぐできるのかもしれませんけど。
だからもういかに楽しんでやっていくかっていうところですよね、新しいものが出たら。
私としてはこれを仕事にしてはするのは結構きついんじゃないかなって気がします。
他のアプリ開発業務しつつ、Swiftをやるのはもう脳みそが爆発。
Swift UIをやるのは。
古い概念をどうやって捨てるのかみたいな、捨てるっていうか、
どこで見切りつけるかが多分今わからないと思うので。
いつ移行するかみたいな感じですよね。
でもこの後もう完全にSwift UIが未来なのはほぼ確定な感じが今年ついにしてるので。
本当にウェブ開発とウェブのリアクト系と言われるのとほぼ考え方が同じになったので、
本当にウェブ開発者とかが入ってくる下地ができたと思います。
あとはあれですね、デザイナーの人たちとかも見といた方がいいかもしれないですよね、Swift UIは。
そうですね、記述レベルで書けるので、書き方さえ覚えてしまえば画面パーツ一個一個作ることができるんですよ。
普通にスタイルシートみたくレイヤーみたいな表現もできますし、
27:05
あとはシェイプっていって普通の基本な図形もありますし、
もちろんベクターもパスも書けますよとか、
Appleらしい表示周りの繊細さというか気の利いているところはあるので。
Human Interface Guideline、UIのAppleのガイドラインに沿った形になりやすい仕組みになってると思うんですよね、Swift UIって今までのものに比べても。
デザイナーの人も触りやすいし、
結構こういうとあれですけど、
Webから来たデザイナーの人ってあんまりプラットフォームに対しての、
なんて言うんだろうな、プラットフォームに対してのリスペクトというか愛がちょっと足りなかったりするじゃないですか。
だからちょっと触ってみてもらうといいのかなって思うし、
逆にそのままのデザイン、
なんて言うんだろうな、あんまりそういうプラットフォームの考え方とかを無視した感じのデザインとかをした場合に、
開発者の人たちは逆に全部Swift UIで区形とかから組まなきゃいけなくなって、
しんどくなるみたいな、あるかなーって思いますね。
そういうのはSwift UIどっかしてるわけじゃないんですけど、
ペイントコードっていうとんでもないツールがありまして、
レクターがそのままソースコードになるみたいな、ちょっと変わったものがアプリがあったりするんですよ。
もしかしたらそういう感じで大手のやつが対応してくれるかもしれないです、ここまで。
イラストというか動きとかAppleが作るとSwift UIベースで作れるのであれば、
普通のドローツールとかがSwift UIのUIコードを吐き出すとか、
そういうのも昔はちょっと現実的じゃないかなと思ったんですけど、今だったらできるんじゃないかなっていう気がします。
なるほど、プロトタイピングツール系で対応してくるとこありそうですね。
FramerXとかが確かJavaScript入ってたはずなんで、
なんか似たような感じでSwift UIのコード入ってくるとかはあるかもしれないですね。
デザイン系だとどうしてもJavaScriptでレンダリングして、
そのパーツをUIビュー上にUIウェブの画面パーツしておくみたいな、
ちょっとまどろっこしいことになってたと思うんですけど、
今回本当にネイティブで書けば本当にレスポンスが早い画面パーツが出来上がると思うので、
かつ、ちゃんとデザインのスタイルシートみたいな流儀で書けるようになってますから、
かなり画面パーツを作るっていう、複合したパーツはちょっと分からないですけど、
単体のパーツだったらすぐできちゃうような気もします。
そうですね、あとはあれですかね、
30:03
データが主体でそれの変化によってUIが反応していくっていうのはSwift UIの特徴っていう話をさっきしてたけど、
データっていうものがあってそれに対応するデザインっていう考え方を、
今後もっとしっかり持っていった方がいいかなっていう感じもしますね、見た目だけじゃなくて。
ここに関してはかなり重要というか、そこだけが実は重要なところかもしれないぐらい思ってて、
要はUIをアプリを構成するための元データ、画像とか色とか色のアセットもそうなんですけど、
グラデーションとかをまず片っ端から集めて、集めきったところからアプリをどうするかってことを考えてもいいぐらい、
私が作ったUTTアプリは元のアプリがあって、そのリソースをまず集めてから作り始めたので、
元のアプリがあるからそのリソースがもうかなり充実している状態から作り始めたので、
Swift UIを学習するだけで作ることができたっていうところがあったりします。
なので、Swift UIでアプリを作るとなると、よりそのデータを作ってとか、
そのデータをどういう構造で持ちますかっていうことをデータを集めてから考えるとか、
データ集めながらそういう構造だったら動くんじゃないかなってことに頭を使わないとアプリが動かないっていう状況が長く続いちゃう。
むしろそこだけに注力するぐらいでもいいのかもしれないですね。
そのぐらいアセットとかデータの構造とかを考えることがより重要になってくる感じ。
特に最初の構築時に参考となるイメージとかがないと本当にUIが固まらないままっていう印象があります。
何か気の利いた文字とか何かを表示する人も文字の長さとかがやっぱり元データから決まってくるので、
そういうものがないふんわりした状態でSwiftUIを使うのは結構大変というか、
何もできないまま終わるみたいなのがちょっとあるのかもなって気がします。
だからプロトタイピングでもなんでもいいので、
UIのパーツもあるし、何かを集めて表示しますよって言ったらそのデータをちゃんと集めてきってから考えましょうみたいな。
ふんわり適当にデザインしてみたいなとこからスタートできないっていうか、
ちゃんと考えてロジックでちゃんと組み立てていって、
崩すときは崩すとかもあるけど試行錯誤もしやすいですね、SwiftUIで。
複数データのソースとかがあると取捨選択ができるので、これしかないっていう風に行き詰まることがないと思う。
だからアプリを作って完成したときに捨てたリソースとかがあっても全然いいくらい。
なので、UIを構築するデータの元がすごく大事というか、
33:03
データの元の質がいいとそれを動かすためのUIの質も良くなるみたいなものを信じてもいいかもしれない。
じゃあそんな感じで、SwiftUIちょっと自分も今いろいろ触ってみて楽しんでいるところなので、
ぜひ今度また新しいSwiftUIがiOS14とかmacOS11ビッグサーとかと同時に正式リリースされたあたりでまたね、
のとさんの新しいアプリの話とかもあるかもしれない。
去年は13のタイミングで出そうとして3ヶ月遅れとかでしたからね。
一応リリースはOSリリースのタイミングだったんですけどね。
予定はそうだったんですね。
予定は未定ということで、目指すことは変わりないですけど。
じゃあそのあたりを目指してまた正式リリース後にいろいろ話ももう一回聞きたいかなと思います。
のとさんブログで結構SwiftUIの情報をこれから発信していくんですよね。
はい、最近ブログを刷新しまして技術発信用のブログとしてちょっと再構成してますと。
今回のWWDCに関する話題もちょくちょく上げている感じですね。
入ります伝算企画のブログですね。
これ説明欄にもリンク貼っておきます。
はい。
じゃあ今日はこんなところですかね。
何か話し足りないとかあります?
そうですね、まだベータっていう状況なので、まだまだそこからびっくりされるって状態なんですね。
去年もね、コロコロ変わりましたからね。
だから今がダメだからSwiftUIダメだっていうのはちょっとまだ早いかなって気がします。
そうですね。
あとはSwiftUI自体は去年から確かに大きくなったんですけど、
本当に重要な機能追加ってこんなになく、
なんか言語的な仕様的な仕様と追加されたものはそんなになかったりするんですよね。
なんか便利機能はあるんですけど、去年からの改善だけで言うと、
StateObjectっていうのが追加されたっていうのが結構大きいかもしれないです。
これはちょっと皆さんキーワードを覚えておいていただいて、後で調べてほしいんですけど、
これがあるとないと全然使い勝手が変わってくるぐらいのちょっと改善なので、
いろいろSwiftUI予約が圧倒で始まるキーワードが増えてるんですけど、
その中でもStateObjectっていうのが今私が注目しているところです。
StateObject注目ですね。
Stateっていうのもいるし、StateObjectがいるっていう。
そう、ややこしいですよね。
SwiftUI結構重複するんですよ、名称が。
なのでちょっと面食らうんですけど、
36:00
それぞれすごい重要な意味があるので、意味的には。
本当に機能が凝縮されてるので、
アットが入ったらすごい複雑な機能が働いてると思ってもいいぐらいです。
気軽にアットって書いて書く行文がいくつかあるんですけど。
アットマークですね。
そうです。それはかなり重要なことが動いてんだぞっていうふうなことが、
頭の中で描き揺れてるようになったらSwiftUI使いになった感じになったと思います。
なるほど。ちょっとまだ自分もStateObjectをちゃんと理解できてなくて、
触ってないんですけど、やってみます。
はい。
じゃあ、そんなとこですかね。
はい。
今回もご清聴いただきありがとうございました。
野田さんありがとうございました。お疲れ様でーす。
ありがとうございます。
37:00

コメント

スクロール