LoginSignup
2
4

More than 5 years have passed since last update.

node.jsとECMAの変遷とフレームワークのメモ

Last updated at Posted at 2016-12-30

はじめに

完全に個人的なメモです。
概要は覚えてるんだけど、細かいところ(あれ何年だけ?とか)忘れるので。

Node.jsの変遷

  • 2009年03 Node.js誕生

    • API仕様がころころ変化
    • つか、モジュール名すら変化 
    • 初期だし、そんなもんだろうと。
  • 2012年~

    • 初期型が定まった感じ?
    • 個人的には、2011~2014年あたりのnode.jsの記事に出会うことが多い気がする。
  • 2014年  Node.jsプロジェクト分裂。⇒ io.js プロジェクト誕生

  • 2015年01 io.js のv1リリース

    • ここからしばらく、Node.js と io.jsが両立状態(主にio.jsが進化)
  • 2015年09 Node.jsのv4リリース。⇒io.jsとNode.jsプロジェクト統合

  • 2016年04 Node.jsのv6リリース。

Node.js v4は2017年度末までサポート。
Node.js v6は2018年度末までサポート。
⇒LTS(=Long Term Support)版。リリースから2年間サポート。

※最新版は v7 だが、これのサポートは短い。
 次のLTSはv8の見込み。

Node.jsの情報をWebで探すなら、「2016年以降」でフィルタリングするのお勧め。現行のNode.js v4 / v6 で動くコードサンプルとの遭遇率アップで幸せ。
(「2015年9月~」でも「2016年4月~」でも構わないけど)

ECMAScript

JavaScriptの標準規格
「ES」と略されること多数。ES6⇒ECMAScript v6 を意図。

  • 1997年06 ES1 策定
  •  ・・・(中略)・・・
  • 2009年12 ES5 策定
    • 当時のメジャーなブラウザはほぼすべて対応。
    • IE10やIE9も、コレならサポート済み。
      • IE7-8は、ES3までのサポート。
      • (ES4?あぁ、生まれる前に殺された子ですね。←)
    • これで書いておけば、たいていのブラウザ互換は大丈夫
  • 2015年06 ES6 策定
    • ES2015や、ECMA2015などとも呼称される。
    • IE11【以外】のメジャーなブラウザはほぼすべて対応済み。
    • Edge13~、FireFox45~、Chrome50~が対応済み。(たぶん、もう少し前のバージョンから)
    • Node.js は v6~でほぼ対応済み。

Node.jsのフレームワーク

※完全に個人的嗜好/メモでの列挙。

Express

  • MVCフレームワーク
    • MVC=Model View Controller
    • ユーザーへの表示(View)と、ユーザーからのInput(Controller)と、それに対する応答(Mode)を分けて考えよう、ってヤツ。
  • UI込みでクライアント側とサーバー側を設計する際に便利なフレームワーク(らしい)。

Electron

  • クロスプラットフォーム(Windows、Mac(OS X)、Linux等)なデスクトップアプリケーションを作れるフレームワーク。
  • Node.jsとChroniumの組わせでデスクトップアプリ動作を実現。
    • Webブラウザベースで動作するローカルなアプリ、というイメージか?
  • Visual Studio Code」や「Atom」も、これで実装されている。

Mocha

  • UnitTest用テストフレームワーク。
    • シンプルで使いやすい。前提知識なしでもとっつきやすい。
  • 非同期テストももちろん対応。
    • Promiseオブジェクト使うときは、「done()呼び出し」ではなく「Promiseオブジェクトを返却」なので、要注意。
  • Assertライブラリは好きなのを選べる。

Chai

  • Assertライブラリ。
    • Mochaと組み合わせて使っていて、とりあえず不満はない。
    • 構文も分りやすいと思う。

参考にしたサイト様

[どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。]
https://speakerdeck.com/yosuke_furukawa/dousitekounatuta-node-dot-jstoio-dot-jsfalsefen-lie-totong-he-falsexing-fang-korekaradoujin-hua-siteikufalseka

[Node.js 6.0 リリースを機にLTSについて整理してみた]
http://backport.net/blog/2016/05/03/node_js_lts/

[ECMAScript 2015のブラウザ対応状況と実践投入に向けて]
https://html5experts.jp/1000ch/16995/

[Electron 1_0でデスクトップアプリ開発超入門]
http://www.atmarkit.co.jp/ait/articles/1605/18/news017.html

2
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4