用語集
Accessibility
Accessibility (a11y) is the practice of enabling as many people as possible to use the content, even if people have limited abilities. This includes people with disabilities, those using mobile devices, and those with slow network connections. Content should be developed to be as accessible as technology allows.
Android SDK
The 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 資産へのアクセスを制御するメカニズムです。 See the CORS FAQs for more information.
CSS Variables
You may be familiar with variables from Sass. CSS Variables enable the same functionality but are built into the browser. CSS Variables are available in all evergreen browsers.
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 をリロードするツールです。場合によっては、ウィンドウ全体をリロードしなくても、 アプリケーションの一部を置き換えることができます。ライブリロード には実行中の開発サーバーが必要なので、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
A polyfill は、ブラウザに機能を追加し、ブラウザの違いを標準化する少しのコードです。これは shim と似ていますが、 shim に独自の API がある場合には、ブラウザに実装されていることを期待する API として polyfill を使用します。
Protractor
Protractor Angular チームが開発したテストフレームワークです。Protractor は、エンドツーエンドのテストのために、 Karma のようなテストランナーと一緒に使うことができます。テストランナーを使用すると、コードの品質を高速かつプログラム的に検証できます。
Sass
Sass は CSS にコンパイルされるスタイルシート言語で、Ionicで使用されています。 Sass は CSS に似ています: 変数, mixins, and loops.
Scoped Encapsulation
A component that uses scoped encapsulation will automatically scope its CSS by appending each of the styles with a data attribute at run time. Overriding scoped selectors in CSS requires a higher specificity selector. Scoped components can also be styled using CSS Custom Properties.
Shadow DOM
Shadow DOM is a native browser solution for DOM and style encapsulation of a component. It shields the component from its surrounding environment. To externally style internal elements of a Shadow DOM component you must use CSS Custom Properties or CSS Shadow Parts.
Shim
Shim は、ブラウザ間で API を正規化するコードです。 Shim は、エンドユーザーからブラウザ固有の実装を隠すような独自の API を持つことができます。
Transpiler
トランスパイル は、実行前にコードをある言語から別の言語に変換するプロセスです。一般的に、トランスパイルは高級言語を別の高級言語に変換します。 Ionic Framework の最も一般的な トランスパイルは、ES2015/ES6(TypeScript) からES5(従来のJavaScript)への変換です。
TypeScript
TypeScript は JavaScript のスーパーセットであり、 型宣言 and インターフェースなどの多くの機能を追加した JavaScript を提供することを意味します。Ionic は TypeScript で構築されていますが、Ionic アプリの構築において TypeScript の使用は完全にオプショナルです。
Unit Tests
ユニットテストとその実行は、小さなコードをテストして、それらが期待どおりに動作するかどうかを確認する方法です。 ユニットテストのフレームワークには、Jasmine、Mocha、QUnit など、数多く存在します。
Webpack
Webpack は、JavaScript モジュールとその他のアセットを一緒にバンドルします。 これを使用して、必要なときにのみ読み込まれる単一の、または複数の「チャンク」を作成できます。 Webpack を使うと、多くのファイルや依存関係を1つのファイルか、他のタイプにまとめることができます。
Web Standards
The World Wide Web Consortium (W3C) は Web の標準化団体です。業界のリーダーと一般市民が協力して Web 標準を開発します。Web 標準とは、Web プラットフォームを定義するプロトコル、仕様、および技術のセットです。
Xcode
Xcode は Apple 社のオペレーティングシステム(macOS、iOS、watchOS、tvOS) 上でソフトウェア開発を行うための Apple IDE(統合開発環境)であり、 他の言語やプラットフォーム用の拡張機能を備えています。 is an Apple IDE (integrated development environment) for software development on Apple operating systems (macOS, iOS, watchOS and tvOS), with extensions available for other languages and platforms.