web-dev-qa-db-ja.com

Node.js Webアプリケーションの例/チュートリアル

だから、ダグラス・クロックフォードのJavascriptに関する優れたシリーズを見終えました。最終エピソード(これまで)で loopage 彼はNode.jsがサーバー側コードのほぼ完璧なソリューションである理由を説明しました。

彼は、データベースではなく、Node.jsで実行されているクロージャーで状態を維持することについて語っています。また、JSP、PHP、ASPなどのテンプレートシステムは、より複雑なWebアプリケーションの貧弱な抽象化であり、node.jsはこれに対する解決策。

そして、購入する準備はできていますが、このパターンを使用したWebアプリケーションの例や、これを実行する方法に関する書籍やチュートリアルは見つかりません。 単純なアプリケーション についてではなく、Crockfordが彼の講演で述べたパターンを使用するものです。 Node.jsで書かれたWebアプリケーションのチュートリアル/例を見つけることができる場所は誰でも知っています(そして、はい Geddy および ExpressJs について知っていますが、彼らは従わないようですCrockfordが語っていた根本的に異なるパターンであり、Node.jsでRailsyを体験するようなものでした。

[将来の3年間のメモ: ExpressGeddySailsKraken などRuby/PHP/JavaのRails/Symfony/Springフレームワークの再実装。一方、 HoodieMeteor のようなものは、まったく新しいパラダイムへの試みです。 KOA はおもしろそうですが、使用できるようになるには程遠いですが、過去のMVCアプリケーションの歴史を備えたjavascriptの強みに基づいているようです。 3年経ちましたが、Nodejsにとっては、それが新しい話題ではなくなったとしても、今でも刺激的な時期です。少なくとも現在使用されているNodeの実世界の例はたくさんあります...

110
Kris Erickson

最近公開されているさまざまなチュートリアルをご覧になることをお勧めします。私の現在のお気に入りは:

http://nodetuts.com/

お役に立てれば。

89
JeanNiBee

Node Knockout 競争は最近締めくくられ、提出物の多くはgithubで入手できます。コンテストサイトは現在機能していないように見えますが、Googleがいくつかのエントリをチェックしてチェックアウトできると確信しています。

8
Chris Bloom

DailyJSには、メモ帳アプリの構築のすべての側面(可能なすべての追加機能を含む)を順を追って説明する優れたチュートリアル(24の記事の長いシリーズ)があります。

チュートリアルの概要は次のとおりです。 http://dailyjs.com/2010/11/01/node-tutorial/

そして、すべての投稿へのリンクがあります: http://dailyjs.com/tags.html#nodepad

5
Varun Singh

更新

YahooのDav Glassは11月にYuiConf2010で講演を行いました。これは Video from で利用できます。

彼は、JSが無効な場合にYUI3を使用してウィジェットをサーバー側でレンダリングし、GETリクエストで動作させる方法、またはアクティブな場合に正常に動作させる方法を大幅に拡張しています。

また、サーバーサイドのDOMを使用してスタイルシートを適用してからレンダリングなどのクールな機能を適用する方法の例を示しています。

デモは、彼の GitHubアカウント にあります。

これを本当に素晴らしいものにするためにIMOが欠けている部分は、ウィジェット状態の基礎となるストレージです。 JavaScriptなしでページにアクセスでき、すべてが期待どおりに動作し、JSがオンになり、ウィジェットは以前と同じ状態になりますが、ページをリロードせずに動作し、サーバーとWebSocketに保存して、複数の間で同期しますブラウザを開きます....控えめで優雅に劣化する次世代のARIAが誕生しました。

元の回答

さて、先に進んで自分で構築してください。

真剣に、そこにあるすべてのWebAppsの90%はRESTアプローチでうまく機能します。もちろん、優れたユーザートラッキング、ダウンロードのリアルタイムトラッキング、ビデオのどの部分が視聴されているかなどの魔法のようなことをすることができます。

1つの問題はスケーラビリティです。1つ以上のNodeプロセスがあるとすぐに、リクエスト間でデータを保存する利点の多く(すべてではない)がなくなるため、クライアントは常に確認する必要があります同じプロセスを実行します。そして、それでも、大きなものにはデータベース層が必要になります。

Node.jsはすべてのソリューションではありません。将来、人々は本当に素晴らしいものを構築すると確信していますが、それには時間が必要です。現在、多くのものはNodeに物を移植するだけです行きます。

(IMHO)Node.jsが優れているのは、開発プロセスを合理化し、コードを書く必要が少なく、JSONで完全に動作し、コンテキストスイッチングをすべて失うという事実です。

私はこれまで主にゲームの実験を行いましたが、将来的には、HTML5とNode.jsの両方を使用するクールなマルチプレーヤー(またはMMO)が多くなると確信しています。

Node.jsはまだ勢いを増しており、数年前にRoR Hypeに近づいていません(SOでNode.jsタグを見てください。1日に4〜5の質問はほとんどありません)。

Rome(またはRoR)は一晩で構築されたわけではなく、Node.jsも構築されません。

Node.jsには必要なすべての可能性がありますが、人々はまだ物事を試しているので、参加することをお勧めします:)

4
Ivo Wetzel

最も近いものは、node.js、express、およびYUI3を使用したDav Glassの実験的な作業です。基本的に、彼はYUI3を使用してサーバー側でマークアップをレンダリングし、イベントとデータへのバインドが発生するクライアントに送信する方法を説明します。美しさは、クライアントとサーバーの両方でYUI3がそのまま使用されることです。とても理にかなっています。 1つの大きな問題は、実稼働に対応したサーバー側DOMライブラリがまだないことです。

スクリーンキャスト

2
mgutz