【IT】Node.js 10がリリース、N-APIが安定化しV8非依存に

スポンサーリンク

nodejs-logo

1: ノチラ ★ 2018/05/06(日) 22:27:55.59 ID:CAP_USER
Node.jsの最新バージョンとなるNode.js 10がリリースされました。

Node.jsは12カ月ごとに偶数バージョンの長期サポート対象リリース(LTS:Long Term Support)が登場することになっており、今回リリースされたNode.js 10も半年後の10月から2年半、長期サポート対象のバージョンとなります。
と同時にこの4月末で、2年半前に登場したNode.js 4.xの長期サポートが終了(EOL:End-of-Life)しました。
2015年9月に最初のリリースが登場し、10月から長期サポートに入ったNode.js 4.x(コード名Argon)は、Node.jsの開発者たちが分裂してNode.jsとio.jsの2つに分かれた後に再び両者が統合し、統一組織であるNode Foundationを結成して初めてリリースされたLTSです。
Node.js、初のLong Term Support対象となる「Node.js 4.2」コード名“Argon”がリリース。リリースから2年半はメンテナンス - Publickey
あれから2年半が過ぎ、Node.jsははじめて長期サポートのサイクルを1つ回したことになります。
Node.jsはAWS Lambdaのようなサーバレスコンピューティングの基盤としても使われ、アプリケーションのインフラとして重要なソフトウェアと見なされるようになりました。そのNode.jsが無事に長期サポートサイクルを1つ回したことで、このソフトウェアに対する信頼もまた高まったと言えるのではないでしょうか。
Node.js APIが正式版となり、JavaScriptエンジンが入れ替え可能に

Node.js 10の最大の特徴は、これまで実験的実装だったNode.js API(N-API)が正式サポートとなったことです。Node.jsはJavaScriptエンジンとしてV8を採用し、V8に依存した実装になっていました。これをAPIを策定することで切り離し、JavaScriptエンジンをプラガブルにしたのがN-APIです。
これによってV8がメジャーバージョンアップしたとしてもNode.js側で再コンパイルなどをすることなく組み込むことができるようになっただけでなく、V8以外のJavaScriptエンジン、例えばマイクロソフトが開発しているChakraCoreなども利用できるようになります。
実際に実験的なリリースとしてNode.jsのJavaScriptエンジンにChackraCoreを組み込んだNode-ChackraCoreリリースが公開されています。
ChackraCoreリリースでは、実行時の情報を記録し、アプリケーションがクラッシュなどのエラーを起こしたときに記録を基に何が起きたかを再現しつつVisual Studioの拡張機能を用いてデバッグできるTime-Travel Debuggingなどが可能になっています。
https://www.publickey1.jp/blog/18/nodejs_10n-apiv82ltsnodejs_4xeol.html

110: 名刺は切らしておりまして 2018/05/07(月) 17:31:52.82 ID:PeVkyrZI
>>1
これが日本語か? 
IT野郎は、これを理解できるのか?

111: 名刺は切らしておりまして 2018/05/07(月) 18:32:41.17 ID:eIAsONGf
>>110
理解出来なくても理解した振りをして講釈たれる偉そうなゴミがジャップさ。
ムカつくだろ?見つけたら揶揄っていいんだぜ。
LTSってのは
例えばうぶんつ(linuxをwindowsっぽく扱えるようにしたやつの1つ)とかだとバグレポートを収集していっちゃん安定してるだろうバージョンを時期を決めて出す。
それまでユーザーは偶に動かなかったりエラー出したりする非安定版を使うんや。
でnodejsってのはjavascriptでサーバサイドを扱えるようにしたフレームワークで最近あちこちで流行ってるんや。
ちょっと前までそのコア部分をグーグルが作ったv8ってjavascriptのエンジンに頼ってたけど他も使えるようにしたるでって話や。ブラウザ毎にjavascriptエンジンはあるんやで。
火狐はシーザーモンキー。ieは知らん

4: 名刺は切らしておりまして 2018/05/06(日) 22:37:52.49 ID:eji9d2m7
アプリ化して実行速度がそこそこあれば普通に顧客相手にでも広がっていくのかね
ウェブ屋さんも仕事減ってるからJS程度ならいつでも書けるだろうし、時代の流れにも
合ってるだろうけど

