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

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
それはちょっとずれてると思ったけどそういう奴は少数ながらいるのかもな
見たことないけど

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

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

8: 名刺は切らしておりまして 2018/05/06(日) 22:48:06.76 ID:eji9d2m7
深煎りはないな、深入り

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

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

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

15: 名刺は切らしておりまして 2018/05/06(日) 23:17:41.28 ID:ZglhHlmd
まーたMirakurunアップデートか

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

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

17: 名刺は切らしておりまして 2018/05/06(日) 23:32:17.67 ID:S/7ZjHTt
こういうのがあるんだね。
2NNで見てきたけど勉強になったよ。

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て辞めてくれよ
覚えきれない

28: 名刺は切らしておりまして 2018/05/07(月) 00:07:45.63 ID:KiYG3xJd
たけのこ.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度も落ちたことがない

40: 中卒マン 2018/05/07(月) 01:01:47.40 ID:eIAsONGf
公式にデカデカとしんぐるすっどれにした理由書いてなかったか?C10Kもんだいがなんたらかんたらって長々と説明してたような…

あっ!モンキーには文字が読めないんだったwww

43: 名刺は切らしておりまして 2018/05/07(月) 01:10:08.30 ID:nfYDaiDC
>>40
その口まさかReact厨か

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