node.js - nodejs与java优劣
PHP中文网
PHP中文网 2017-04-17 14:57:42
0
10
845

为什么现在nodeJs只适合做中间层,Java的地位撼动不了

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(10)
迷茫

nodeJs は同時実行性が高く、柔軟性が高く、Java はより安定しています。 ~~

いいねを押す +0
Peter_Zhu

Java はコンピューティングに強いです。
Node は IO に強く、フロントエンドに優しい js スタックでもありますが、アプリケーションが複雑になると、フロントエンドがコントローラーを処理する必要があり、Java がインターフェイス サービスの仕事を行うことができます。
一方、中間層であるノードも、その非同期特性により、異種システムの差別化コストをある程度削減することができます。

いいねを押す +0
迷茫

元の投稿者の質問に答えます。
1. なぜnodejsは中間層にのみ適しているのでしょうか?
考え方を変えて、nodejs をビジネス層とデータ層として使用するとどうなるでしょうか?純粋な nodejs を使用してアプリケーションを作成しましたが、nodejs に固​​有の言語の欠陥により、ビジネス ロジック層を記述するのが難しすぎることがわかりました。複雑なロジックが多数のコールバックに遭遇すると、たとえ次のようなライブラリがあっても、コードがまったく読めなくなります。この欠点を完全に補う方法はありません。大規模なWebサイトのアーキテクチャは保守性を重視します。コードの可読性が低いと、当然保守性も低くなります。
2. なぜ Java はその地位を揺るがすことができないのでしょうか?
両者の位置付けは本質的に異なりますが、なぜ置き換える必要があるのでしょうか。 2 つの言語の存在は必ずしも生死を賭けた闘争である必要はありません。多くの場合、大規模な IT プロジェクトは複数の言語を組み合わせて互いの強みを学び、複雑なビジネス ロジックは Java で実行されます。また、nodejs は一部のルーティング マッピングとパラメーター検証を処理するために使用され、フロントエンド エンジニアもバックエンド エンジニアの作業に部分的に参加できるため、プロジェクトのスケーラビリティが実際に優れています。

いいねを押す +0
PHPzhong

node または js の特性 (シングルスレッド、非同期、弱い型) により、単純なことを迅速に実行するのに適していることが決まります。基礎となる多くのことを考慮する必要がなく、データ型の変換を考慮する必要もありません。アプリケーションサーバーはまったく必要ありません。すぐにアプリケーションを作成してください。しかし、アプリケーションが大きくなると、いくつかの問題が顕在化します。ここでは効率性については話していませんが、コードの保守性という点だけで言えば、Java よりもはるかに悪いです。比較的言えば、Java にはより多くの制限とより厳密な構文がありますが、これらの制限により、Java プログラムのスタイルの外観がより一貫し、読みやすく、保守しやすくなります。

したがって、一般的に言えば、ノードはより複雑なビジネス ロジックの実装には使用されません。 Java などのオブジェクト指向言語は、ビジネスを制御する上で強力な機能を備えています。

さらに、Java はノードよりもはるかに早く普及しました。銀行を含む多くの国内営利企業は、業務システムを Java で実装しています。この点で、これらの企業は多くの経験を蓄積し、多くのリソースを投資してきました。たとえ彼らのビジネスがノードの使用に適しているとしても、ノードは完全にではなく徐々に Java に置き換わるでしょう。たとえば、最初にノードを使用してルーティングとレンダリングを実装します。私が今取り組んでいるプロジェクトもこれに似ています。

しかし、上記のどれもが一定ではありません。優れたノード プログラマが下手な Java プログラマよりも優れたアプリケーションを作成できることは疑いの余地がありません。私の同僚の一人が言ったように、Java はそれ自体に多くの必須原則があり、参考となる設計パターンなどのオブジェクト指向の知識も豊富にあるため、プログラムの収益を保証できます。ただし、ノードには上限がありませんが、同時に下限もありません。

いいねを押す +0
迷茫

二人のコミュニティを見てみると、あと3年もすれば、この質問に対する答えは全く違ったものになるでしょう。言語は重要ではなく、コミュニティで活躍する人々と才能が創造の基盤です。実際、js という誰もがおもちゃだと思っている言語がここまで到達するとは予想していませんでした。

いいねを押す +0
Ty80

Node.JS の最大の利点は非同期ですが、コールバックによりプログラミングが複雑になり、JS には十分なオブジェクト指向サポートがありません。

いいねを押す +0
大家讲道理

NodejsはHTTP APIインターフェースをベースにしたような単純なビジネスに向いていますが、逆にBOSS(Business.Operation Support System、業務内容支援システム)を構築する場合には少し薄っぺらい印象があります。別の例として、メッセージ キュー タスクなどの一部のメモリ常駐タスクは、nodejs でも実行できますが、現時点では、まだ Java の方が優れていると感じています。
もちろん、nodejs の利点は開発効率の高さであり、比較的単一のビジネス シナリオを持つ一部の企業に適しています。
つまり、プログラミング言語の選択は企業のビジネスと連動しており、具体的な状況を詳細に分析する必要があります。

いいねを押す +0
刘奇

あなたの質問は単純かつ粗雑すぎるため、nodejs はプラットフォームであり、Java は言語です。中間層の意味が明確に述べられていないことは言うまでもなく、この 2 つを直接比較することはできません。震える可能性は絶対にありません;P

単純かつ大雑把な答えをさせてください。nodejs は IDE を持たない ASP.NET と同等であり、PHP などと比較して軽いだけであり、Java のことは忘れてください。全く同じタイプのツール。さらに、Java エコシステムはよりオープンであり (Oracle もありますが)、Joyent が単独でプレイするよりも優れています。

いいねを押す +0
左手右手慢动作

Nodejs は、フルスタックに向けたフロントエンドの開発向けに設計されているように感じられます。Java の方が歴史があり、開発は安定していて迅速で、オープンソース フレームワークも数多くあります。

いいねを押す +0
洪涛

nodejs --> V8 --> マシンコードのコンパイル
JVM C++ の説明 -->

理論的には、Java で実行できることはすべて実行できます。実際、JS には数値や文字に関する特別な設定はなく、計算を実行する際に Java ほど効率的ではありません。数字と文字の微分ですが、仮想マシンとガベージメモリの検出が必要で、パフォーマンスは C++ や C よりも大幅に低くなります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート