subtitle

RaiseTechの各種コースをはじめとしたイロイロな学習の記録

JavaScriptの世界観

この記事では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)。

Three.js

こんなんできるなんてエグイ。


AR.js

AR(拡張現実:Augmented Reality) on the Web

ARの技術が、Webブラウザ上で利用できるライブラリ。(速いらしい)

ちなみに、ARは実際存在する空間(風景)にバーチャルな視覚的情報をオーバーラップさせて表示するもので、ベースは「リアル」。

一方、VR(仮想現実;Virtual Reality)は、仮想空間をよりリアルにスクリーンに表示する技術。ベースは「バーチャル」。

AR.js Documentation


Web Speech API

Webアプリで音声データを扱うためのAPI

Web Speech 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のページで、コンテンツの切り替えを行う技術。

アクションがあるごとに、ページの遷移を行うのではなく、変更箇所の一部のコンテンツを切り替えることで、高速にアプリケーションが動くのが特徴。

ページ遷移が多かったり、一部のコンテンツが切り替わる動作が多いものには向いている。