用語集
アクセシビリティ
アクセシビリティ(a11y)とは、能力に制限のある人であっても、できるだけ多くの人がコンテンツを利用できるようにする実践のことです。これには障害を持つ人、モバイルデバイスを使用する人、ネットワーク接続が遅い人が含まれます。コンテンツは、可能な限り技術が許す範囲でアクセス可能に開発されるべきです。
Android SDK
Android SDKは、GoogleのAndroidプラットフォーム向けに開発する開発者のために構築されたソフトウェア開発キットです。これには、Androidアプリケーションの構築、テスト、デバッグのためのツールが含まれます。
Android Studio
Android Studioは、ネイティブAndroidアプリ開発の公式統合開発環境(IDE)です。
Autoprefixer
Autoprefixerは、手書きのSass/CSSコードにベンダー固有のプレフィックスを追加するツールです。これにより、あなたが書いた標準化されたCSSルールがすべての対応ブラウザで適用されることが保証されます。たとえば、さまざまなブラウザで使用されるすべてのフレックスボックスの構文を覚える代わりに、Autoprefixerを使えば単にdisplay: flex;と書くだけで、自動的に正しいCSSが挿入されます。
バンドリング
バンドリングとは、アプリの依存関係(あなたが書いたコードやインストールしたnpmモジュール)を一つのファイルにコンパイル/トランスパイルするプロセスです。
Capacitor
Capacitorは、WebベースのアプリをiOS、Android、Electron、Web上でネイティブに実行できるオープンソースのクロスプラットフォームアプリランタイムです。これらのアプリを「ネイティブプログレッシブWebアプリ」と呼ぶと便利で、従来のハイブリッドアプリの考え方を超えた次の進化を表しています。CapacitorはIonic社によって作成され、現在も開発およびサポートが行われています。
CLI
CLI、またはCommand-Line Interfaceは、 プログラムと対話するためのテキストベースのインターフェースです。Macユーザーに一般的なコマンドラインアプリはTerminalアプリであり、WindowsユーザーはしばしばCommand Promptを使用します。Ionicコミュニティでは、この用語はIonicのCLIを指すことがよくあります。IonicのCLIは、アプリの本番ビルドの作成、開発サーバーの実行、Ionic商用サービスへのアクセスなど、さまざまなことに使用できます。
CommonJS
CommonJSは、JavaScriptのAPIの標準フォーマットを定義するグループです。JavaScriptモジュールおよびパッケージの標準を定義しています。
Cordova
Apache Cordovaは、標準のHTML/CSS/JSを本格的なネイティブアプリに変換するオープンソースのモバイルアプリケーション開発フレームワークです。カメラや加速度計などのネイティブデバイス機能にアクセスするためのJavaScript APIを提供します。Cordovaには、iOS、Android、およびWindows Phone用にウェブアプリをパッケージ化するための必要なビルドツールが含まれています。
CORS
CORS (クロスオリジンリソース共有)は、サーバーがクライアントのウェブ資産へのアクセスを制御するための仕組みです。詳細はCORSよくある質問をご覧ください。
CSS変数
あなたはSassの変数に馴染みがあるかもしれません。 CSS変数は同じ機能を提供しますが、ブラウザに組み込まれています。CSS変数はすべての最新ブラウザで利用可能です。
デコレーター
デコレーターは、関数を返す式です。既存の関数を取り、その挙動を拡張することができます。TypeScriptでは、クラスやパラメーターもデコレーションできます。 クラスをデコレーションすると、そのコンストラクターの挙動をラップして拡張します。言い換えれば、デコレーターはコンストラクターが呼ばれた際に機能を追加し、元のコンストラクターを返します。 パラメーターをデコレーションすると、そのパラメーターに渡される引数をラップします。デコレーターは、メソッドに引数が渡された際に機能を追加し、元の引数を返します。
ES5
ES5はEcmaScriptの第5版を指します。簡単に言えば、ES5は今日の開発者が最もよく知っているJavaScriptのバージョンです。
ES2015/ES6
このバージョンのJavaScriptでは、クラス、モジュール、イテレーター、プロミスなど、幅広い新機能が導入されました。エバーグリーンブラウザ(Chrome、Safari、Firefox、Edge)はES6を完全にサポートしていますが、古いブラウザでES6の機能を使用するには、BabelやTypeScriptなどのツールでES6のコードをES5にトランスパイルする必要があります。
ES2016/ES7
このバージョンの JavaScript では、Array.includes や指数演算子など、多数の新機能が言語に追加されました。このバージョンの JavaScript は、すべてのエバーグリーンブラウザ(Chrome、Safari、Firefox、Edge)で完全にサポートされています。
ES2017/ES8
このバージョンのJavaScriptは最新の標準です。現在、新しい公式標準になる前の最終段階にあります。この仕様には、Async/Await(すでにすべての最新ブラウザで使用可能)と共有メモリ/アトミクスが含まれています。
Genymotion
Genymotionはサードパーティ製のAndroidエミュレーターです。非常に高速で、Android上でアプリを素早くテストするのに役立ちます。 Genymotionに関する詳細情報は、リソースセクションをご覧ください。
Git
Gitはコードを管理するための分散型バージョン管理システムです。 これにより、開発チームは同じプロジェクトにコードを追加しても、コードの競合を引き起こすことなく作業できます。
Gulp
Gulpは、アプリをビルドするためのタスクを実行するツールです。 一般的なビルドタスクには、ES6をES5に変換すること、SassをCSSに変換すること、コードの最小化、ファイルの結合などがあります。
ES Modules
ES Modulesは、JavaScriptにネイティブでモジュールの概念をもたらします。 モジュールを使用すると、クラスや変数はもはやグローバルスコープではなく、プロジェクト内で使用するには明示的にインポートする必要があります。 これにより、コードの出どころを理解しやすくなり、機能のモジュール化および分離が向上します。
Ionicons
Ionicons は、Ionic によって作成および使用されるオープンソースのアイコンセットです。これには、1:1 の iOS アイコンと Material Design アイコン、さらに一般的に使用されるソーシャル/アプリケーションアイコンが含まれます。Ionicons は Ionic の配布版にデフォルトで含まれていますが、任意のプロジェクトでも使用できます。
Karma
Karma は、アプリのテストを実際のブラウザ内で実行するテストランナーです。任意のテストフレームワークで書かれたテストケースを実際のブラウザで実行します。Karma はもともと Angular 1 用に書かれました。
モジュール
JavaScript のモジュールは、小さく独立して再利用可能なコードの断片で、互いに隔離されており、グローバルスコープからも独立しています。
モノレポ
モノレポ は、複数のプロジェクトを含む単一の git リポジトリです。利点には、組織の簡素化、ツールや依存関係の共有、チームメンバーとの協力の向上などがあります。
ライブリロード
ライブリロード(または live-reload)は、アプリの変更を検出すると自動的にブラウザや Webビューをリロードするツールです。場合によっては、ウィンドウ全体をリロードせずに アプリの一部を置き換えることもできます。詳細はライブリロードのドキュメントを参照してください。
Node
Node は、サーバーサイドで JavaScript を書くことを可能にするランタイム環境です。ウェブサービスで使用されることに加えて、node は開発者ツールの構築にもよく使用されます。例えば Ionic CLI のようなものです。
npm
npmはnodeのパッケージマネージャーです。 これにより、開発者はノードモジュールをインストール、共有、パッケージ化することができます。Ionicはnpmでインストールでき、その依存関係のいくつかも一緒にインストール可能です。
オブザーバブル
オブザーバブルはイベント(または通知)を発行するオブジェクトです。オブザーバーはこれらのイベントを受け取るオブジェクトで、イベントを受信したときに何かを行います。一緒に使用すると、非同期プログラミングに利用できるパターンが作られます。
パッケージID
AppleではバンドルID、AndroidではアプリケーションIDと呼ばれるパッケージIDは、App Store/Play Storeに公開されるアプリの識別に使用されます。これはリバースDNS表記でフォーマットされた文字列です。
ポリフィル
ポリフィルは、ブラウザに機能を追加し、ブラウザ間の違いを統一するコードのことです。これはシムに似ていますが、シムは独自のAPIを持つのに対し、ポリフィルはブラウザが提供する期待されるAPIを使用できるようにします。
プロトラクター
プロトラクターはAngularチームによって書かれたテストフレームワークです。プロトラクターはKarmaなどのテストランナーと組み合わせて、エンドツーエンドテストに使用できます。テストランナーを使うことで、コードの品質を迅速かつプログラム的に検証できます。
Sass
SassはCSSにコンパイルされ、Ionicで使用されるスタイルシート言語です。SassはCSSのようなものですが、次のような追加機能があります:変数、 ミックスイン、および ループ。
Scoped Encapsulation(スコープ付きカプセル化)
スコープ付きカプセル化を使用するコンポーネントは、実行時に各スタイルにデータ属性を付加することで自動的にCSSのスコープを設定します。CSSでスコープ付きセレクタを上書きするにはより高い特異性のセレクタが必要です。スコープ付きコンポーネントはCSSカスタムプロパティを使ってスタイリングすることもできます。
シャドウDOM
シャドウDOM は、コンポーネントのDOMおよびスタイルのカプセル化のためのネイティブブラウザソリューションです。コンポーネントを周囲の環境から遮蔽します。シャドウDOMコンポーネントの内部要素を外部からスタイルするには、 CSSカスタムプロパティ または CSSシャドウパーツ を使用する必要があります。
シム
シムは、ブラウザ間のAPIを標準化するコードのことです。シムは、エンドユーザーからブラウザ固有の実装を隠す独自のAPIを持つことができます。
トランスパイラ
トランスパイルとは、コードを実行前にある言語から別の言語に変換するプロセスのことです。通常、トランスパイラは高水準言語から別の高水準言語に変換します。Ionic Frameworkで最も一般的なトランスパイルの種類は、ES2015/ES6(TypeScript)を ES5(従来のJavaScript)に変換することです。
TypeScript
TypeScript は JavaScript のスーパーセットであり、これは JavaScript に加えて次のような多くの追加機能を提供することを意味します: 型宣言 および インターフェース。 Ionic は TypeScript で構築されていますが、Ionic アプリを作成する際に TypeScript を使用するかどうかは完全に任意です。
ユニットテスト
ユニットテストおよびユニットテストは、小さなコードの部分が期待通りに動作するかどうかを確認する方法です。ユニットテスト フレームワークには Jasmine、Mocha、QUnit、その他多くがあります。
Webpack
Webpack は JavaScript モジュールおよびその他のアセットをまとめます。 必要な時にのみ読み込まれる単一または複数の「チャンク」を作成するために使用できます。Webpack は、多数のファイルや依存関係をまとめて 1 つのファイルまたはその他の種類にバンドルするために使用できます。
ウェブ標準
ワールド・ワイド・ウェブ・コンソーシアム(W3C)は、ウェブの標準化団体です。業界のリーダーと一般の人々が一緒に協力し、ウェブ標準を開発します。ウェブ標準とは、ウェブプラットフォームを定義する一連のプロトコル、仕様、および技術のことです。
Xcode
Xcodeは、Appleのオペレーティングシステム(macOS、iOS、watchOS、tvOS)向けソフトウェア開発用のAppleの統合開発環境(IDE)であり、他の言語やプラットフォーム向けの拡張も利用可能です。