こんにちは、名古屋スタジオでアプリエンジニアをしている坂口です。
今回は運営中のアプリに、とあるSDKを導入した時の話をしたいと思います。
はじめに
アプリの運営を続けていくには、常にアプリをバージョンアップして行かなければなりません。
新しい機能を追加したり、データの更新に合わせて機能を変更したりするのですが、
その機能を使用するにあたってSDKの組み込みをしないといけない場合もあります。
今回、そのSDKを導入することで、今後の施策や対策などに役立てることができるということだったので、早速組み込みを行いました…
…
……
…………
が、これがめちゃくちゃ時間が掛かったという話をしたいと思います。
(SDKの内容の話は一切無いので、予めご了承ください)
なぜこんなに時間が掛かってしまったのか、その要因を思い返してみました。
時間が掛かった要因その1
普段はXcodeを使用してiOSベースで開発を行っているのですが、
運営中のアプリはAndroid版もありますので、その対応も必要でした。
普段はAndroidのビルドは別のビルドマシンで自動で行われるようになっており、
自分のPCにはAndroidのビルド環境が整っていませんでした。
Androidのビルドを行うにはAndroidStudioを使用するのですが、
まずこれらの環境設定をすることになりました。
最初はただインストールするだけで行けると思ったのですが、思った以上にビルドが通らず、
ビルドが通るPCの設定と比較をしながら環境を合わせていきました。
時間が掛かった要因その2
AndroidStudioで開発することが殆ど無いまま今まで業務を行ってきたので、AndroidStudioの知識はほぼ無い状態からのスタートでした。
触れば触るほど解らないことが発生し、その度に開発チームの仲間に教えてもらいながら作業をする感じになりました。
最初は一人で解決しようと奮闘していたのですが、これも時間の掛かる要因だなと思い、解らない事があったらとりあえず聞いてみるという事も大事だなと思いました。
最近になってリモートワークが根付いてきましたが、状況に応じて仲間と日程を合わせてオフィスに出社して作業を進めることもありました。
時間が掛かった要因その3
実のところ、このSDKとは別に同じようなSDKを既にアプリには導入していました。
今回はこの既存SDKも継続して利用できるようにして両方動作するようにしてほしいという要望でした。
作業を進めていくと案の定、組み込み部分が被っていたりして色々と問題が発生してしまいました。
時間が掛かった要因その4
長い間運営をしているとやはりソースコードは膨大になっており、ソースコードが膨大ということはビルド時間も相当に掛かるということです。
今回はこれが一番のネックになり、組み込み時間よりもビルド時間の方が多く掛かってしまっていました。
後半になって思ったのが、SDKの組み込みに関してはアプリ内のソースコードと直結はしていないので、アプリ内のソースコードをビルドしない環境を用意した上で作業を進めれば時間を短縮できたかもしれません。
とはいえ、その環境を用意するコストも不明瞭だったので、事前にそういうことも意識した環境作りが大事なのかもしれません。
まとめ
導入したSDKの内容に関してはシンプルでしたし、開発ガイドもあった為、手順通りに進めればそう大きな問題は起こらないだろうと思っていました。
しかし、今回のように事前準備が足りなかったり、長い間運営している状態での導入だったりすると、躓いてしまう点が多く発生してしまいました。
開発状況によって、それぞれ問題は違ってくるとは思いますが、
SDKを導入する方はこれらの要因を事前に想定していただければと思い、
この記事を書かせていただきましたので、少しでも参考になれば幸いです。