💬

【エンジニア対談vol.2】モダンな技術をどう採用する?Filmarks開発チームの原動力は”探究心”

新しい技術の導入は、エンジニアの成長と開発効率向上のカギ。Filmarksのアプリ開発チームでは、探求心を原動力にSwiftUIやJetpack Composeを採用し、よりモダンな開発環境を築いています。その背景や成果、注目する最新技術について、エンジニアの2人が語ります。
 
 
 
👤野田直軌[写真左]
エンジニアリング・マネージャー / 2014年3月入社 Filmarksサービス開発におけるプロダクトマネジメント及びエンジニアマネジメントを担当
👤田中悠己[写真右]
エンジニア / 2017年9月入社 主にFilmarksアプリの新機能開発と保守・運用を担当
 
 

SwiftUIを本格導入。技術導入は“探求心”から始まる

 
ー Filmarksの開発では、2024年度でどのような技術を取り入れましたか?
田中 この1年で、SwiftUIを本格導入しました。SwiftUIは宣言的UIを採用していて、従来の画面構築方法から大きく変わりましたね。UIの構築がしやすく、共通コンポーネントが使い回しやすいので開発効率が上がりました。
野田 そうだね。従来のレイアウトファイルだと、出力されたコードを正確には解読しにくいから、コードレビューが難しかった。その点、SwiftUIならコードベースで管理できるから、レビューもスムーズにできる。
田中 はい。たとえば、これまで2日かかっていた簡単な画面の実装が、1日で完了するようになりました。
野田 リアルタイムのプレビュー機能を使って、実行結果を確認しながら開発できるのも大きなメリットだね。
田中 そうですね。Androidでは既にJetpack Composeを導入していて、実装スピードの速さを実感してたんです。その経験から、iOSでも同様のメリットをSwiftUIに期待してました。
野田 以前はストーリーボードやインターフェースビルダーを使っていて、視覚的に編集できる反面、コードレビューがしにくいという問題があった。いまはコードベースでの管理が可能になって、開発効率が向上したね。SwiftUIのプレビュー機能はやや重くて、マシンスペックが要求される点はすこし課題かな。
田中 それに関しては、最近、UIをモジュールに切り離してプレビュー速度を上げるようにしたので、以前に比べるとだいぶ快適になってきました。
 
ー SwiftUIを導入することになった経緯は?
田中 もともとストーリーボードによる開発に課題を感じていたので、AppleがSwiftUIを発表したタイミングで導入を検討しました。ただ、初期のバージョンは制約が多くて、本格的な導入は見送りました。その後、安定性が向上して、実用レベルになったと判断して本格導入に至った感じです。
野田 SwiftUIは既にスタンダードになりつつあるし、僕らとしてもモダンな技術を取り入れられたのはよかった。最新の技術を導入しないと、新しいエンジニアが参画したときにストレスを感じたり、余計なコストがかかってしまう懸念もあるしね。
田中 はい、AppleもSwiftUIを推奨している感がありますしね。たとえばウィジェットの開発も、SwiftUIが前提になってますし。将来的には、SwiftUIが主流になる可能性が高そうです。
 
田中悠己(エンジニア / 好きな映画は『ボヘミアン・ラプソディ』)
田中悠己(エンジニア / 好きな映画は『ボヘミアン・ラプソディ』)
 
ー 新しい技術導入の提案や検討はどのように進めていますか?
田中 主に、隔週で行っているアプリチーム・ミーティングですね。その場で「こういう技術を導入したい」と提案して、アイデアリストに追加します。その後、進捗管理をしながら、導入の可否を検討しています。
野田 技術導入のきっかけは、課題解決のためというよりは、誰かの「やってみたい」という意欲や探求心から始まることが多いよね。「この技術を使えば工数を削減できる」といった合理的な理由もあるけど、それ以上に「新しい技術があるから試してみよう」というスタンスが強い。
田中 たしかに技術的な興味がきっかけになることが多いですね。「最近、こんな技術があって面白そうだね」という会話からスタートしたり。
野田 技術的に面白いと思えば、まず試してみる。試した結果、良いと判断したら採用して、合わなければやめる。この流れが大事だなと。試して良かった技術は、Filmarksに採用することも積極的に検討したいね。
田中 はい。たとえばウィジェットを作って提案して、評価が良ければ、Filmarksに実装することも充分考えられますね。
野田 そうだね。つみきの企業風土としても全然あり得るし、そうした一人ひとりの意欲や探求心を大切にしながら、より良いプロダクトをつくる文化が根付いてるよね。
 
野田直軌(エンジニアリング・マネージャー / 好きな映画は『リアル・スティール』)
野田直軌(エンジニアリング・マネージャー / 好きな映画は『リアル・スティール』)
 

KMP、AI、XR──Filmarksエンジニア注目の最新技術

 
ー Filmarksで今後取り入れたい技術について、教えてください。
田中 今後取り入れたい技術のひとつに、KMP(Kotlin Multiplatform)があります。KMPだと、iOSとAndroidの両方で動作するコードを書けるので、工数の削減が期待できます。1つのコードで済むので、テストの負担も軽減できそうだなと。
野田 ロジックの共通化が進むのは大きなメリットだよね。たとえば、iOSとAndroidでは時間表記がちがう。iOSは24時間表記で、Androidは12時間表記。こうした細かい仕様のちがいも、KMPを導入すれば統一しやすくなる。ただ、KMPが万能というわけではなくて、他社の導入事例を見ると苦戦しているケースもあるから、自分たちで試行錯誤をしながら気付きや学びを得ていくことが重要だと思う。
田中 そうですね。KMP以外にも、Androidの新機能やSwift 6、Swift Concurrencyにも関心があります。ただ、KMPを導入すると、Swift Concurrencyの必要性が薄れるかもしれません。
野田 たしかに。技術導入を検討する際は、そのあたりのバランスを考慮する必要がある。
田中 最近では、Android XRにも注目してます。ヘッドセット用のアプリを作るための開発キットがリリースされたので、試してみようという話が出たり。
 
