ルーキーズLT(5分)

ここで押さえる!someとany

Nao_RandD Nao-RandD

Swift 5.1からsome、Swift 5.6からanyという新しいキーワードが加わりました!
anyキーワードはSwift 6.0から明示的に付与しなければコンパイルエラーになります。 対応に迫られた時、よくもわからずanyをつけていくという状態では心許ないですよね、、、

本トークで、2つの切り口からsomeとanyの理解を深めていきましょう

  1. 汎用的なコード実装がより簡単に!
    ジェネリクスは汎用的なAPIを作成する上で強力ですが、慣れていないと実装しづらいところがあります。それをsomeキーワードで実装した場合にどうなるか、実際のコードで比較しながら把握してみましょう

  2. プロトコルの役割を明確に!
    Swiftのプロトコルは型を抽象的にする役割と、制約を設ける役割の両方があります
    それぞれの役割に応じてanyとsomeを使い分け、それによって得られるメリットをお伝えします

1
ルーキーズLT(5分)

swift-dependencies で「DIやテスト」がどう変わるか具体例で学ぶ

ios_hamada dahama

みなさん、DI(Dependency Injection, 依存性注入) をどのように行っていますか?

急速に変化していくiOSアプリ開発において、様々なDI手法が乱立しており、 "どのようなDI手法を選択するかベストなのか" と違和感を感じることがあるのではないでしょうか?

本LTでは、 私が現段階でDIのベストプラクティスだと考えている swift-dependencies を用いた DIからテストまで "具体例をもとに" 紹介し、DI手法の選択肢拡大に貢献したいと考えています。

swift-dependencies は TCAから派生して生まれたDIライブラリで、とても簡単に依存を登録し、柔軟な依存注入が可能です。
そのため、新規/既存のプロジェクトに対して導入が容易に行えます。
DI手法について再検討したい方 や TCAを用いた開発を考えている方 の支えになれば幸いです!

12
ルーキーズLT(5分)

ジェネリックなprotocolを活用してアプリをリアーキテクチャする

shumpei_nagata Shumpei Nagata

昨年公開されたSwift 5.7から、ついにprotocolにジェネリクスを使えるようになりました。
これにより、型消去のようなテクニックを用いることなく、associatedtypeを持つprotocolをより便利に・簡単に扱うことができます。
今回はこの新機能の活用方法を、実際にアプリをリアーキテクチャした実例とともにご紹介します。

1
ルーキーズLT(5分)

iOSアプリだけじゃない!CI/CDや業務効率化でもSwift化を進めたい!@ヤプリ

kamimi_01 kamimi / かみみ

iOSアプリ、Swift化してますか?ではCI/CDや業務効率化は?これらはfastlaneやGoogle Apps Scriptを使っており、iOSエンジニアには馴染みが薄いRubyやJavaScriptを使うことが多いでしょう。

「それ、Swiftで実装しませんか?」

メリットの一つはSwiftで読み書きできることです。アプリと同じ言語ならば、慣れない言語を使う頭の切り替えは不要で実装も捗ります。またWWDC22でも登場したVaporを使いより幅広い機能を実現することもできます。

本トークではヤプリで行っている業務効率化、Swift化の過程や既存ツールとの共存、Swift化のメリットを下記の実例と共にお伝えします。
①アプリ審査ステータス取得:Vaporを使い、GASでは難しい機能を実現
②リリース自動化:Swiftで実装しfastlaneから呼ぶことで、既存ツールとの共存を実現

7
ルーキーズLT(5分)

iOSアプリの視点からアクセシビリティを理解する

naruogram naruogram

最近、アクセシビリティという言葉をよく聞くようになりましたが、実際に導入、考慮をしているアプリはまだまだ少ない現状です。
身近なもので言うと、文字サイズの対応もアクセシビリティの一つです。
※この概要でのアクセシビリティとは、「身体の状態や能力の違いによらず様々な利用者がアプリやサービスを円滑に利用できること」と定義します。

アクセシビリティを考慮することによるメリットは多くあります。 (例) 利用できる人が増える...

今回のトークで話す内容

  • iOSアプリでアクセシビリティ対応の導入
  • iOSアプリでアクセシビリティ対応をする際に気をつける点
  • iOSアプリでアクセシビリティに対応できているかをチェックする方法

このトークの後には、明日から導入できるような話をしますので、アクセシビリティ考慮をしたいと思っている方の力になれたらなと思います!