5: 名刺は切らしておりまして 2018/05/06(日) 22:39:30.68 ID:eji9d2m7
スマホアプリもウェブキットでクロスプラットフォーム化してるけど、逆にネイティブ書けずに
実力つかない人間が増えるってのは業界の流れとしては良くないんだけど

44: 名刺は切らしておりまして 2018/05/07(月) 01:10:35.80 ID:WlNOi+7N
>>5
こういう奴って自分が覚えたものが時代遅れになるのが怖いだけなんだよな。

48: 名刺は切らしておりまして 2018/05/07(月) 01:14:36.73 ID:snACbDYM
>>44
それはちょっとずれてると思ったけどそういう奴は少数ながらいるのかもな
見たことないけど

大抵は過去やったことと今やってることが積み上がるだけで
差なんて大した問題じゃない

54: 名刺は切らしておりまして 2018/05/07(月) 01:24:34.96 ID:APKa1hMB
>>48
ネイティブアプリ作った経験があっても、javqscriptのフレームワークに積み上げなんてないぞ。
あれはほとんどwebの領域だから。

53: 名刺は切らしておりまして 2018/05/07(月) 01:22:12.85 ID:L6/bKypc
>>5
いやいや、Node.JSってサーバー用途が主だから。

59: 名刺は切らしておりまして 2018/05/07(月) 01:29:03.18 ID:dCk2eS9I
>>53
マルチプラットフォームテキストエディタのVSCodeやatomのベースになっているelectronではnode.jsが使われているね

6: 名刺は切らしておりまして 2018/05/06(日) 22:46:16.03 ID:GdTimTSX
>>4-5
きょうびのJS舐めてるっしょ
自分はJSのエコシステムの進化というか変化が速すぎるのであまり深入りしないようにしてる

7: 名刺は切らしておりまして 2018/05/06(日) 22:47:31.38 ID:eji9d2m7
>>6 別にだな、プラグインは他人が書いてくれるしUSBドライバなんかもあるから
自分で深煎りしなくても良いだろ
BTなんかも叩けるし、勉強しなくても使う分には何も困らないわ

10: 名刺は切らしておりまして 2018/05/06(日) 22:59:02.54 ID:H1rHojRA
>>6
自分も安定するまで待ちかなー
JSにこだわる必要もないし

101: 名刺は切らしておりまして 2018/05/07(月) 10:02:48.78 ID:SnEdOoRm
>>6
これが今の最新のライブラリですと宣伝してたものが
一年後にこんな時代遅れのゴミ使ってる人いませんよねと
言われる感じなのはつらい

11: 名刺は切らしておりまして 2018/05/06(日) 23:13:50.44 ID:V75pHjpi
Three.jsしか使ったことないな

87: 名刺は切らしておりまして 2018/05/07(月) 03:21:34.66 ID:IAeEZPO5
>>11
ここ笑うとこ

12: 名刺は切らしておりまして 2018/05/06(日) 23:14:18.75 ID:HfbtbG71
Node人気あるよね

13: 名刺は切らしておりまして 2018/05/06(日) 23:16:42.04 ID:LYEFs66x
いつの間にかJavascriptでも、デスクトップアプリすら作れるようになってるし
ソースコード見ても何か違う言語を見てる感覚だったわ
引退を決意した瞬間だった

19: 名刺は切らしておりまして 2018/05/06(日) 23:41:33.44 ID:xFGNuTgV
>>13
TypeScriptからJavaScript吐くようにすると分かりやすくなる

25: 名刺は切らしておりまして 2018/05/06(日) 23:54:53.75 ID:1Xjh+c70
>>13
Windowsじゃ20年前からJScriptのHTAでデスクトップアプリ作れてるんだがwww

16: 名刺は切らしておりまして 2018/05/06(日) 23:20:19.26 ID:24mQyINw
実際DjangoやPlayよりも使いやすいんだよなぁ
Chakraは使いたくもないからどうでもいいけど

WebSocketがらみのところはnode一択のような気がする

18: 名刺は切らしておりまして 2018/05/06(日) 23:38:09.03 ID:BMAqdiET
複雑なアプリケーションを作らないならNode.jsいいよね

