7

現在、node.js を使用した開発の学習を開始することを目指しています。

私の質問が明確であることを願っています-node.jsとモバイルについて話しているとき、あなたはどういう意味ですか? node.js によって開発された Web アプリケーションに、ユーザーは単純な Web ブラウザー、または純粋なモバイル アプリケーション (Java を使用した Android など) を介してアクセスし、node.js は何らかの方法でこのプロセスに参加します (どのように?)。

Linkedin が node.js に基づいてモバイル アプリケーションを開発しているのを見たので質問しましたが、node.js がどこに統合されているのかわかりませんでした - Web アプリケーションで? アンドロイドアプリケーション? iOSアプリ? 私には明確ではありません(私の仮定はWebアプリケーションですが、本当に混乱しています)。

ありがとうございました。

4

4 に答える 4

8

NodeJS は、さまざまな種類のネットワーク リクエストに応答するサーバー バックエンド コンポーネントですが、最も一般的なのは HTTP リクエストです。モバイル アプリの場合、データベースとのインターフェイス、JSON HTTP 呼び出しの解釈、データのフェッチや挿入、JSON データのモバイル クライアントへの返信に使用されることがあります。

ほとんどの場合、iOS、Android、およびモバイル Web クライアントは HTTP 経由で NodeJS に接続し、さまざまな API を介して送信GETおよび要求します。POST

NodeJS は、各プラットフォームで利用可能なさまざまなプッシュ通知システムとやり取りしたり、SocketIOなどを使用してクライアントとサーバー間のリアルタイム通信を提供したりすることもできます。

于 2013-01-03T22:04:08.867 に答える
5

LinkedInがNode.jsテクノロジーをどのように使用するかについての記事は、http:
//venturebeat.com/2011/08/16/linkedin-node/にあります。

LinkedInでテクノロジーを使用する最大の理由は、スピードと使用するリソースが少ないことです。

このアプリは、クライアント側では前のアプリより2〜10倍高速であり、サーバー側では、Ruby on RailsからNode.jsへの切り替えのおかげで、リソースの一部を使用しています。


新しいモバイルアプリは、おそらくブラウザのサンドボックス化とネイティブアプリコードを少し使用しています。

「HTML5ウェブアプリとネイティブアプリの間にはこの戦いがあります。しかし、Webベースのコンテンツが優れているネイティブアプリにHTML5を散在させました。HTML5で実行するのが難しいのは、スクロールする無限のリストであるため、それをネイティブに使用しました。」</ p>

モバイルWebアプリの動作は、すべてブラウザー側でレンダリングされます。

LinkedInがノードを選択する理由は他にもいくつかあります。

Blockquote1つの理由は規模でした。2つ目は、Nodeを見ると、他のサービスと通信するのが最も得意なことです。


これのいくつかがあなたの質問に答えるのに役立つことを願っています。

于 2013-03-11T13:37:20.187 に答える
5

Node.js (Node) is a scalable, event-driven I/O environment built on top of Google Chrome's JavaScript runtime—essentially, a server-side implementation of JavaScript. Google V8 actually compiles JavaScript into native machine code prior to execution, resulting in extremely fast runtime performance—something not typically associated with JavaScript. As such, Node enables you to rapidly build network apps that are lightning fast and highly concurrent.

それが実際に意味することは、Node.js は、Web 開発の世界を支配する特効薬の新しいプラットフォームではないということです。代わりに、特定のニーズを満たすプラットフォームです。そして、これを理解することは絶対に不可欠です。CPU を集中的に使用する操作に Node.js を使用したくないことは間違いありません。実際、重い計算に使用すると、その利点のほとんどすべてが無効になります。Node が真に優れているのは、高速でスケーラブルなネットワーク アプリケーションを構築することです。これは、高いスケーラビリティに相当する高スループットで膨大な数の同時接続を処理できるためです。

ボンネットの下でどのように機能するかは非常に興味深いものです。各接続 (リクエスト) が新しいスレッドを生成し、システム RAM を占有し、最終的に利用可能な RAM の量を使い果たす従来の Web サービス技術と比較して、Node.js は非ブロッキング I/ O 呼び出しにより、数万の同時接続をサポートできるようになります

簡単な計算: 各スレッドに 2 MB のメモリが付随する可能性があると仮定すると、8 GB の RAM を搭載したシステムで実行すると、理論上の最大同時接続数は 4000 になり、さらにスレッド間のコンテキスト切り替えのコストがかかります。これは、従来の Web サービス技術で通常対処するシナリオです。それをすべて回避することで、Node.js は 1M を超える同時接続のスケーラビリティ レベルを実現します。

読み続けて.. http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js

ゴールデンタイムの企業は、モバイル ソリューションを Node.js に依存してきました。

LinkedInは著名なユーザーです。同社のモバイル スタック全体は Node.js 上に構築されています。各物理マシンで 15 のインスタンスを持つ 15 のサーバーを実行していたのが、2 倍のトラフィックを処理できる 4 つのインスタンスになりました。

eBayは、Node.js をランタイム スタックとして使用する HTTP API 用の Web クエリ言語である ql.io を発表しました。通常の開発者品質の Ubuntu ワークステーションを調整して、node.js プロセスごとに 120,000 を超えるアクティブな接続を処理することができました。各接続は約 2kB のメモリを消費します。

Walmartは、モバイル アプリを再設計して Node.js を使用し、JavaScript 処理をサーバーにプッシュしました。

詳細については、http ://www.pixelatingbits.com/a-closer-look-at-mobile-app-development-with-node-js/ をご覧ください。

于 2014-07-03T06:52:00.533 に答える
1

彼らは、サーバー バックエンドの node.js を参照しています。

例は次のとおりです。

  • タスクと予定を保存し、アラートをプッシュする node.js サーバー バックエンドを備えたタスク管理アプリ。
  • メッセージをルーティングおよび配信するための node.js サーバー バックエンドを備えたチャット アプリ
于 2013-01-03T22:04:45.027 に答える