この記事ではJavaScriptに関するイロイロを少しだけ拾っていく。
RaiseTechの2回目の授業で、JavaScriptの概要を学習したが、まずは知らない用語だらけだったので、言葉の字面だけ理解で終わっているものについて、ほんの少しだけその世界をのぞいてみることにする。
あとで時間があるときに、少しずつ細かく調べていくための、ToDoリストとして利用。
JavaScriptとは?
何はともあれ、ここでもWiki先生にご登場いただく。
JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。
利用される場面はWebサイト・Webアプリ・バックエンド・デスクトップアプリ・モバイルアプリなど、ブラウザからサーバ、デスクトップからスマートフォンまで多岐にわたっている。
Javaと似た名称を持つが、異なるプログラミング言語である
言語としての特徴は、
- 手続き型(ifとかforとか)
- オブジェクト指向
- 関数型
- インタープリター型(軽量、just-in-time compiling)
- 非同期処理
- 並列処理
CodeSandbox
Webブラウザで利用する統合開発環境。JavaScript(Node.js)が使用できる。
Webエディタとして使うのにもとても便利らしい。
CodeSadboxのページからインストールできるので、後で試してみる。
すごくわかりやすそうだったので、下記の記事を参考にして別途学習予定。
参考サイト
DOM
Document Object Modelの略。
HTML/XMLのためのプログラミングインターフェース。
プログラム側から、HTMLやXMLの内容を変更することができる。
例えば、HTMLは階層構造になっており、エレメントやタグといった各要素(ノードと言う)を持つ。
JavaScriptから、タグにつけたIDを指定することで、ノードを取得して、色やサイズを変更したりできる。
参考サイト
JavaScriptライブラリ
Three.js
Webブラウザ上で3Dグラフィックを描画する軽量なJavaScriptライブラリ(WebGL:Web Graphics Library)。
こんなんできるなんてエグイ。
AR.js
AR(拡張現実:Augmented Reality) on the Web
ARの技術が、Webブラウザ上で利用できるライブラリ。(速いらしい)
ちなみに、ARは実際存在する空間(風景)にバーチャルな視覚的情報をオーバーラップさせて表示するもので、ベースは「リアル」。
一方、VR(仮想現実;Virtual Reality)は、仮想空間をよりリアルにスクリーンに表示する技術。ベースは「バーチャル」。
Web Speech API
Webアプリで音声データを扱うためのAPI
は~。なんかイロイロあるなぁ。
ReactとReactNative
ReactとReactNativeは似て非なるもの。
どちらもWebアプリケーションやモバイルアプリケーションの開発に使われて、JavaScriptを使用しているし、Webやモバイルのインターフェースを構築する技術。
が、開発対象がちょっと違うので、そのあたりの違いが下記の特徴に表れている。
React
- Webアプリケーションのインターフェースを構築するためのJavaScriptライブラリ
- 特定のプラットフォームに依存しない
- HTMLタグが使用される
React Native
- クロスプラットフォームのモバイルアプリケーション開発のインターフェースを構築するためのJavaScriptフレームワーク
- 特定のプラットフォーム固有のコードがある
- HTMLタグは使用されない
Webアプリとネイティブアプリ
Webアプリという言葉はよく聞いていたが、ネイティブアプリという言葉は、RaiseTechのReactのコースの授業で初めて耳にした。
アプリのダウンロードが不要で、Webブラウザ上でそのまま動くアプリのことを「Webアプリ」、Appleストア(だけじゃないけど)などから、アプリをダウンロードして、スマホ等の端末にインストールして使うアプリを、「ネイティブアプリ」というらしい。
SPA
Single Page Applicationの略。
1つのHTMLのページで、コンテンツの切り替えを行う技術。
アクションがあるごとに、ページの遷移を行うのではなく、変更箇所の一部のコンテンツを切り替えることで、高速にアプリケーションが動くのが特徴。
ページ遷移が多かったり、一部のコンテンツが切り替わる動作が多いものには向いている。