LoginSignup
6
5

More than 3 years have passed since last update.

Ionic赤本への疑問がすごく鋭かったのでまとめて返事する記事

Last updated at Posted at 2019-11-30

https://hackmd.io/0ephzNFASSCOVKpjfcr6xA で、おそらく他にも疑問に持たれる方がいる疑問を書いていただいてるので、記事にして私見やコメントをしておきます。この記事はIonic Advent Calendar 2019の1日目の記事にします。

ionic serveng 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

それでは、また。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5