【アプリ開発は積小為大 】開発チームは新規機能開発以外で何をしているのか?
小さな積み重ねこそが良きアプリを作る
私がエンジニアになる前は、アプリ開発と聞くと新機能追加や画面一新作業などを真っ先に思い浮かべていました。
ですが、実際業務をやってみるとアプリ開発は、それだけではないことを実感しました。
アプリ開発では、新規開発をスムーズにするために見えないところもしっかりと改良して積み重ねることも非常に重要な工程で、新規開発と同じぐらい大切です。
というわけで今回は、株式会社PHONE APPLI Android アプリチームが新規開発以外で何をしているのかお話しします。
開発チームが行っている新規開発以外のこと
現在開発チームが行なっている新規開発以外の業務は主に以下のものです。
プログラムのリファクタリング
アプリの不具合修正
この2つ以外にも細々とした業務はたくさんありますが、今回はプログラムのリファクタリングにスポットを当ててお話しします。
プログラムのリファクタリング
プログラムのリファクタリングは、アプリの動作を変更せずに中身のプログラムを改良する作業のことを指します。
新規機能開発と違ってアプリの動作や見た目が大きく変わったり、 CM で打ち出せるものではありませんが、新規機能開発と同じぐらい大切なことです。
その大切な理由は後ほど説明いたします。
現在、Android アプリチーム全体で行なっているリファクタリングがあります。
それが Java プログラムから Kotlin プログラムへの置き換えです。
Kotlin とは何か ?
Kotlin とは Android アプリ開発で用いられている Java の後継プログラミング言語で、より簡潔にプログラムが書けるようになっています。
Android アプリだけでなくサーバシステムの開発も可能で、株式会社PHONE APPLI では Android 開発のみならず Web バックエンド開発でも用いられている言語です。
Kotlin に置き換えると何がいいの ?
Kotlin は Java よりもプログラムが書きやすくなると述べましたが、実はプログラムの読み手に回ったときにもとても大きなメリットがあります。
Kotlin に置き換えると、プログラムの行数が減ってプログラムを把握しやすくなります。
すると、プログラムに新規機能を追加したり、機能の変更を行う際のスピードが上がってリリースの安定性が向上することにつながります。
さらに Kotlin には、 入れようとしている値の Null チェックを プログラミングする時点で静的解析をしてくれる機能があります。
これにより、本来 Null が入ってはいけないメソッドや変数に Null が入ってアプリケーションエラーを起こしてアプリが強制終了する危険性が低くなり、より安全性の高いアプリを作ることができます。
また、Android アプリチームではこの移行作業のなかで古いプログラムの見直しも行っています。
古くてもうすぐ効力がなくなってしまうメソッドやライブラリを入れ替えたり、もっと簡略化できそうな記述を発見したりとプログラムの点検もしています。
将来的に新たな開発ツールを導入するためには全体のプログラムに対する Kotlin プログラムの割合を増やす必要があるため、これからも続けていきます。
リファクタリングをサボるとどうなるのか ?
アプリのコードを変えることは、そこから新たなバグを埋め込んでしまう危険性をはらんでいます。
しかも、それによって新たに機能が増えたりしません。
ここまで聞くと、リファクタリングにはあまり意味はないのではないかという声が聞こえてきそうです。
では、それでもリファクタリングをしなければならない理由はなんなのか?
それは、将来の負債を減らすためです。
例えるなら、電線や水道管の入れ替え作業のようなものです。
外から見ると、見た目上は問題ないし水が流せたり明かりがついたりと使えているから大丈夫だろうと思ってしまいがちです。
しかし、放置していると破裂したり、断線したりなどしてライフラインが使えなくなってしまって非常に困ることになります。
アプリの場合は、古くなったメソッドやライブラリなどを使用し続けていると、まず初めにプラットフォーム提供者から非推奨の警告が出されます。
それでも使い続けると、使っていたメソッドやライブラリに効力がなくなりアプリに不具合が生じます。
そして、最終的にお客様からのクレームや解約などにつながり大きな損害を被ってしまいます。
また、古いコードは全般的に複雑なものになっているものが多く、開発者でも理解するのに時間がかかります。
そこに新たな機能を追加しようとしても、既存のプログラム理解と実装に時間を取られてしまうためリリースが遅くなってしまいがちです。
だからこそ、そうなる前に中身を改良していつでも進化できるようにしておくことが重要です。
新しいことへの挑戦
小さな積み重ねに邁進している開発チームですが、それと同時に新たなことへの挑戦も行なっています。
現在私たち Android アプリチームではアプリの画面を Jetpack Compose という新しい UI 開発ツールで作成するために準備を進めている最中です。
このツールを導入することができれば、よりスマートによりモダンでおしゃれなアプリを作ることが可能になります。
プログラムの行数がコンパクトになったり、画面実装まで全て同じ言語でできるようになったりして開発スピードを上げられるキーアイテムでもあるため、可能な限り早い導入を目指しています。
株式会社PHONE APPLI のホームページ 🔍
株式会社PHONE APPLI に興味が出てきたという方は ホームページを確認してみてください。