https://hackmd.io/0ephzNFASSCOVKpjfcr6xA で、おそらく他にも疑問に持たれる方がいる疑問を書いていただいてるので、記事にして私見やコメントをしておきます。この記事はIonic Advent Calendar 2019の1日目の記事にします。
ionic serve
と ng serve
の違い
Ionic CLIでは、内部的にAngular CLIのコマンドを実行しておりますので、以下のようにコマンド以下に表示されるものが実行されるコマンドです。
sakakibara app % ionic serve
> ng run app:serve --host=localhost --port=8100 # これです
ちなみに、Ionic/Reactだったら npm start
が実行されます。フレームワークやIonicのバージョン間の差分を吸収しながら実行することが目的ですので、Angular CLIのコマンドを打ち慣れていたら、そちらを実行して問題ありません。
Ionicのライフサイクルフック用のinterfaceは無いのかな?
そういうプルリクエストはでています: https://github.com/ionic-team/ionic/pull/18044
個人的にはいずれマージされるとは思うのですが、Angularのライフサイクルのようにimplementsしないとlintエラーがでるようなことは起きないだろうと予測しています。
Ionicではinterfaceの型にprefixとしてIをつける。例:interface IPost {}
完全に著者の好みです。IDEで I
を打つと一覧で候補だしてくれるのが心地よくて・・・。ただ再利用しないinterfaceはserviceの中にそのまま挿入することもありがちなので、prefixつける方がとりまわしいい気がしています。ただ、筆者の好みです。
Ionicのライフサイクルフックが動く詳細な条件は?
Pageコンポーネント、もう少し厳密にいうと ion-app > ion-router-outlet
以下のRouterで定義されているコンポーネントです。ただ、ライフサイクルをinjectableで挿入するプルリクエストがコアチームによってつくられているので、将来的にはもう少し自由がきくようになる可能性が高いです。
Cordovaのスピリチュアルな後継ライブラリ > スピリチュアルとは?
開発意図としては後継ライブラリとして考えてるけど、Cordovaもまだ現行で、またCordovaチームがそう言ったわけでもないので「そういう考え方で開発しています」というニュアンスです。CapacitorはIonic teamによって開発が行われています。
Capacitor NativeとかCapacitor Native for Webとかの謎プロダクトが作られて欲しい
NativeプロジェクトのWeb ViewにCapacitorを使うことができるという噂を聞いたことがあります(未検証)(でもできそう)
クリアテキストのパーミッションとは?
HTTPで通信していると「HTTTPSにしなさい」と怒られるやつです。
https://qiita.com/b_a_a_d_o/items/afa0d83bbffdb5d4f6be
AndroidでCapacitorのライブリロードを使うと、Android的にはローカルファイルではなく、外部の http://localhost:8100
というURLを内部に表示しますのでクリアテキストを有効にしないとエラーがでます。
.toPromise(Promise) このPromiseはなんだろう
Promiseのインスタンス化に使用するconstructor関数なのです。といっても、確か不要だったと思います(明示するためだけに書いてます)
https://rxjs-dev.firebaseapp.com/api/index/class/Observable#toPromise
それでは、また。