Androidアプリのエンジニアになって大切にしていること

SupershipでAndroidアプリのエンジニアをやっている加島です。

もうすぐAndroidアプリの開発をはじめて2年が経つのですが、苦労したことやそれを乗り越えて嬉しかったことがたくさんありました。そこでこの記事ではAndroidアプリのエンジニアになって私が学んだ大切にしていることを少しでも役に立てば、と思い書いておくことにしました。

今はどんなアプリを作っているか

今までの2年間はSunnychatという新規サービスの担当で立ち上げから携ってきました。Sunnychatは動画や写真をシェアして、それをきっかけにスタンプやコメントでコミュニケーションをするアプリです。まだ触ったことない方はぜひストアからダウンロードして触ってみてください。

Google Play / App Store

これまでの2年間でやってきたこと

まだサービスも立ち上がりの時期だったので、半年くらいはコア機能のプロトタイプを素早く形にして手触りを確認するのを繰り返しながら、Androidアプリの開発知識もほとんどなかったので、アプリを作りながら勉強をする日々でした。

そのうち、もう一人Androidアプリエンジニアが入社したので、今はレビューをしながら機能開発を進めるのと並行して、アプリを使いやすいように改善したり、初見でも理解しやすくコードの見通しがよくなるように少しずつ作りに変更を加えたりしています。

そんなこんなの2年間でしたが、その中で学んだ大切にしていることを紹介します。

Androidアプリのエンジニアになって大切にしていること

郷に入っては郷に従う


最近まではマテリアルデザインに合わせていない部分が結構ありました。デザインの部分に関しては、iOSと統一をしたくなったり、機能ごとにレイアウトを相談していた、というのが理由です。


しかし、時間を作ってGoogleが提唱するマテリアルデザインに全面的に準拠するようにしました。結果として、新しい機能を作る時に事前にイメージしやすくなったり、アプリに統一感が出たり、他のアプリと操作性を共有できるのでアプリの体感がすごく良くなったなと思います。


またGoogleが用意してくれているサポートライブラリを使うことで、下位端末の互換を気にする必要がなくなるのですごく助かっています。


今までゲームを作っていたので、ここまできっちりしたフレームワークが用意されていたことが少なく、最初は違和感がありましたが、プラットフォームと密な場合には、まずはプラットフォームの言う通りに作ったほうがいいことが多いと感じました。

あまり無理をしない


当然ですがiOSの端末と比べて、Androidは様々な種類の端末が出荷されています。その中にはメーカー独自でカスタマイズされているものや、OSは同じだけど処理性能が大きく違うものがたくさんあります。今作っているサービスには動画の撮影や再生、画像の表示など、機種や性能に依存するところが多いので安定して一定の端末で動かすために何度も作り変える必要がありました。


そういう経験からあまり無理せず、端末ごとの差異が出ない標準な作りの範囲で工夫ができないかをまず考えるようにしています。当然、それがコアな機能だと時間をかけることが大切だと思うのですが、そのせいでコードが複雑になりアプリが安定しないと継続して開発するのは難しくなってしまいます。


なので、機能を考えるときは、標準の作りを考慮した上でデザイナーと相談しています。デザイナーの方もその辺りの理解があるので相談しやすいです。また他のアプリも同じようなことをしようとして困っているはずなので、そういう時はどうやって実現しているかいるかをよく観察するようにしています。

困ったら調べてよく読む


今までニッチな分野をやっていたというのもあってだと思うのですが、Androidは多くのソースコードが公開されていてすごいなという印象を受けました。またAndroid SDKも公開されていて、Android Studioで簡単なところまではさくっと辿れるので、基本的なことで困ったらまず読めるのがいいなと思います。Androidアプリを作りはじめる前は、何となくですが、なんとか頑張って動かすみたいなイメージだったのですごくギャップを感じました。


アプリのソースコードも最近だとDroidKaigiのアプリが公開されていて、設計や命名規則など見通しが良く読みやすいので設計やライブラリを使うときのすごく参考にさせて頂いています。よく使われているライブラリもほとんどがGitHubにあるので、何かあればソースコードを読んだりIssueで探せるのはすごくいいなと思います。


アプリを作りはじめ頃はソースコードも読みもせずに、ライブラリやAndroidのせいにしているところがすごく多かったのですが、コードを読むようになってほとんど自分の使い方が悪かったので、今は反省してまずは調べて読んでみることを大切にしています。

普段からAndroidを使う


最近になってようやくiOSからAndroidに機種変更したのですが、今まで特に感じていなかった他のAndroidアプリの良い所を実感できるようになりました。その結果、新しい機能を追加しようとした時にイメージがしやすくなったり、作る前に他のアプリを例に出して細かい所まで話せるようになり、手触りにまでこだわれるようになりました。


当たり前ですが、自分で使ってみないとわかりません。昔はiOSもAndroidも大差ないのではないか、と思っていましたが、そもそもの思想の部分が全然違うところもあり、ユーザーとして深く使いこなすのがとても重要だと改めて気づきました。もっとはやく端末を変えていれば良かったなと思います。

おわりに

いかがだったでしょうか。こうして書いてみるとAndroidだからという訳ではないことばかりになってしまいましたが、2年前はこんなことも知らずにアプリを作っていました。やっとAndroidの良さや思想を少しずつ感じれるようになってきているかなと思うのですが、サービスもまだこれからなのでもっとうまく作れるように深く知っていきないなと思います。


さいごに、弊社では積極的に挑戦して最も重要なことに取り組める仲間を募集しています。ご興味がある方はぜひ下にある採用情報をご覧ください。

Supership's job postings
Anonymous
9fb598fe 1684 4714 94fc 2a3a82b6cbec
47ca0687 1c00 460d b57c 0205f7affa3e
Anonymous
0631b3f1 0c07 44eb af13 79cbee69bbc3
Picture?1522982089
19 Like
Anonymous
9fb598fe 1684 4714 94fc 2a3a82b6cbec
47ca0687 1c00 460d b57c 0205f7affa3e
Anonymous
0631b3f1 0c07 44eb af13 79cbee69bbc3
Picture?1522982089
19 Like

Weekly ranking

Show other rankings

Page top icon