SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発現場インタビュー(AD)

世界5500万ユーザーの「TimeTree」、iPhone登場期からのiOSエンジニア達が負債解消とネイティブ開発の魅力を語る

  • X ポスト
  • このエントリーをはてなブックマークに追加

 世界で5500万人が使う共有カレンダーサービス「TimeTree」。iOS版を担うiOSエンジニア3人に最新技術のキャッチアップ、技術選定の勘どころ、コードレビューの進め方、チームビルディングなどについて迫った。それぞれが目指す先とは。

  • X ポスト
  • このエントリーをはてなブックマークに追加

株式会社TimeTree iOSエンジニア 佐藤新悟氏
株式会社TimeTree iOSエンジニア 佐藤新悟氏

iPhone登場初期からのiOSエンジニアたちは「TimeTree」をどう見る?

──自己紹介をお願いします。

佐藤新悟(以下、佐藤):まだスマホがない2006年に旧Yahoo! JAPAN(現LINEヤフー)に新卒入社しました。Mac好きでしたのでYahoo!メッセンジャーのMac版クライアントを担当させてもらえることになり、iPhone登場前からObjective-Cに触れています。その後、社内でiOSアプリ開発メンバーに選ばれたことがきっかけでiOSエンジニアになりました。TimeTreeの創業メンバーと一緒に仕事をしていた縁で、2016年からTimeTreeに入社してiOSアプリ開発をしています。

荒木秀太(以下、荒木):私も旧Yahoo! JAPAN出身で、当時はデスクトップのウィジェット開発をしていました。ウィジェットのようなアプリをiPhoneでも動かせるということで、iPhone 3Gの発売後にすぐに購入し、デベロッパー登録もしました。そこからiOSエンジニアとして活動を続けています。転職していったんはiOS開発から外れた時期もありますが、縁あってTimeTreeに入社するときに再びiOSを開発したいと希望してiOSエンジニアに戻りました。

市川勝(以下、市川):学生時代からWindowsのフリーウェアを開発していたことで、2005年に旧Yahoo! JAPANに入社し、検索事業でバックエンドからフロントエンドまで手がけるWebエンジニアとして働いていました。佐藤と同じく、iOSアプリ開発の社内公募で手を挙げてiOSエンジニアとなりました。当時ヤフオクや防災速報アプリを開発し、後に荒木に引き継ぐなど、3人とも最初の会社で密な関係だったと思います。後に佐藤からTimeTreeに誘われて入社しました。

──皆さんベテランのiOSエンジニアですね。皆さんから見たらTimeTreeはどんなプロダクトですか?

佐藤:カレンダーシェアサービスです。正直、最初に見たときは「Googleカレンダーでいいのでは?」と思いました。しかし実際に開発に携わって知ったのですが、「TimeTree」はアプリの思想として「共有」を前提にしています。またユーザーさんの声を通して、テクノロジーに慣れていない方でも使いやすいことが大きな特徴だと気づきました。

荒木:最初はただのカレンダーアプリだと思っていました。ですが開発側にまわり、先ほど佐藤の話にもあったように「共有」が前提としてあり、共有することによってユーザーさんの課題を解決するプロダクトだと知りました。

市川:ぼくも初見は「Googleカレンダーでいいのでは?」でした。しかし自分の家庭に導入してみるとコンピュータに明るくない家族もすんなり使えて驚いたんです。ユーザーさんに優しく簡単に予定を共有できる体験を通して印象が変わりました。

──iOS版の特徴、技術的なポイントは?

荒木:技術面では、iOSの基本機能を大事にしています。例えば画面下のタブやカレンダー表示の動きはiOSのネイティブの機能です。奇抜な動きはしないので説明不要で幅広いユーザーさんに使っていただけています。ただし、基本を重視しつつも、どうすれば予定を確認しやすくなるか、予定を素早く登録できるかも重視している点です。またオフラインでの使い勝手も大事にしています。

佐藤:データ管理にはCore DataというApple純正のフレームワークを使っています。意外とみんな使いたがらないのですが、あえて選んでるのが特徴です。例えば現在だとRealmが有名ですが、外部OSSを使うか標準を使うかはよく検討した上で選択することが大事だと思います。TimeTreeでは基本は標準、満たせない要件があるなら外部を使うという順番にしています。

市川:TimeTreeは標準をベースにしているところが多く「流行をがっつり採り入れてしまい、(後になって)外すのに苦労している」ことがあまりありません。画面周りのコードを見てもMVCやObservableObjectを使ったMVVMなど標準的なアーキテクチャになっています。

荒木:例えばRxSwiftをがっつり使っていると、Apple純正のSwiftのCombineに移行しづらいですし、Concurrencyも工夫が必要になったりします。

──フロントエンドは変化が早いので技術的な負債がたまりやすいと聞きますが、iOSもそうなのですね。うまく回避している印象です。

荒木:実を言うと、外部のライブラリに頼っていた部分もありました。Objective-CからSwift、SwiftUIやCombineが出てきたタイミングで標準に移行していました。それをやっていたのが市川です。

市川:剥がしてました(笑)

次のページ
見るべきは今年のWWDCではない? 技術的負債解消のヒント

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
開発現場インタビュー連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

篠部 雅貴(シノベ マサタカ)

 フリーカメラマン 1975年生まれ。 学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。 卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や商品まで幅広く撮影。旅を愛する出張カメラマンとして奮闘中。 Corporate website Portfolio website

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社TimeTree

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19830 2024/08/07 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング