y.y

yoshihirのプログラマ日記=≡Σ((( つ•̀ω•́)つ

ハイブリッドアプリ(Ionic)の開発を終えて…これから開発を考えている人へ

会社でWebサービスの開発をしていたのですが、人に説明するときにアプリ版が欲しいと言われ、
お試し版として、3週間で選定から開発、リリースまで1人で行いました。

ネイティブアプリとハイブリットアプリで迷ったのですが、 開発期間がなかったのと、お試し版と言われたので、 iOS/Android両方のアプリを同時に作れると巷で言われているハイブリットアプリ(Ionic)で開発をしました。
今回は今後開発を検討している方に向けて、自身が苦労した点を挙げていきたいと思います。

学習コスト

見た目部分はマニュアルを見ながらコードを書けばそれっぽく出来るのですが、 IonicはControllerにAngularを使っているため、がっつりAngularの学習コストがかかりました。
他のハイブリットアプリのフレームワークにも言えることなので、 すでにWebサービスで使った経験があるJSフレームワークを使っているハイブリットアプリのフレームワークを選びましょう。

見た目と動きについて

Web系の人にはBootstrapといえばわかりやすいでしょうか…最初からある程度形が決まっているんですよ、 だから「ここの見た目を変えて」、「こういう動きにしてー」と言われるとかなり厳しいものがあります。 幸い、Ionicはコミュニティが大きく情報量が多かったため、なんとか対応出来ました(全部英語でしたが)。 それでも足りない部分があり、Autocompleteを独自実装したのですが、かなり大変でした。

iOS/Androidの違いについて

私はAndroid版を一通り完成させてから、iOS版の開発を行ったのですが、 見た目が思った通りになっていない箇所が何箇所かありました。 なので全く一緒にはなりません…といっても本当に数カ所なので気にならないレベルですが。

テストについて

iOS/Androidで微妙に違う箇所があるため、結局テストは両端末でやらなければなりません。

どういうものが向いているのか

とてもシンプルな見た目でデフォルトから変更予定がないもの、独自色を出さないものなら良いと思います。
特に見た目についてこだわりがある発注者には、作り始める前に見た目と動きが固定なことを必ず伝えましょう。
と言っても、どんなものができるか伝えるのが大変だと思いますので探しました。
いま出ているアプリだとGameWithの「モンスト 全国マルチ掲示板 & 攻略」は、ハイブリットアプリっぽいです。
なので発注者には、こんな感じの見た目と動きになることを伝えると幸せになれると思います。

感想

私は事前に発注者に無理が出来ないことを伝えていなかったため、地獄を見ました。
相当応用が簡単にならない限り、ハイブリットアプリを作ることはもうなさそうです。
次からは必ずネイティブで作るよう説得していきたいと思います。