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

今月の関連人気記事
(集計単位:1ヶ月)
カテゴリ_プログラム
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

2: 名刺は切らしておりまして 2018/05/06(日) 22:33:11.97 ID:7gk1EkRq
>>1
5ちゃんの奴らにそんな高度な話がわかるわけないだろ

22: 名刺は切らしておりまして 2018/05/06(日) 23:47:36.00 ID:JJ2SHV0Q
>>2
別に高度な話じゃないが?
ああお前さんにとっては、って事かなるほど。

24: 名刺は切らしておりまして 2018/05/06(日) 23:53:12.68 ID:7gk1EkRq
>>22
みんなおまえと一緒じゃないんだよ
プログラマーって人付き合いないから皆自分と同じに思えるんだろうけど

26: 名刺は切らしておりまして 2018/05/06(日) 23:56:59.04 ID:+4dufkOE
>>24
ホントになにも高度な話はなんてしてないんだけどな

33: 名刺は切らしておりまして 2018/05/07(月) 00:39:48.53 ID:82wqhzvI
>>24
専門的な内容のスレなんだから、ど素人というか門外漢には入門的な内容ですらわかるわけねーだろ
IT以外だって大概そうだろうが

35: 中卒マン 2018/05/07(月) 00:42:58.03 ID:eIAsONGf
>>33
ジャップはバカの癖にプライドだけは雲より高いからな
「わからないから教えて」の一言が言えねーのさ

37: 名刺は切らしておりまして 2018/05/07(月) 00:54:26.76 ID:pILmr35g
>>24
煽り返されたからって泣くなよ……

29: 名刺は切らしておりまして 2018/05/07(月) 00:09:32.63 ID:snACbDYM
>>2
たかがJavaScriptごときに何を言っているのやら
コーダーの仕事なんぞ最底辺がやることだぞ

94: 名刺は切らしておりまして 2018/05/07(月) 04:27:55.94 ID:1Teb/y3p
>>2
さすがにNodeとREACTぐらいわかるだろ

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

112: 名刺は切らしておりまして 2018/05/07(月) 18:56:45.20 ID:IchGSM8q
>>110
理解できるよ。別に難しいことを書いてない。

115: 名刺は切らしておりまして 2018/05/07(月) 21:44:21.64 ID:T2cNfhO6
>>110
Node.jsを「豚骨ラーメン」、JavaScriptを「製麺」に置き換えて読むと楽勝で理解出来るよ

117: 名刺は切らしておりまして 2018/05/07(月) 23:39:46.65 ID:5uGNfiDu

>>110
説明しようとおもったが。今回の最大のポイントはプラガブルなんだろ。
そこで似た言葉のプラグインハイブリッドを調べたところ、どう関係するかすぐわからなかったが。
車のほうがもともとの意味で言ってて、こっちはITの意味で言ってるようだ。

プラグインとは – IT用語辞典

プラグインとは、差し込む、差込口などの意味を持つ英単語。
ITの分野では、ソフトウェアに機能を追加する小さなプログラムのことを指す場合が多い。
多くのソフトウェアには外部のプログラムを追加することで機能を拡張できるような機構を備えており、追加するソフトウェアのことをプラグインという。
すでにある機能の追加や置き換えによって動作の一部を改変・補強するという意味を帯びていることもある。
「アドオン」、「拡張機能」などとほぼ同義だが、ソフトウェアによってはこれらの語がそれぞれ別の意味を表す場合もある。

http://e-words.jp/w/%E3%97%E3%A9%E3%B0%E3%A4%E3%B3.html

3: 名刺は切らしておりまして 2018/05/06(日) 22:36:12.90 ID:9nvw6kvL
10と冗談はwindowsだけにしてくれ

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の領域だから。

63: 名刺は切らしておりまして 2018/05/07(月) 01:33:31.86 ID:snACbDYM
>>54
自分の周りのサーバサイドの連中はwebもついでにやっちまうからな
そういうもんだと思ってた

69: 名刺は切らしておりまして 2018/05/07(月) 01:37:32.61 ID:eIAsONGf
>>63
おまえの周りにサーバサイドの連中なんていねーだろバーカ。
アパッチとnglnxとgwsの区別もつかねーやろ

71: 名刺は切らしておりまして 2018/05/07(月) 01:42:27.64 ID:snACbDYM
>>69
そういうレベルの低い話で何を得意げになっているのか・・・
ちょろめと狐の違いも分からんのかと聞いているのと変わらんな

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にこだわる必要もないし

9: 名刺は切らしておりまして 2018/05/06(日) 22:52:02.07 ID:KicxkoQ3
まだ使った事無いわ

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

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

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

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

14: 名刺は切らしておりまして 2018/05/06(日) 23:17:38.23 ID:TtoYIqv4
日本語でおながいします

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
目的が違いますね

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

31: 名刺は切らしておりまして 2018/05/07(月) 00:28:57.80 ID:uzD0nWE5

node.jsが分かればサーバサイドアプリもクライアントアプリも作り放題

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

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

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

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でラップしてる

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
言語統一するメリットがない

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がメジャーになったらファウンデーションのメンバーはリッチになれんの?
アパッチといい、リナックスといい、フリーの提供者のそこが昔からの疑問。

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のサイトを読んで最新のトレンドを追い続けるしかない

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

108: 名刺は切らしておりまして 2018/05/07(月) 12:10:36.82 ID:T2cNfhO6
Web鯖とかあんまし関わらなくなったから、頭がApache Tomcat全盛期で止まってるわ
とりあえずAjaxとかいうのをダウンロードしてくる

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

引用元

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

管理人からひと言

最近勉強中です

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Node.js 超入門【電子書籍】[ 掌田津耶乃 ]
価格:2916円 (2018/7/13時点)

スポンサー

シェアする

フォローする