(アンギュラー) u Vue.js (ヴュージェイエス) u 特徴 開発元 使⽤⾔語 ライセンス 特徴 React Facebook JavaScript/TypeScript MIT ⼤規模、複雑なアプリに向いている Angular Google TypeScript MIT フルスタックで⼤規模開発に向いている Vue.js Evan You JavaScript/TypeScript MIT シンプルなアプリに向いている
5以前とECMAScript 6(2015年)以降は別物 u jQuery は以前の書き⽅ u 変数の宣⾔で var を使⽤するのは⾮推奨(というかダメ) u 代わりに、const と let を使⽤する u const は定数、let は変数に使⽤。基本は const を使⽤する。 u アロー関数 u 従来の関数 アロー関数 function hello(m) { return "Hello," + m; } const hello = (m) => { return "Hello" + m;}; //省略形 const hello = m => "Hello" + m; ※JavaScript(ECMAScript) の遷移はAppendix参照
の⽂法は TypeScript ですべて使⽤できる u JavaScript を知っていれば TypeScript の習得は⽐較的容易 u TypeScript は今やメジャー⾔語 u マイナー⾔語というイメージは払拭する必要あり u GitHubの統計でアクティブユーザーは2018年で10位。Rubyは11位。(参考⽂献1) u プログラミング⾔語のトレンド u 静的型付け u 型推論 u Null 安全性 u TypeScript はすべて備えている︕
u number, string, boolean, null 等 u 特殊な型 u any ・・・どんな型でも受け⼊れる、JSONなどで使⽤ u 関数定義 function hello(m:string):string { return "Hello," + m; } const hello = (m:string):string => "Hello," + m;
DOM 本体との差分だけを更新することでオーバーヘッドを最⼩にする技術 u DOM 更新時のオーバーヘッドの解消はそれまで⼤変な労⼒を要した u コンポーネント指向 u 独⾃の HTML タグを、Web 標準の技術だけで実現する技術 u 単⽅向データフロー u データは必ず親コンポーネントから⼦コンポーネントに⼀⽅向に流れる u これにより複雑になったフロントエンドに対処している <<DOMツリー>> html ┣ head ┃ ┗ title ┗ body ┗ section ┗ p ┗ text
は JavaScript eXtension で JavaScript の拡張 u あくまでも JavaScript で以下の2つはJSXで同じ意味になる u とは⾔え、JSX は基本的に HTML と同じように記述できる u 独⾃タグを作成することもできる u タグ属性の class -> className, for -> htmlFor は例外 u 変数の記述は以下のようにする u {変数} ・・・これで変数が展開される <h1>Hello,world!</h1> React.createElement("h1", "Hello,world!");
Angular, React, Vue.jsを⽐べてみよう (2018年4⽉) u http://iwasiman.hatenablog.com/entry/2018/04/23/200000 u JavaScript⼊⾨ u http://www.tohoho-web.com/js/what.htm