
【初めてのSwiftイベント参加】potatotips #90 iOS/Android開発Tips共有会
参加しようと思ったきっかけ
hinakkoさんの記事を見て、世の中にはSwiftのイベントがたくさんあることを知りました。
また、hinakkoさんは当時は金融機関の営業職だったと言うこともあり、『こういうイベントって別にプログラマーでない素人が参加していいんだ!』っと思ったのがきっかけです。
現在の私の立ち位置については、こちらの記事を参照↓
私も現在プログラマーとは他業種であり、プログラミングは初心者であるため、hinakkoさんのモノマネをしてみようと思った次第です(`・ω・´)
っといってもどのようなSwiftイベントがあるのか分かりません(´・ω・`)
hinakkoさんのXアカウントを覗いたところ、Swiftのイベントが投稿されていることに気がつきました👀
どうやらプログラミングのイベントというのは、connpassというところでイベント情報がまとめられていることに気がつきました。
connpassの検索窓に「swift」と検索をかけたところ、たくさんのイベントが表示されました😳
https://potatotips.connpass.com/event/341264/
そうして、大手のメルカリが主催しており、期日が近い「potatotips #90 iOS/Android開発Tips共有会」に参加することを決めました。
イベントの日時について
まず、こちらのイベントはオンライン参加と現地参加があります。
私は、人と交流をしてみたいということもあり現地参加を選びました。
次に開催時間についてですが、平日の19時開催です。
仕事帰りでも参加しやすいようにこんな時間にイベントが行われているんだなあって思いました。
私の場合は、仕事時間と被りそうなため、時間休を使って仕事を少し休み、イベントに参加しました。
イベント内容について
https://github.com/potatotips/potatotips/wiki/potatotips-90
一人5分間、パワポを使って最新の情報やTipsを共有します。
一人5分なので深く話すことはできません。
ざっくり、へーそんなのがあるんだーって学ぶことができました。
Swiftだけでなく、Androidやflutterについても勉強をすることができました。
私が現地で聞いて書いたメモは下記の通りです。
個人的に一番面白かったのは、9番のマルチプラットフォーム Skipです☺️
Swiftだけで、Androidのアプリも今は作ることができるのは知らなかったです。
1. Flutter の Add-to-app でナビゲーションスタックが Flutter → ネイティブ → Flutter になってしまう場合の技術選定事例(区分:Android)
マイページはnative表示だが、一部がflutterの画面表示になっている。
ネイティブのログイン画面からflutterの画面に映すことができる。
ネイティブからflutter画面に移動するとき、一瞬古い画面が表示される問題がある。
2. iOSアプリの定期リリースとそのための自動化で得られた効果(区分:iOS)
リリースのマネジメントが複雑になりやすいので、機械に人間が合わせる仕組みにした。コードフリーズを予告するbotがある。
3. iOS/Android間でUI実装を近づけるヒントと道標(区分:Android)
改行や長文テキスト入力する事例とか
iOSだとテキストフィールドでUItextViewとUIViewRepresentableを組み合わせる必要がある。
Category表示
TagCloud表示のようなChip表示について
Scrollが関連するような動きを実装する際のポイント
改行や長文テキスト入力する事例とか
4. SwiftUIで単方向アーキテクチャを導入して得られた成果(区分:iOS)
会社の事業が、UIKitからSwiftUIに変更した。
MVIとは、Model(View State)+View(SwiftUI)+Intent のこと
三層に分けたことによって複雑な状態変化のテストが容易になり、コードレビュー効率が向上した。
5. DevContainerでリモートビルドの夢を見たかった...(スポンサーLT)(区分:Android)
Androidアプリのリモートビルドしたい。
ノートパソコン持ちたくない、毎回ノートパソコンを買い替える
Docoker: パソコンの中に仮想世界を作れる
MacOSの中で、Docoker作ってその中にlinuxを作る場合は、Dev Containersがある。
6. 9-patchで画像の一部分を伸縮させる(区分:Android)
発表者は、pocochaのアプリ開発者さん。
テキスト領域に応じて吹き出しが伸縮する。
pngファイルを利用する場合、画像全体が均一に伸縮してしまう
↑この問題を9-patch画像で解決することができる。
7. まさかのバグ!SwiftUIプレビューでハマった国際化対応の落とし穴(区分:iOS)
発表者は、メルペイの開発者さん
XcodeのPreview
別モジュールが国際化対応している場合、コード上でlocale指定をしても必ず英語で表示されるバグがある。→フィードバックアシスタントにバグレポートを出す必要がある
8. CursorにAndroid開発を任せてみた。(区分:Android)
発表者は、DeNAの開発者さん。
どの程度のルールで動くのかAndroid Studioでしてみた。
AIに作ってもらうが、ビルドエラーの嵐!
中規模・大規模アプリの作成には向かない。
9. マルチプラットフォーム系はSkipで良さそうな話(区分:iOS)
発表者は、LINEヤフーの開発者さん。
Skipが意外と知られていない?Skipは、SwiftとXcodeだけでAndroidが作れる。これは、2024.8月にリリースされた。
AndroidのエミュレータをXcodeでRunできる。
Skip.toolsだと学習コストがなくていい!
懇親会
それぞれの発表後に懇親会がありました。
懇親会では、ピザとお肉とサラダを食べました🍕🍖🥗
周りの人に聞いたところ、懇親会では通常食べ物や飲み物が提供されるそうです。
知らなかったので、私はオニギリを食べてからこのイベントに参加しました。今後、こういうイベントに参加する場合は、ある程度お腹を空かせておいた方が良さそうだなと思いました。
また、私はそこまでコミュニケーション能力が高くないので、初めての人達に対して緊張していました。周りからたくさん話しかけてもらいました。
聞いた話では、iOSエンジニアよりAndroidエンジニアの人数が少ないのでAndroidエンジニアを探すのは大変とのことでした。
また、ポートフォリオはどのくらい作ったら就職できるのか尋ねたところ、ある人は3作品作ったよっと仰っていました。
ポートフォリオを作るときの目安にしようと考えています👀