20: 名刺は切らしておりまして 2018/05/06(日) 23:43:38.88 ID:vnvttDz/
JQueryじゃダメなんですか?

21: 名刺は切らしておりまして 2018/05/06(日) 23:47:09.52 ID:xFGNuTgV
>>20
目的が違いますね

23: 名刺は切らしておりまして 2018/05/06(日) 23:49:17.65 ID:vnvttDz/
Django React bootstrapでそこそこのものが出来るんじゃね?
Django良いと思うけどなあ。 pythonの勉強にもなるし。

27: 名刺は切らしておりまして 2018/05/07(月) 00:00:15.87 ID:UlP+PE43
もう何ちゃら.jsて辞めてくれよ
覚えきれない

30: 名刺は切らしておりまして 2018/05/07(月) 00:20:32.16 ID:LAoD6KnE
V8のかわりにChackra入れるとか何の冗談だw

31: 名刺は切らしておりまして 2018/05/07(月) 00:28:57.80 ID:uzD0nWE5
node.jsが分かればサーバサイドアプリもクライアントアプリも作り放題

新しい型のbytearrayがどんどん実装されててバイナリデータの扱いもお茶の子さいさい

v8ランタイムやNon-Blocking IOが優秀すぎて、
C++と性能が変わらないくらい近づいてきた

確かブラウザ上でJavascriptでWondows95動かしてるデモサイトがどっかにあったな

32: 中卒マン 2018/05/07(月) 00:32:28.13 ID:eIAsONGf
nodeは楽しいよ。
fishと併用して使えるモジュールもあるしちゃらっと書いて試せるreplもある。
リファレンスは充実してるしサーバも簡単に作れる。スクレイピングも楽勝
jsはnodeからやったなぁ。

34: 名刺は切らしておりまして 2018/05/07(月) 00:42:13.54 ID:c1Zk1N6M
おもったよりllvm周りが進化しない。
プラットホーム互換を頑張り過ぎずオブジェクトハンドリングやAPIラッパー、言語間グルーインタフェイスはざっくりインタプリタにしちまえばいいのに
のろのろしてるからJSなんかがのさばる。

36: 名刺は切らしておりまして 2018/05/07(月) 00:50:11.86 ID:nfYDaiDC
それより
javascriptのマルチスレッド対応はいつ?

39: 名刺は切らしておりまして 2018/05/07(月) 00:57:18.00 ID:uzD0nWE5
>>36
シングルスレッドは欠点ではなく長所
マルチスレッドになったら逆に性能落ちるよ

シングルスレッドである事でマルチスレッドの同期にかかるコストを極小化し、
Cpu utilをフル活用てきている

41: 名刺は切らしておりまして 2018/05/07(月) 01:05:36.96 ID:vxQjLC6c
>>39
マルチコアが普通なのに

46: 名刺は切らしておりまして 2018/05/07(月) 01:12:56.81 ID:uzD0nWE5
>>41
いや、マルチスレッドにしたいならそれは全然可能やで

それをやりたかったらchild processをフォークすればいい

シングルプロセスマルチスレッドは仕様上できないが、
子プロセス生成によるマルチプロセスマルチスレッドなら仕様上可能

ただし、俺がプログラミングしてた頃のNode.js 6.xではプロセス間通信に課題があり、大量データをプロセス間で同期させるのが難しかった

難しい、と言うのは性能面ね
数十MB程度のデータを送信するのに数百ミリ秒もかかってしまう世界

ここが最適化されたら、もうNode.js以外でコーディングするモチベーション無くなるかもな

38: 名刺は切らしておりまして 2018/05/07(月) 00:55:13.88 ID:nfYDaiDC
node.jsで作った簡易的なサーバーの安定度がヤバイ
スタンバイから復帰したりしても
1度も落ちたことがない

42: 名刺は切らしておりまして 2018/05/07(月) 01:06:57.54 ID:vxQjLC6c
Webサーバアプリだけがプログラミングじゃないからなー

45: 名刺は切らしておりまして 2018/05/07(月) 01:10:44.28 ID:kgyNopqe
>>42
しかしJavaScriptの仕事なんて低単価の底辺仕事ばかりなのも事実
得意げに書き込んでる奴も月手取り30にも届かない