3
ルーキーズLT(5分)

FlutterエンジニアからiOSエンジニアになった話

naruogram naruogram

FlutterエンジニアをやっていてSwiftにも挑戦してみたい! iOSエンジニアをやっていてFlutterに挑戦してみたい!ってことありませんか?

今回の登壇で話す内容

  • FlutterエンジニアからiOSエンジニアになっても大丈夫なのか
  • Flutterで身につけた技術はiOSでも使えるのか
  • iOSでの苦戦した技術などについて(RxSwiftなど)

今回の登壇は、現役大学生が長期インターンなどの実際の現場で経験した話に基づいてお話しさせていただきます。

FlutterからiOSエンジニア、iOSからFlutterエンジニアに移行する際に、不安や障壁の解消をしたいと思います!!

2
ルーキーズLT(5分)

FlutterでSwiftUIぽい書き方を再現する

naruogram naruogram

Flutterを使っていて、UIの構築する際に、SwiftUIぽい書き方をしたいと思いませんか?

最近の海外でFlutterをSwiftUIぽい書き方をするのが流行っています。その導入方法からメリット・デメリットを解説していきたいと思います。

今回はSwiftUI経験者、FlutterでSwiftUIぽい書き方を導入してみたい人向けの内容です。

FlutterでSwiftUIぽい書き方をするメリット

  • iOSエンジニアがすぐFlutterでUIを組むことができる
  • Flutter独特のネストを解消することができる
  • FlutterエンジニアがSwiftUIをキャッチアップする機会になる

このトークがSwiftUIの障壁、Flutterの障壁をなくすことができたら幸いです。

7
ルーキーズLT(5分)

~新卒2年目の挑戦~大規模アプリのリアーキテクチャを推進する

oskmr_ miseri

私たちのチームではSwift Concurrency対応やSwiftUIの導入に向けてFluxベースのアーキテクチャを脱却し、全面的なリアーキテクチャを進めています。
そんなチームである日突然リアーキ担当に任命された新卒2年目の私。
Swift Concurrencyヨクワカラナイ、大規模なプロジェクト初めての若手エンジニアがどのようにしてプロジェクトを推進したのか、その挑戦を5分で紹介します。

本トークでは若手がリーダーシップをとって大きなプロジェクトを推進する際の視点から、以下の内容に焦点を当ててお話しします。

  • リアーキテクチャにいたる背景と課題
  • 新しいアーキテクチャの設計
  • チームで浸透させるための取り組み
11
ルーキーズLT(5分)

アーキテクチャとテスト音痴の僕がTCAに出会って変わった

shino8rayu9 shino-chan

アーキテクチャを使ってアプリを作る経験やテストを書いた経験がなく、どこか負い目を感じていました。
そんな僕がThe Composable Architecture(TCA)と出会い、学び、業務のアプリに導入したことで見える世界が変わりました。
TCA導入のビフォーアフターでどうコードの可読性が上がったか、どう迷いなくテストが書けるようになったかの感動をお伝えします。

界隈ではすでに多くの方々がTCAの良さを発信されていますが、ぜひ僕のようにアーキテクチャやテストについて何をどうやったらいいのかわからない方々に向けてお話ししたい内容です。
きっとあなたもTCAを触ってみたくなるはず!

7
ルーキーズLT(5分)

心理学系の大学院生の視点からみたApple Vision Proの発売による世界への影響

isekiryu いせりゅー

初めまして!
株式会社ゆめみの2023年卒のFlutterエンジニアで、心理学系の大学院に通っていて、大学院では心理学の観点からVRの研究を行っております!!
私の趣味は、個人開発とサッカー観戦です!

Apple Vision Proは、Appleが初の空間コンピュータとして販売する発売予定の複合現実ヘッドセット型PCである。これは2023年のWorldwide Developers Conferenceで2023年6月5日に発表され、米国では2024年初旬に購入可能になる予定です。
今回のApple Vision Proの発表は世界に影響を与えるものだと私は思います。値段が高すぎるなどの意見もあると思いますが、機能面で見るととても納得できるものがあります。

心理学系の大学院生の視点からみたApple Vision Proの発売による世界への影響を話していこうと思います!!!

5
ルーキーズLT(5分)

心理学部の大学院生の視点からみたApple Vision Proの将来性とVRの発展

