SSブログ

SwiftUIでViewControllerベースのアプリを作るのを調べた [プログラミング]

SwiftUI以前のアプリはみんなViewControllerを使ったMVCっぽいものになっていたと思うけど、SwiftUIになってからは勝手が変わったようだ。とはいえ、以前のアプリのつくり方を覚えているほどたくさん作ったわけでもないし、最近はXcode自体に触れてないので、そもそもの作り方が分かっていない。

そんなわけでAppleでSwiftUIの公式チュートリアルをサラッと見たのだが、英語は難しくないがいまいちわかりづらい。まぁ公式のものってわかりやすいことはあまりないので、一次情報であるということ以上の利点はないよね。

https://developer.apple.com/tutorials/swiftui/

わけわかんなくないけど、日本語で今までの作り方を前提とした記事とかがないかなと思って探してみたんだけど、思いのほかない。SwiftUI自体の新しく加わったものについての話はあるんだけど、ViewController周りのこととかがない。というか、以前の作り方からSwiftUIに移行する方法とかがあまりないみたいだった。探し方が悪いのかもしれないけど、わりと情報が少ない。出てきてからそんなに時間が経っていないわけではないんだけれど、欲しいなぁと思うようなものがない。


それで結局、本家チュートリアルに戻った。

https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit

結局ViewControllerを使っているのはこれだった。これがあるから特にほかのページで解説しているところがなかったのかもしれない。

半分ほど見たけど、以前より手数(コードの量)が多くなってないか?
SwiftUIを成立させるために、以前のViewControllerの手法が面倒になっているのだとしたら本末転倒でかなり問題なのでは? もう少し文句も出てもよさそうなもんだけど、そういう人はSwiftUIを使わずに今までの手法を使っているのかな?

問題なのは以前のViewControllerをそのままがっちゃんこして使えそうな感じではないことだ。少し直せば使える程度ならいいけど、ちょっとその程度ではない気がしている。SwiftUIはこのまま定着するのかな? 以前と同じくViewControllerの手法を用いている場合は面倒が増えるだけなんじゃ?




UICollectionViewを使おうとしていたんだけど、SwiftUIがらみだとほとんど記事がない。と思っていたらSwiftUIで代替方法があった。LazyVGridがそれである。

https://www.yururiwork.net/%e3%80%90swiftui%e3%80%91lazyhgrid-lazyvgrid%ef%bc%88uicollectionview%ef%bc%89-%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%e3%80%90ios14-xcode12%e3%80%91/

結局、SwiftUIに対応した方法がリリースされなければ、面倒なViewControllerの手法を無理やり入れないといけませんよと言うことらしい。どちらにせよ、簡単に書けそうな方法があったので一安心です。まぁ新しいものなのでバグとか普通にありそうですが、ViewControllerを学んでからそれを無理やり組み入れるよりかはマシなことでしょう。

WWDC2020でいろいろ追加されたようなので、そのうち見てみることにしましょう。ここあたりっぽい。
https://developer.apple.com/documentation/swiftui/view-layout-and-presentation

やっぱGoogle検索は古い情報が頭に来やすくて、探すのしんどい。とりあえずWebkitであってSwiftUIで実装されていないものは、以前の作り方で作ってSwiftUIで作らないというのが一般的な解法となるのかもしれない。まぁSwiftUIでできないことはWWDC2021でもかなりつぶされるとは思いますが…。



SwifUIがまともに使えるのかどうか心配になってきた。この先、フェイドアウトとかねーだろうなぁ。

https://engineering.mercari.com/blog/entry/20201216-4043b38af1/

使いやすくはなっているみたいだけど、如何せん日が浅いので情報も少ないしガチで使っている人も多いわけでもなく、使い方はこれだ的な決定打は出にくい模様。GUIでGUIを作るのっていうのは楽でいい気はしていたんだけど、スマホだと全画面だし解像度は違うしで、JavaのSwingみたいに画面をコードで書けた方がいいのかも知れぬ。

正直、今までの経緯をあんまり知らないものだから、iOS開発の泥臭いところを経験してないものでね。そういうところがわかっていれば、SwiftUIも有り難みがあるのかも知れないけど、今のところ簡単に書けるということぐらいしかわからない。それと今までやってきたことをしようとすると面倒だということぐらいしか伝わってこない。

まぁ本気でSwiftUIにしようというのはわかった。書き方も少なくなった分楽になりそうなのもわかった。あとはAppleの開発者が必要なものを揃えてくれるだけである。ある程度自分で作るにしても、フレームワーク的なものや部品から作るとなるとキツいしね。


タグ:SWIFT
コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0