一先ずios版のリリースまで漕ぎ着けたので反省と雑感。
バージョンを確認する
ionic-cli とionic本体のバージョンは別物です。
ionic --version
という何気ないコマンドで返ってくるのはionic-cliのバージョンです。
ionic4だと思ってしばらく開発を進めていたのですが実はionic3という事態で、ドキュメント(ionic4の)通りに実装しても動かない事が多々あり、ドキュメント適当すぎるだろ!と思っていたら馬鹿は自分でした。
正しくは ionic info
でバージョンを確認することが出来ます
一旦tslintを切る
ionic-cliでrun
やemulate
を行うと、自動的にtslintがソースをチェックをしてくれます。
くれるんですが、えらい時間が掛かります。
package.jsonの中に以下の設定を追加するとtslintが走りません。
"config": {
"ionic_enable_lint": false
},
Cordovaを使う機能は後回しに
開発を始めた当初は ionic serve
コマンドを使い、ブラウザでリアルタイムに確認していたのですが
googlemap用のプラグインをインポートしたところ、ionic serve is not supported という事で表示が出来なくなりました。
そんなものかと ionic cordova run browser
で開発を続けたんですが、圧倒的に ionic serve
の方が早です。
今やり直すならcordova使うプラグインの実装は後回しにします。
xcodeを思ったより使う
リリースまでの全てをionicで完結出来る訳ではない事はなんとなく想像していましたが思っていたよりxcodeが開きっぱなしです。
ionic cordova run ios
で出てくるエラーとはionic上で戦わず、早々にxcodeを開いて対処した方が解決が早いです。
スペックがものを言う
アプリ開発にionicを選ぶという事は、Webエンジニアでスクリプト言語に慣れ親しんでいるみたいなタイプの人が多いのだと思います。
自分もそうなのですが、そうなると普段のWeb開発にさほどマシンスペックを必要としていません。
なんですが、ビルドが存在する世界線に入るとスペックの違いが露骨に出ます、数秒の差が積み重なって中々のストレスです。
いま新しいMacBookProを買うなら6コアか8コアを選びます。
学習コストはそれほど高くない
AngularやReactなど選択するプラットフォームでの開発経験があれば改めて勉強しないといけない内容は然程ないと思います。
完成後が面倒
DeveloperAcountの登録やAppSroreConnectでの作業、xcode通してのアップロードなど、Appstoreに関わる雑務が諸々あります。
会社の情報登録したりDUNSNumber発行したり、2FA様に一台端末用意して管理方法決めたり。
自分で行った一連の作業を再現出来る気がしません。
スクリーンショットや紹介文など用意しないといけないコンテンツも多く、開発以外の部分で結構な面倒を感じました。
気軽に始めてしまったのですが必要な能力も別物なので、エンジニアは開発に専念した方が幸せかもしれません。
Slackチャンネル
日本語のチャンネルがあって情報が集まっています。
https://ionic-jp.herokuapp.com/
結論
今後もionicで開発を進めていこうと思います。