isekiryu いせりゅー

初めまして!
株式会社ゆめみの2023年卒のFlutterエンジニアで、心理学系の大学院に通っていて、大学院では心理学の観点からVRの研究を行っております!!
Apple Vision Proは、Appleが初の空間コンピュータとして販売する発売予定の複合現実ヘッドセット型PCである。これは2023年のWorldwide Developers Conferenceで2023年6月5日に発表され、米国では2024年初旬に購入可能になる予定です。
Apple Vision Proの機能がAppleから公開され、一部には他にはない機能が発表されました。VRのコンテンツの構想のなかで今回のApple Vision Proはとても革新的だと思っています。
このプロポーザルでは、心理学部の大学院生の視点からみたApple Vision Proの将来性とVRの発展について話していこうと思います。

4
ルーキーズLT(5分)

FlutterはiOSに勝てないのか:クロスプラットフォームとネイティブのパワーバランス

isekiryu いせりゅー

はじめまして!
株式会社ゆめみの2023年卒のFlutterエンジニアで、同時に心理学の大学院生でもあるいせりゅーと申します。私の趣味は、個人開発とサッカー観戦です!

「FlutterはiOSに勝てないのか:クロスプラットフォームとネイティブのパワーバランス」では、FlutterとiOSネイティブの競争力を比較し、それぞれの特性nなどを掘り下げます。パフォーマンス指標(CPU使用率、メモリ使用量、レンダリング速度)を用いて両者を評価し、iOSネイティブの全機能がFlutterでも実現可能か、その逆が成り立つか明らかにします!
また、iOS特有の機能(例:Face ID、ARKit)がFlutterでどのように扱われるか、開発体験の観点からも比較します。このプロポーザルを通じて、読者はFlutterとiOSネイティブのパワーバランスについて深い理解を得られるような話をします!

4
ルーキーズLT(5分)

Flutterエンジニア視点から見たiOSにしかできないこと

isekiryu いせりゅー

はじめまして!!!

株式会社ゆめみの2023年卒のFlutterエンジニアで、同時に心理学の大学院生でもあるいせりゅーと申します。私の趣味は、個人開発とサッカー観戦です!!!

Flutterエンジニアとして、我々は頻繁に「iOS固有の機能」を再現する問題に直面します。本プロポーザルでは、これら独特なiOSの機能とFlutterの能力のギャップを詳しく分析し、明らかにします。具体的には、フレームワークやユーザー体験といった、Flutterが完全には再現できない機能について深く検討します。また、この比較を通じて、Flutterがどのようにこれらの制約を克服または回避するためのさまざまな手段や戦略を探求します。

Flutterエンジニア視点だからこそわかるiOSにしかできないことをしっかりと話していこうと思います!!!

5
採択
2023/09/02 17:35〜
Track B
ルーキーズLT(5分)

身に覚えのないDeveloper Program License違反を通告されてアプリの検索順位を下げられた時の闘い方

_ski_u さかいゆうのすけ

私は個人で「20xx年の恵方コンパス」というアプリを約5年間運用しています。
名前の通りその年の恵方を示してくれるアプリで、2023年2月3日にはApp Storeの無料アプリランキング総合2位を達成しました。
しかしそれから数日経った頃「恵方」と検索した時の順位が一番下まで下がっていることに気づき、AppleからApple Developer Programのライセンス違反を警告するメールまで届きました。
そこには「App Storeのランキングやユーザーレビュー、検索結果などを操作している」との旨が記載されています。
無論そのどれにも心当たりはなく、そしてこのペナルティとして検索順位が下げられたのだと察し、メールへの返信やAppleへの問い合わせを行いました。
結果として現在は検索順位が回復していますが、それまでの間にAppleとどのようなやり取りがあったのかを本トークにて紹介します。

採択
2023/09/02 17:20〜
Track A
ルーキーズLT(5分)

新メンバーのキャッチアップコストを下げよう!チュートリアルプロジェクトの紹介

oskmr_ miseri

オンボーディングでこのような課題に直面したことはありませんか?

  • オンボーディングがトレーナーに依存してしまい、適切なタスクを考えるコストが高い
  • プロダクトコードが大規模なためキャッチアップが難しい

私たちのチームではこれらの課題を解決するために、本番のプロジェクトに近いアーキテクチャと構成を持つチュートリアルプロジェクトを作成し、実際の開発に近いフローでのオンボーディングを行なっています。

