株式会社GENDAは純粋持株会社でありながらエンジニアが在籍し、グループ企業各社のプロダクト開発を行っています。
私たちモバイルエンジニアの使命はどのプロダクトにおいてもスピーディかつ堅牢で高品質なアプリ開発を行うことです。
しかしながらプロダクトによって使用する技術、歴史、文化、成長フェーズなどが異なる中でこれを実現することは容易ではありません。
本セッションでは、グループ企業を横断した少人数で効率的な開発を実現するために、弊社モバイルエンジニアのこれまでの取り組みとその成果をご紹介します。
Voicyは「音声プラットフォームVoicy」を開発している創業7年目のスタートアップ企業です。
2022年7月に27億円の調達を発表し、スタートアップのフェーズとしても事業成長を求められるフェーズとなりました。
それに伴い、モバイルアプリに求められる品質レベルもプロダクトリリース初期と比べて大きく変化しました。
本セッションでは、スタートアップ企業が事業成長のフェーズ変化で直面する課題と、それ乗り越えるためのリアーキテクト戦略についてお話しします。
楽天グループが運営する「楽天ラクマ」は、今年でサービス開始12年目を迎えます。
Objective-CのSwiftへの書き換え完了後の取り組みとして、アーキテクチャの改善、SwiftUIへの置き換え、開発プロセスの改善などに取り組んでいます。
また、改善を行う中でリリース前のテスト項目に漏れが発生するなどの課題に直面し、ドキュメンテーションや共有方法について改善を行うことでコミュニケーション面での課題の改善を図っています。
このセッションでは、ラクマで行っているリファクタリングの内容や開発ルールなどの取り組みについてご紹介します。
ここ数年でPayPayはとても大きく成長することができ、現在登録ユーザー数は5,800万人を突破(2023年6月時点)する事ができました。
多くのユーザーがPayPayを利用してくださり、大変ありがたいと感じています。
しかし、私たちは全ての国民がストレスなくPayPayを利用できる環境を提供する責任を感じています。
そこで、毎週リリースしている様々な取り組みを通じて、より使いやすいInfra Appを目指しています。
今回はそんなPayPayの取り込みについてご紹介していきます。
WWDC 2019 で発表されたSwiftUIですが、毎年たくさんの機能アップデートがありAPIも合わせてドラスティックに変化しています。
「スタディサプリ 中学講座」では、iOS 14 以降を対象としてフルSwiftUIを目指して開発をしてきました。(現在は iOS 15 以降対象)
SwiftUIが進化していく一方で運用する上では以下のような課題がありました。
このセッションでは「スタディサプリ 中学講座」の運用を通して、進化していくSwiftUIの仕様にどのように対処しているかお話しします。
今年2月、アプリの譲受を初めて経験しました。
他社で運営していたAndroid含め計6アプリを受け取るにあたり、事例は多くありましたが情報が少なく、またとても貴重な機会でした。
以上の内容を通じて、アプリ譲受においての実践的な学びやポイントを具体的な事例を交えながら共有します。
・事前に取り決めたこと(プッシュ通知サービスも変更するため譲受前後の送信予定など)
・当日までの準備(AppStoreConnectでの準備、実装、Firebaseの譲受)
・譲受当日の作業
・譲受後の運用
アンドパッドでは建築・建設業界に向けてクラウド型建設プロジェクト管理サービス「ANDPAD」を開発・提供しています。
従来のANDPADは、通常のSaaSと同様にオンライン環境下での活用をメインに開発してきました。
しかし、高層階や地下、辺境地での工事の場合、電波が届かないことも多く、そういった環境下でもANDPADをご活用いただけるよう、ANDPADアプリのオフライン化に取り組んでいます。
このセッションでは、この現在ANDPADが直面しているオフライン化の取り組みについて、どのように工夫し解決しているのかについてご紹介いたします。
ニフティライフスタイル株式会社が運営する「ニフティ不動産」アプリは、さまざまな検索条件から希望の条件を選んで物件を検索し、豊富な物件情報をもとに好みの物件に問い合わせをする動きがメインのアプリです。
この「物件探しの体験」をより向上させるために、iOSのさまざまな技術を取り入れて機能追加に取り組んできました。
本セッションでは、「ニフティ不動産」の賃貸版iOSアプリにおける取り組みの具体例をご紹介します。
iOSエンジニア、と一言で言っても具体的に何をする人なのでしょう。
思い浮かぶざっくりした説明だと、iOSアプリを作る人、でしょうか。
ですが、実際のプロジェクトではさまざまな役割を持った人が集まって一つのiOSアプリを作っています。
つまりプロジェクトメンバー皆がiOSアプリを作る人です。
では、Swift等のプログラミング言語を使ってiOSアプリのコーディングをする人、が正しいでしょうか。
私はそうは思いません。正確には、それだけでは足りないと思います。
実際のプロジェクトにおいてiOSエンジニアに求められる役割とはなんなのでしょうか。
本発表では、アプリ開発においてiOSエンジニアにはどのような役割が求められるのか
我々チームラボでのアプリ開発の流れを追いながら迫っていきたいと思います。
ChatworkのiOSアプリは2011年にリリースされ、12年間で様々な技術変更や新機能の追加を行ってきました。しかし、長期間の開発では技術的な負債が蓄積されます。そこで昨年、新しいアーキテクチャを導入し、負債の解消に取り組みました。
新アーキテクチャを社内では「SVVS(Store, View, ViewStateの頭文字)」と呼んでおり、弊社の技術顧問であるkoherさんとの毎週の議論や、技術合宿を経て生まれました。
SVVSはSingle Source of Truthを考慮し、シンプルでオーソドックスな構成を実現しています。特にSwiftUIとの相性が良く、学習コストも低く、サードパーティのライブラリやフレームワークに依存しない点が魅力です。
このセッションでは、「SVVS」の開発秘話や現在のUIKit / MVVMからの導入計画について分かりやすく説明します。
RIZAPでは、RIZAPのBody Make事業のほか、2022年7月より、運動初心者向けの完全無人コンビニジムchocoZAP (ちょこざっぷ) を本格的に全国的に展開しています。 サービスローンチと同時にchocoZAPアプリをリリースし、入退館管理にとどまらず運動記録やアプリ内ゲームコンテンツなど改良を重ねてお客様に使用していただいています。
本セッションでは、そのRIZAPがなぜ、最初にFlutterを選択し、のちにFlutterを捨ててネイティブ化(Swift / Kotlin)を選択したのか、についてご紹介させていただきます!
kintone は、サイボウズが世界中にチームワークを広めるため開発している「業務改善プラットフォーム」のクラウドサービスです。
kintone のモバイルアプリは約6年運用してきました。
日々の開発の中で、いくつかの保守的な判断が積み重なりコードの複雑性は増していきました。
ビジネスモデルの変化やチーム構成の変化への対応に追われ、開発速度は徐々に低下していきました。
本トークでは、このような問題のある状態に対して行ったリアーキテクトについて話します。
この実例を元に、聴衆の皆様が大小様々な負債を解消していく助けとなることを期待しています。
メタバースプラットフォーム clusterの開発では、3DCGやゲームエンジンだけでなく、手軽に体験できるモバイルアプリケーションもプラットフォームを支える大事な要素です。clusterはマルチプラットフォームに対応しており、iOS開発を担当するエンジニアも多く在籍しプラットフォームを支えています。
clusterでは、バーチャル空間内の体験をUnityで、バーチャル空間外の体験をSwiftで開発しており、それぞれがどのようなインターフェイスで連携しているかについてお話します。また、clusterのiOS開発におけるモノレポのリポジトリ運用やFeature Flagによるトランクベース開発、GitHub ActionsによるLintチェックや自動テスト、マルチプラットフォームへの定期リリースなどの運用についてもご紹介します。
Wantedly では 2020年からモバイルアプリのロジック部分のクロスプラットフォーム技術として Kotlin Multiplatform Mobile (KMM) を採用しています。
2022年からは徐々に SwiftUI 導入を進めて、プロフィールをリニューアルするプロジェクトでは全面 SwiftUI での開発を試みました。
また、プロフィールのリニューアルは、Android が先行して実装し、KMM の実装もすでに完成していました。
そのため、このプロジェクトは、KMM と SwiftUI を初めて組み合わせるプロジェクトとなりました。
本トークでは、このような状況で KMM と SwiftUI の組み合わせによる開発の進め方、遭遇した問題、技術的な工夫や実績についてお話しします。
Sansan株式会社では、SansanとEightの2つのモバイルアプリを提供しています。
Sansanは営業DXサービスとして、100万件を超える「企業情報」を提供し、ユーザーの営業活動を加速させています。
モバイルアプリで企業情報を活用してもらうために、SwiftUIを用いたグラフ描画に向き合いました。
また、Eightでは今年4月にCore Bluetoothを活用し、
Eightユーザー間で非接触で名刺交換を行える機能がリリースされました。
これらの機能の紹介とともに、開発を支えた技術について紹介します。
そして、名刺管理のための名刺撮影で活用されているCore MLについても紹介します。
このセッションを通じて、参加者の皆さんに、
Sansan株式会社のモバイルアプリエンジニアが日々向き合っていることをお伝えします。
弊社GMOペパボが運営するハンドメイドマーケット「minne(ミンネ)」は、今年で11周年を迎え、様々な思い出や歴史の変遷がありました。
歴史が長いサービスの開発では「目に見えない複雑さ」や「小さな事が重大である」等、その歴史故の難しさも数多くあります。一方で、その困難を解決した先人の偉大な資産やストーリーも一緒にあります。そして、より良く&より価値を出すため、その歴史を踏まえ、その先を見据えた取り組みや挑戦が求められます。
本セッションでは、minneのiOSアプリ開発を通じた「その先を見据えた取り組み」の具体例を、実務での体験談やチーム内開発での事例と合わせてご紹介できればと思います。
【取り組み事例】
ビットキーは「テクノロジーの力であらゆるものを安全で、便利で、気持ちよく繋げる」をミッションに掲げるスタートアップ企業です。ハードウェアからソフトウェアまで扱う幅の広さと24時間安定して動くiOSの顔認証システムからNFCやBluetoothを扱う技術の深さに挑戦しています。
このセッションではisowordsの学びから守破離で実践した内容から見えてきた、明日から使える方法と教訓をご紹介します。
主に会社紹介となります。技術的なことはあまりお話しせず、エンジニアの観点から会社の制度・仕組み・体制等についてお話しさせていただきます。
エンジニアをやる上で技術的なスキルを身につけ、向上していくことはもちろんのことですが、それ以前に働く環境や考えなければいけない様々なこともあると思われます。会社に属している方なら尚更です。
なので、ここiOSDCというディープなiOSについてのお話ができる場であえて技術の話をあまりせず、「成長できる会社NO.1」を目指す会社のエンジニアがどんな働き方をしているか、どんなことができるか、などを弊社の紹介という形でお話しさせていただければと思います。
是非、本セッションに参加していただき、(株)ゆめみさんの魅力をご自身の目でお確かめください。
「VIPER」とは、iOSアプリケーションにクリーンアーキテクチャを適用したものです。
VIPERでは、アプリケーションの論理構造を責務の異なるレイヤーに分離し、依存関係を分離することで、レイヤー間の境界でのテストが容易になります。
弊社では、VIPERアーキテクチャを基にしてViewレイヤーをStoryboardやUIKitで実装してきました。
今年度から、弊社サービス「TUNAG」のサポートバージョンを13以降に変更し、SwiftUIを導入できるようになりました。
SwiftUIを導入することによって、Viewレイヤーの宣言的記述による実装ができ、開発速度の向上が見込めます。
VIPERアーキテクチャを活用しながら、レイヤーごとの責務を分けつつ、スピーディにViewレイヤーを開発するための実践的な取り組みをご紹介させていただきます!
今や OpenAI 社の ChatGPT に代表される AI チャットはさまざまなアプリケーションに組み込まれて活用されるようになりました。
しかし多くのアプリは外部のチャットサービスにリクエストして結果を表示するというものがほとんどで、その結果、入力された内容がユーザーの知らないうちに外部に送信される懸念、また外部のサービスに依存する関係上、アプリにはさまざまな制約が残ります。
このセッションではそれらの問題を踏まえて、また技術的な検証を含めて、CoreML を含めたさまざまなオンデバイスで動作する AI フレームワークを検討します。
そして、実際に iPhone だけで動作する AI チャットアプリを作成し、巨大な LLM のようなモデルの取り扱いや、オンデバイスのメモリ限界などの問題を検討します。
対象とする方: iOS アプリ開発の経験がある中・上級者