56: 名刺は切らしておりまして 2018/05/07(月) 01:25:41.04 ID:vxQjLC6c
>>45
手取り30だと全然底辺じゃないな
Javaの底辺仕事は手取りだと15未満とか普通だから

66: 名刺は切らしておりまして 2018/05/07(月) 01:35:46.86 ID:kgyNopqe
>>56
やばすぎる・・・
専任でやってる奴はどうなってしまうのか
先の食い扶持がまるでない

50: 名刺は切らしておりまして 2018/05/07(月) 01:17:58.03 ID:L6/bKypc
JavaScriptエンジンをプラガブルにしたって聞こえはいいけど
V8を切り離したってとこはあんまり歓迎したくないんだけど。
ブラウザ互換問題の悪夢再びってのが目に見える。

52: 名刺は切らしておりまして 2018/05/07(月) 01:19:58.33 ID:xu3fJGrP
queue処理したくてnode.js使ってみたけど、、

非同期プログラミングってのは癖が強いな。

57: 名刺は切らしておりまして 2018/05/07(月) 01:26:39.06 ID:5uGNfiDu
node.jsの非同期を気をつければ平気だろう。
非同期ベースではあるが、同期バージョンや同期関数もあるし。
純粋関数型よりかはふつうの言語。

58: 名刺は切らしておりまして 2018/05/07(月) 01:28:33.18 ID:APKa1hMB
javascriptみたいなクソ言語でサーバーを動かそうって発想が間違ってる。
クライアントサイドで仕方なく使うものだろ。

64: 名刺は切らしておりまして 2018/05/07(月) 01:34:11.33 ID:dCk2eS9I
>>58
俺もクソ言語だと思ってるからTypeScriptでラップしてる

61: 名刺は切らしておりまして 2018/05/07(月) 01:31:11.81 ID:eIAsONGf
nodejsの開発元って確かサムスンに行ったんやっけ。開発者は別だがネトウヨが知ったら歯ぎしりしそう

62: 名刺は切らしておりまして 2018/05/07(月) 01:31:20.43 ID:KiYG3xJd
組み込み以外はjavascriptが選択肢として上がる世の中でしょ

65: 名刺は切らしておりまして 2018/05/07(月) 01:34:56.11 ID:5uGNfiDu
クライアント側でつかうならサーバー側でも言語統一してもいいとおもうが。
ただし現状、Javascriptでも互換性が低いけどな。

68: 名刺は切らしておりまして 2018/05/07(月) 01:36:25.00 ID:vxQjLC6c
>>65
言語統一するメリットがない

67: 名刺は切らしておりまして 2018/05/07(月) 01:36:08.60 ID:E8am1862
まさかプリコンパイルしない言語が
王座を取るとは思いもしなかった。
そのうち、全部ブラウザでお仕事することになるかもね。

70: 名刺は切らしておりまして 2018/05/07(月) 01:41:57.02 ID:/XUEraMN
>>67
WebAssemblyの登場でブラウザ==JavaScriptでもなくなるかもよ

77: 名刺は切らしておりまして 2018/05/07(月) 01:57:52.47 ID:L6/bKypc
まだMS-DOSだった時代、アセンブラでニーモニックのクロック計算までして
80286で3重スクロールのルーチンを作った。386時代までは学内で最速だった。
ところが486DXあたりで状況が激変する。
対して技術もなかったやつがC言語だけで作ったルーチンに速度で微妙に負けた。
何故だ?逆アセンブルしても無駄なコードが多くて到底こんなのに負けるはずがない。
理由はCPUの予測分岐機能が有効に働くようにコンパイラがコードを最適化していたからだった。
技術の進歩で俺が培ってきた職人技は古くさくなくなっていた。
人間が手作業でやる時代は終わった・・・愕然とした。

中学時代の友人がアニメに携わりたいといってセルを撮影する仕事に付いた。
数年後、アニメの現場はデジタル化してPCの操作などわからなかった彼は仕事を失った。