また、新メンバー向け以外にも課金やCI/CDなどの難易度の高い知識のキャッチアップや新しく公開されたAPIのPlaygroundとしても活用しています。

本トークでは、技術のキャッチアップを促進するためのチュートリアルプロジェクトの具体的な活用方法を紹介します!

このトークが少しでも皆様のチームのオンボーディングの参考になれば幸いです。

ルーキーズLT(5分)

0から始めるアプリ勉強会

ioco95 Ryomm

業務でモダンなアプリ開発がしたい!それっぽいことがしたい!
でも製品への新機能を提案できるほど知識も経験も足りてない。おまけに当分はアプリ開発に割けるリソースもなさげ。。。

ならば社内勉強会を立ち上げて知識も経験も傘増ししてしまえ!とノリと勢いで始まった勉強会立ち上げ計画。

ひよっこエンジニアがアプリの勉強会を運営していく中で、

  • どうやったら知識だけでなく経験を身につけることができるか?
  • どうしたら個人の勉強では得られない価値を生み出せるか?

と、試行錯誤してきた取り組みをご紹介します。

1
ルーキーズLT(5分)

プロジェクト内の依存関係をグラフで表現する

ryosuke_tamura Ryosuke Tamura

リファクタリングやマルチモジュール化などを行う際に、そもそも現状どういう依存関係が存在するのかを把握してから議論する必要があると考えています。
本LTでは、依存関係をグラフなどで表す方法の検討過程と、実際にグラフ作成のために作成したツールの紹介とその活用についてお話しします。

1
採択
2023/09/02 17:10〜
Track B
ルーキーズLT(5分)

iPadだけで完結させるiOSアプリ開発の全て

ryosuke_tamura Ryosuke Tamura

「せっかく買ったiPadを活用できないまま放置している」、「SwiftUI触る機会がない」、「Macは持ってないけどiPadならある」、「iPadでプログラミング学習をしたい」
そんな方にオススメしたいのがiPadでアプリ開発です!
ついこの前まで私自身もiPadを活用できずに放置ぎみで、SwiftUIも書いたことがない状況でした。
このままiPadをろくに使わずに手放すのは悔しかったので、iPadだけでアイコン作成、スクリーンショット作成、アプリの開発・公開まで全てを完結させるチャレンジをしてみました。
使用したツールや難所の紹介、得られた学びをお伝えできたらと思っています。
これを見て是非皆さんにもチャレンジしてみていただきたいです。

ルーキーズLT(5分)

こんな使い方も!KMMを活用したiOSとAndroidアプリのリソース共通化

oskmr_ miseri

iOS, Android両プラットフォームでアプリを長期間運用していると、OS間での画像や文言の差分、異なる名称でのリソース追加などによって細かな修正やコミュニケーションが必要なケースが多くあります。

このトークでは、これらの問題を解決する手法としてテキスト・カラー・画像のリソースをKotlin Multiplatform Mobileを利用し、iOSとAndroidのロジックを共通化することで、OS間でリソースを共有する方法について紹介します。
さらに、共通化するにあたっての技術選定~導入方法やそれぞれのOSから見たメリット・デメリットについてもお話しします。

本トークを通じてリソース管理の複雑さを軽減する手法の提案や、Kotlin Multiplatform Mobileを利用するメリットについてお伝えすることができれば幸いです。

8
ルーキーズLT(5分)

大学生向けアプリの開発において、レガシーと思っていた技術を採用した理由:学生開発者の挑戦

あきどん

現在、趣味として徳島大学生向けの学修サポートアプリを個人で開発・運用を行っている大学生です!
このアプリは、講義情報やレポート提出、そして学内情報などの一元化を目的としており、それにはJavaScriptインジェクション、Webスクレイピング、そしてRSSフィードを活用し、学生生活のほとんどが一つのアプリで完結するという形で実現しました。
現在、AppStoreで公開しており、徳島大学生の3人に1人が利用しています。
このLTではAPIが全盛の今、なぜこのアプリではJavaScriptインジェクション、Webスクレイピングといった技術を採用するに至ったのか、その背景や技術・運用について紹介しますので、エンターテイメントとしてお楽しみいただければ幸いです。
また、学生の皆さんに対して「不便だと感じたら、自分で変えてみよう」と少しでも思っていただければ嬉しいなと思います。

4