iOSアプリを作るのにハマっている話
このテキストは3分で読めます。
最近、主催しているLT会 や技育プロジェクトのハッカソンなどに出場したりしなかったりしていたので 自分のブログ改修そっちのけで色々やってたりなどしていました。 また、引越しのバイトや就活などが忙しかったり忙しくなかったりしてました。今回はその中でもハッカソンで初めて触ったSwiftUIの雑観を初心者なりにまとめてみようという趣旨です。
なぜSwiftUIを使ったのか
一言で申しますとネイティブアプリを作ってみたかった。 かつネイティブアプリを作るならネイティブの言語で作りたいという気持ちが大きくあったというのがあります。 ReactNativeやFlatterといったフレームワークもWEB畑で勉強してきた自分としては興味があったのですが、Appleのエコシステムってなんかロマンがありませんか? WEB系技術をiOSアプリ開発にもというのは、Apple流デザインパターンやネイティブ言語に流れる根底の思想をきちんと理解してからでいいかなという感じの気持ちが強くありました。 結論から言うとSwiftUIを使って正解でした。 一番はハッカソンでデザインを考える時間を他の機能に使えたと言うのが大きくあります。これだけであるていどかたちになるのが大きいなと思いました。 また、オブジェクト指向プログラミングや型といった概念を敬遠していた部分がありましたがこの苦手に向き合えたと言うのが個人的には1番の収穫です。
便利な点
一番はロジックを作る段階である程度整ったデザインで返されるため、Viewに拘らなくてもストレスも問題も少なくアプリ開発ができるという点です。 また、マークアップのロジックとデザインが同じコードロジック本体は別のコードという見た目と中身と言う直感的な分け方ができるのも個人的には魅力に感じました。 SwiftUI特有のSheetはメールみたいな感覚でエディター画面を作れて個人的に気に入っている機能の一つです。 検索画面とさくっと見る画面が同じなのいいよね。
不便な点
色の使い方がWEB慣れているとRGB、Apple指定などしかないのがなかなか不便だなと思っています。また、デザイン的なロジックも切り分けて使わないといけなく 関係のあるロジックの中にデザイン関係のロジックが入っていたりと(この辺りは関数の設計の問題でもありますが)汚くしてしまいがちなのが個人的にはネックだなとおもいます。 また、情報がSwiftUIの中でもSwift4系のSwiftUIと5系のそれでは初期画面の違いがあり、Window周りでも少しつまづきやすさを感じました。 この辺りはSwiftを使っている人が増えたら解決すると思うので自分もそのあたりの発信をしていきたいなと思っております。