Android XR向けに設計された初のヘッドセット「Project Moohan」
Android XR向けに設計された初のヘッドセット「Project Moohan」
野田 そういう新しい技術もやってみたいよね。あとはiPad対応とか、デスクトップアプリとか。
田中 はい、あとダークモード対応も(笑)
野田 そうだね。iOSやAndroidの最新機能は、やっぱり使ってみたくなる。あと個人的には、AIを活用した開発スタイルの導入も検討したい。
田中 最近は開発現場でもAIを活用することが増えましたね。
野田 たとえば、Github Copilotのような生成AIを使ったコーディング支援ツールをさらにうまく活用したり。マネージャーとして、モダンな開発スタイルを実践するチームでありたいと思っていて。将来的に「AIネイティブ」の開発者が当たり前になる時代が来るとすれば、それを見据えた環境整備も進めていきたい。
田中 開発のスピードや品質の向上のためにも、積極的に取り入れていくべきだと思います。
野田 最近話題になってるApple Vision ProやAR/MR分野にも興味がある。GoogleやMetaも参入していて、今後数年で標準技術になる可能性もあるから、今のうちに試しておくのも面白いよね。
田中 そうですね。ARや空間コンピューティングは今後のトレンドになりそうなので、開発の選択肢として考えておくのは大事だと思います。
野田 近い将来、うちのエンジニア全員がヘッドマウントディスプレイをつけて仕事しているかもしれない(笑)
 
 

Filmarks開発チームの課題と展望

 
ー 最後に、現在の開発観点から見たFilmarksの課題について。今後、どのような人材に参画して欲しいと感じていますか?
田中 いまはAndroid開発者が1名なので、Jetpack Composeの実装経験がある方にぜひ来ていただきたいですね。 iOSについては、SwiftUIを導入したばかりなので、SwiftUIのコンポーネント設計に精通した方が理想です。現状では、実装の正否が不明瞭なままで、気づかないうちにアンチパターンに陥るリスクもあります。これまでは自由に設計してきましたが、今後はより適切な設計を確立したいと考えています。
野田 たしかに。設計方法には、流派みたいなものもあるよね。
田中 はい。SwiftUIのコンポーネント設計にはさまざまなアプローチがあって、アプリの要件や既存の設計によってベストプラクティスは異なると思います。
野田 一番重要なのは、チーム内で見やすく、わかりやすい設計になっていることだと思う。外部のベストプラクティスを取り入れても、読みづらいと意味がない。チーム内で理解しやすい設計を心がけるのが大切だなと。
田中 その通りですね。
野田 もちろん、日常的により良くしていく努力も必要だけど。
田中 その点で言うと、後輩エンジニアが「ここのコードがわかりにくい」とフィードバックをくれるのが助かっています。
野田 それはありがたいね。自分では気づかないこともあるし。
田中 はい、気づかないうちに良くないコードを書いてしまっていたケースは意外と発生しがちかなと。たとえば最近では、変数名について「このまま運用すると良くないのでは?」という意見があって、実際に見直して変更しました。こうした視点がチームにあるのは助かります。
野田 サーバー側では、特に業務委託メンバーのベテランエンジニアがよくフィードバックをくれる。 エンジニア同士で意見し合って、切磋琢磨することで、チーム全体が洗練されていくのは理想的だと思う。
田中 そうですね。業務委託メンバーは経験豊富な方が多くて、コードレビューを通じて積極的にフィードバックしてくれます。良いコードの書き方を学べる機会は多いですね。
 
 
ー マネージャーの野田さんは、Filmarksの課題をどう考えていますか?
野田 個人的には、パフォーマンス改善に今後より注力したいと考えています。田中くんとも話しているけど、ライブラリの健全性を保つことも含めて、SRE(Site Reliability Engineering)のチームをつくりたい。そのチームが積極的にパフォーマンス改善に取り組めれば、Webページの表示速度向上など、より良い開発環境を構築できるはず。
田中 ただ、開発案件が優先される中で、そうした取り組みをどう進めるかが課題ですね。
野田 そう。セキュリティやパフォーマンスの業務と開発案件を並行して進めると、管理が難しくなる。開発案件を優先しつつ、これらの業務を遂行するには、明確なチーム体制が必要だなと。そのためには、SREを牽引できるリーダー的な存在の必要性を感じてる。
田中 SREの専門知識を持った人材が加われば、より強い体制を整えられそうですね。
野田 最近はSREの重要性が広く認識されてきているし、経験者が加わると心強い。もちろん、現メンバーから担当者を立てるのも方法のひとつとして考えてるけどね。
田中 エンジニアリング以外の部署の人々に、パフォーマンス改善やセキュリティ対応の重要性を理解してもらうのは難しい部分もありますよね。
野田 その通り。「なぜ今これをやる必要があるのか?」という説明、特にセキュリティ対策は、潜在的なリスクをコストとして伝えるのが難しい。でもこの重要性をきちんと伝えて、エンジニアと他部署がより綿密に連携できれば、サービス全体がさらに盤石になるはず。
田中 今期からは、もしもの時に備えて、エンジニアチームと広報チームの連携が始まったこともその一環ですね。
野田 そうだね。そうした体制が整うことで、開発もさらにスムーズに進むんじゃないかなと期待してる。この記事を読んで興味を持っていただけた方は、ぜひ一度お話ししましょう!
田中 お待ちしています!
 
 

👫 募集中のエンジニア採用情報

以下のWantedly採用記事より、お気軽にお問い合わせください!