更に数年後、俺はOpenGLやいろいろな3DCGを学んだ、物理演算も触ってみた。
しかしそのまた数年後、unityやアンリアルの登場で俺が長年学んだことなんか
たいした知識もなく簡単に作れるようになっていた。
これからもこういうことはいくらでも起こるのだろう。

前置きが長くなったが、職人技など新たなツールの登場で簡単にひっくり返るのだ。
JavaScriptなんて底辺とバカにしてる奴が散見されるがJS周りの環境の変化を
知らなさすぎるとしか思えない。

79: 名刺は切らしておりまして 2018/05/07(月) 02:03:22.86 ID:kgyNopqe
>>77
や、益々仕事が底辺化するでしょ
製品をリリースする側だけに技術の蓄積があって
使う側は段々と技術不要になるってことだから

84: 名刺は切らしておりまして 2018/05/07(月) 02:48:27.18 ID:M6R3DxlD
>>77
道具(文化)に依存しちゃうのは本当のエンジニアではないと言いますかね(;^_^A・・・
如何なる道具が発明されようと上手に使いこなすことが出来るのがエンジニアといいましょうか。
弘法筆を選ばすということでしょう。

97: 名刺は切らしておりまして 2018/05/07(月) 05:33:55.57 ID:uEhBmXHt
>>77
なるほど
今はデータサイエンティストとか
AIエンジニアとかがそうなりつつある感じ

99: 名刺は切らしておりまして 2018/05/07(月) 08:47:01.83 ID:eIAsONGf
>>98
>>97レベルのエアプログラマw
簡単にバージョン指定も切り替えも出来るぞ

81: 名刺は切らしておりまして 2018/05/07(月) 02:10:01.38 ID:epjkOkCb
非同期コールバック地獄はホントうんざりする
マルチスレッドと変わらないウザさ

83: 名刺は切らしておりまして 2018/05/07(月) 02:15:43.74 ID:dCk2eS9I
>>81
await/async使ってみては

107: 名刺は切らしておりまして 2018/05/07(月) 12:02:36.75 ID:LAoD6KnE
>>81
PromiseでもSubscribableでもasync/awaitでもお好きなものでどうぞ

82: 名刺は切らしておりまして 2018/05/07(月) 02:11:28.07 ID:kgyNopqe
この業界もとことん二極化が進むなこりゃ

85: 名刺は切らしておりまして 2018/05/07(月) 02:55:02.92 ID:M6R3DxlD
まあ、道具や文化と一緒に自分まで陳腐化してどうすんだって話ですよね(;^_^A・・・

やはり我々は常にやりたいこと、やらねばならないことをテーマとして突き付けられておりまして、
そのテーマを実現するために道具を選定したり文化を作ったりするわけです。

そうした物事の順序を考えれば道具や文化に執着したり依存したりすることは非常に馬鹿げたことだと私には思えます。
私には歴史も、伝統も、文化も必要ではございません(;^_^A・・・
それらが進歩するために大切な事柄だとはどうしても思えないからです。

by かもめ党(鼎 梯仁)

86: 名刺は切らしておりまして 2018/05/07(月) 03:14:31.29 ID:VxLgCcwo
もうアパッチとかは時代遅れなの?

91: 名刺は切らしておりまして 2018/05/07(月) 04:09:26.44 ID:M6R3DxlD
>>86
いや、全然使いますよ(;^_^A・・・
ApacheとNginxの用途の違いって単に初期設定の違いだったりします。
Apacheもそれ用にチューニングすればNginxと性能変わらないんですけどチューニングする手間があるじゃないですか?
それが面倒臭いとかApacheをチューニングするノウハウがないとかでNginx使ってるとこがほとんどです。

なるべくトレンドのものを取り入れないとエンジニアの採用に響くというのもあります。
ITのエンジニアって常に陳腐化の脅威に晒されているので意欲的な人はそこに敏感ですからね。
さっき話した道具や文化と共に陳腐化するのは避けたいって話です。

88: 名刺は切らしておりまして 2018/05/07(月) 03:35:59.04 ID:3NAEIk4g
素朴な質問やけど、このnodeのファウンデーションの人らはどうやって金稼いでんの?
何がモチベーションで頑張ってんの?
nodeがメジャーになったらファウンデーションのメンバーはリッチになれんの?
アパッチといい、リナックスといい、フリーの提供者のそこが昔からの疑問。

89: 名刺は切らしておりまして 2018/05/07(月) 03:49:00.73 ID:5uGNfiDu
>>88
グーグルのもとのV8JavaScriptエンジンや、アルファ碁でつかってそうな人工知能ソフトウェアを無償公開するのと同じようなことだろ。
もともと社内で使っていてそのソフトウェア自体の販売で儲けられなくとも副次的な効果、儲けにつながるんだろ。

96: 名刺は切らしておりまして 2018/05/07(月) 05:11:45.38 ID:vxQjLC6c
>>88
普通に企業に雇われてる。

> 何がモチベーションで頑張ってんの?
世界中で使われるソフトを開発するのってクールじゃね?

> nodeがメジャーになったらファウンデーションのメンバーはリッチになれんの?
リッチの定義にもよるが
毎日好きなことして生活するのってリッチじゃん

> アパッチといい、リナックスといい、フリーの提供者のそこが昔からの疑問。
Linuxレベルになると、企業が自分がやりたいことを導入する場にもなっている

92: 名刺は切らしておりまして 2018/05/07(月) 04:15:49.01 ID:M6R3DxlD
あとWWWサービスのエンジニアリングって業務系のIT土方ほど単価安くないですが、すごく高いということもないので穴場というか結構空白地帯なんですね(;^_^A・・・

昨年、流行りの仮想通貨産業で天下のMITメディアラボがエニグマというプロジェクトでICOを行ったのですが、もうウェブサイトの出来栄えが冗談みたいに酷くて、MITの人がやってるとは思えない代物なんですね。
すぐに落ちるはカウンター程度の機能がバグってるはサーバごとハッキングされるわで。

なんか手伝いましょうか(;^_^A?と真面目に思いましたよ。
(その後、仮想通貨エニグマはMITメディアラボという金看板もあって暴騰しましたのでまあ良いんですけど)

93: 名刺は切らしておりまして 2018/05/07(月) 04:26:21.11 ID:M6R3DxlD
ちなみにエニグマがハッキングされた原因はSSHのROOTパスワードが突破されたということでしたが、
そもそもなぜパスワード認証とかしてんだ?MITだろ?とか笑わせてくれましたね(;^_^A・・・

そんな間抜けな理由をちゃんと説明するところの誠実さがMITなのかなとも思いましたけど。

つまり、高度な学術的知識を習得している人たちが簡単な道具も使いこなせるのかというと、
彼らに言わせれば知らないものは知らないって感じなんですよ。
なんか、安心してしまいましたね。私は(;^_^A・・・

95: 名刺は切らしておりまして 2018/05/07(月) 04:46:41.03 ID:suepKwuY
業界20年居るおっさんだが、
ほんとにサーバサイドとかクライアントサイドの実装言語の垣根がなくなりつつあるな~と。

ネイティブっぽいアプリも何割かがスクリプト言語で実装されるのは珍しくなくなった。

100: 名刺は切らしておりまして 2018/05/07(月) 09:48:19.87 ID:rDzIWIOm
JavaScriptでAIを作ったりしてるもんな

102: 名刺は切らしておりまして 2018/05/07(月) 10:15:52.25 ID:ji7OA44P
javascriptの進化の早さについては言語習得センスに加えて英語力が非常に重要になってくる

javascriptの解説本買っても習得に何ヶ月もかけてたらその間に廃止されるAPIが出てくるかもしれない

だから情報はWebで仕入れるしかない
だが日本語のサイトはほぼすべて英語サイトのドキュメントを和訳してちょっとだけ著者の感想を加えた程度のものだ

結局英語のjavascriptのサイトを読んで最新のトレンドを追い続けるしかない

これを苦痛と感じるか楽しいと感じるかで向いてる向いてないがわかると思う

ランキングをポチッとお願いします!

 

引用元: http://egg.5ch.net/test/read.cgi/bizplus/1525613275/

スポンサーリンク
スポンサーリンク
スポンサーリンク
IT自然科学・テクノロジー
シェアする
piment-chanをフォローする
スポンサーリンク
スポンサーリンク
みかんタイムス

コメント