用語集
Android SDK
Android SDKは、Google の Android Platform の開発をする開発者向けに作られたソフトウェア開発キットです。Android アプリケーションのビルド、テスト、デバッグ用のツールが含まれています。
Android Studio
Android Studio は、ネイティブ Android アプリ開発のための正式な統合開発環境(IDE)である。
Autoprefixer
Autoprefixer は、ベンダー固有のプレフィックスを手書きの Sass/CSS コードに追加するツールです。これにより、作成する標準化された CSS ルールが、サポートするすべてのブラウザに確実に適用されます。たとえば、autoprefixer を使用すると、さまざまなブラウザで使用されるすべての flexbox 構文を知る必要がなく、display: flex; と記述するだけで済み、かつ自動的に正しくCSSに差し込まれます。
Bundling
バンドルとは、アプリケーションの依存関係(自分で書いたコードと任意にインストールされている npm モジュール)を取得し、コンパイル/トランスパイルすることで一つのファイルに落とし込むプロセスです。
Capacitor
Capacitor は、web ベースのアプリケーションをネイティブの iOS、Android、Electron、web上で実行できるようにするオープンソースのクロスプラットフォームアプリランタイムです。「ネイティブのプログレッシブ Web アプリケーション」を示すこれらのアプリはとても参考になり、それらは従来のハイブリッドアプリの考え方を超えた次の進化を表しています。Capacitor は Ionic 社によって作られ、活発に開発/サポートされています。
CLI
CLI、または Command-Line Interface はプログラムと互いに作用し合う、テキストベースのインターフェースです。Mac ユーザの共通のコマンドラインアプリケーションは Terminal アプリケーションであり、Windows ユーザによく使われるものはコマンドプロンプトです。Ionic コミュニティでよく使われるものは、次に示すこの Ionic's CLI というターミナルです。Ionic's CLI は、アプリケーションのプロダクションビルドの生成や、開発用のサーバーの起動、Ionic の商用サービスへのアクセスなど、様々なことに使われています。
CommonJS
CommonJS は JavaScript の標準化団体が定義した API の集合です。彼らは JavaScript のモジュールとパッケージの標準を定義しました。
Cordova
Apache Cordova は、標準の HTML/CSS/JS を本格的なネイティブアプリケーションに変換する、オープンソースのモバイルアプリケーション開発用フレームワークです。実機のカメラや加速度計などのネイティブの機能にアクセスする JavaScript API を提供します。Cordova は、ウェブアプリケーションを iOS、Android、Windows Phone にパッケージングするために必要なビルドツールを含みます。
CORS
CORS (Cross-Origin Resource Sharing) は、サーバがクライアントから Web 資産へのアクセスを制御するメカニズムです。
Decorators
デコレータは、関数を返す式です。既存の関数を使用して、その動作を拡張できます。TypeScript では、クラス や パラメータ を装飾することもできます。クラス を装飾すると、そのコンストラクタの動作がラップおよび拡張されます。つまり、デコレータはコンストラクタが呼び出されるといくつかの機能を追加し、独自のコンストラクタを返します。パラメータ を修飾すると、そのパラメータに渡される引数がラップされます。デコレータは、引数がメソッドに渡されると機能を追加し、独自の引数を返します。
ES5
ES5 とは EcmaScript 5th Edition のことです。簡単に言えば、ES5 は今日開発者が最もよく知っている JavaScript のバージョンのことです。
ES2015/ES6
このバージョンの JavaScript には、クラス、モジュール、イテレーター、Promise など、広範囲の新機能が導入されています。Evergreen のブラウザ(Chrome、Safari、Firefox、Edge)は ES6 を完全にサポートしていますが、古いブラウザで ES6 の機能を使うには、Babel や TypeScript のようなツールが ES6 のコードを ES5 に変換する必要があります。
ES2016/ES7
このバージョンの JavaScript は、Array.includes や指数演算子を含む多くの新機能を言語に追加した。このバージョンのJavaScriptは、すべてのEvergreen のブラウザ(Chrome、Safari、Firefox、Edge)で完全にサポートされています。
ES2017/ES8
このバージョンの JavaScript は最新の標準です。これは新しい公式規格になる前の最終段階にある。この仕様には、Async/Await(既に全ての Evergreen のブラウザ上で可)と共有メモリ/アトミックが含まれています。
Genymotion
Genymotion はサードパーティーの Android エミュレータです。非常に高速で、Android 上でアプリを素早くテストするのに便利だ。詳しくは、Genymotion のリソースのセクションを参照してください。
Git
Git は、コードを管理するための分散バージョン管理システムです。これにより、開発チームはコードの競合を引き起こすことなく、同じプロジェクトのコードに貢献できます。
Gulp
Gulp は、アプリケーションをビルドするためのタスクを実行するために使用されるツールです。一般的なビルドタスクには、ES6 から ES5 への変換、Sass の CSSへの変換、コードの縮小、ファイルの連結などがあります。
ES Modules
ES Modules はモジュールの概念を JavaScript にそのまま持ち込んだものになります。モジュールでは、クラスと変数はグローバルスコープ内にないため、使用するには明示的にプロジェクトにインポートする必要があります。これにより、コードがどこから来ているのかを理解しやすくなり、機能のモジュール化と区分化が進みます。
Ionicons
Ionicons は Ionic社によって作成・利用されているオープンソースのアイコンのセットです。1:1 で iOS とマテリアルデザインのアイコンと、よく使われるソーシャル/アプリケーションのアイコンを含みます。Ionicons はデフォルトで Ionic ディストリビューションに含まれますが、任意のプロジェクトでも使うことが出来ます。
Karma
Karma は、実際にブラウザ上でアプリケーションのテストを実行するテストランナーです。任意のテストフレームワークで書かれたテストケースを、実際にブラウザで実行します。Karma はもともと Angular 1 用に書かれたものです。
Module
JavaScript のモジュールは、小さく独立しており、再利用可能なピースか互いに分離したコードであり、グローバルスコープです。
Monorepo
A monorepo 複数のプロジェクトを持つ単一のgit リポジトリです。利点としては、よりシンプルな構成、ツールと依存関係の共有、チームメイトとのより良いコラボレーションが挙げられます。
Live Reload
Live Reload (or live-reload) は、アプリケーションの変更を検出すると、自動的にブラウザまたは をリロードするツールです。場合によっては、ウィンドウ全体をリロードしなくても、アプリケーションの一部を置き換えることができます。ライブリロード には実行中の開発サーバーが必要なので、Web View にはデプロイされたファイルを単に読むのではなく、URLをロードする必要があるため、別のデバイスでライブリロードを使用するのは難しいかもしれません。 詳しくは Live Reload docs を御覧ください。
Node
Node は、サーバサイドで JavaScript を書くことができるランタイム環境です。加えて、Node は Web サービスに使用されるだけでなく、Ionic CLIなどの開発者ツールの構築にもよく使用されます。
npm
npm は node のパッケージマネージャです。これにより、開発者はノードモジュールをインストール、共有、およびパッケージ化できます。Ionic は npm からいくつかの依存関係と一緒にインストールすることができます。
Observable
Observable はイベントを発生(または通知)させるオブジェクトです。オブザーバは、これらのイベントを監視し、イベントが受信されたときに何かを実行するオブジェクトです。これらが一緒になって、非同期プログラミングに使用できるパターンを作成します。
Package ID
Apple 社が Bundle ID と呼び、Android 社が Application ID と呼ぶ Package ID は、App Store/Play Store に公開されたアプリを識別するために使用されます。これは逆 DNS 表記でフォーマットされた文字列です。
Polyfill
polyfill は、ブラウザに機能を追加し、ブラウザの違いを標準化する少しのコードです。これは shim と似ていますが、shim に独自の API がある場合には、ブラウザに実装されていることを期待する API として polyfill を使用します。
Protractor
Protractor Angular チームが開発したテストフレームワークです。Protractor は、エンドツーエンドのテストのために、Karma のようなテストランナーと一緒に使うことができます。テストランナーを使用すると、コードの品質を高速かつプログラム的に検証できます。
CSS Variables
Sass の変数に慣れているかもしれません。CSS 変数は機能の共通化を可能にしますが、ブラウザに組み込まれています。CSS 変数は、すべての evergreen なブラウザで使用できます。
Sass
Sass は CSS にコンパイルされるスタイルシート言語で、Ionicで使用されています。Sass は CSS に似ていますが、変数、ミックスイン、ループなどの追加機能があります。
Shim
Shim は、ブラウザ間で API を正規化するコードです。Shim は、エンドユーザーからブラウザ固有の実装を隠すような独自の API を持つことができます。
Transpiler
トランスパイル は、実行前にコードをある言語から別の言語に変換するプロセスです。一般的に、トランスパイルは高級言語を別の高級言語に変換します。Ionic Framework の最も一般的なトランスパイルは、ES2015/ES6(TypeScript) から ES5(従来のJavaScript)への変換です。
TypeScript
TypeScript は JavaScript のスーパーセットであり、型宣言やインターフェースなどの多くの機能を追加した JavaScript を提供することを意味します。Ionic は TypeScript で構築されていますが、Ionic アプリの構築において TypeScript の使用は完全にオプショナルです。
Unit Tests
ユニットテストとその実行は、小さなコードをテストして、それらが期待どおりに動作するかどうかを確認する方法です。ユニットテストのフレームワークには、Jasmine、Mocha、QUnit など、数多く存在します。
Webpack
Webpack は、JavaScript モジュールとその他のアセットを一緒にバンドルします。これを使用して、必要なときにのみ読み込まれる単一の、または複数の「チャンク」を作成できます。Webpack を使うと、多くのファイルや依存関係を1つのファイルか、他のタイプにまとめることができます。
Web Standards
World Wide Web Consortium (W3C) は Web の標準化団体です。業界のリーダーと一般市民が協力して Web 標準を開発します。Web 標準とは、Web プラットフォームを定義するプロトコル、仕様、および技術のセットです。
Xcode
Xcode は Apple 社のオペレーティングシステム(macOS、iOS、watchOS、tvOS) 上で ソフトウェア開発を行うための Apple IDE(統合開発環境)であり、 他の言語やプラットフォーム用の 拡張機能を備えています。

