2010-09-29 3 views
109

Итак, я закончил отличную серию Дугласа Крокфорда на Javascript, и в последнем эпизоде ​​(до сих пор) loopage он объясняет, почему Node.js является идеальным решением для серверного кода.Node.js Примеры/учебники для веб-приложений

Он говорит о сохранении состояния, а не в базе данных, но в закрытии, запущенном в Node.js, он также утверждает, что системы шаблонов (например, JSP, PHP и ASP) являются плохой абстракцией для более сложных веб-приложений и что node.js обеспечивает решение этого.

И я готов покупать, но я не могу найти примеры веб-приложений с использованием этого шаблона или любых книг или руководств о том, как это сделать. Я не говорю о simple application, но что-то, что будет использовать шаблоны, о которых говорил Крокфорд в его разговоре. Кто-нибудь знает, где я могу найти некоторые учебники/примеры веб-приложений, написанные в Node.js (и да, я знаю о Geddy и ExpressJs, но они, похоже, не следуют радикально различным шаблонам, о которых говорил Крокфорд, и были похожи на получение опыта Railsy на Node.js).

[Примечание 3-х лет в будущем: Похоже Express, Geddy, Sails, Kraken и др все повторные реализации рамочных Rails/Symfony/Spring от Ruby/PHP/Java. В то время как такие вещи, как Hoodie и Meteor, являются попытками совершенно новой парадигмы. KOA выглядит интересно, но это путь от использования, но похоже, что он основывается на сильных сторонах javascript с историей приложений MVC прошлого. 3 года, и это еще захватывающие времена для Nodejs, даже если это уже не новая жара. По крайней мере, в настоящее время существует множество реальных примеров использования Node ...

+0

первой ссылке -> мертвый –

+9

Я думаю, что это очень конструктивно. Я искал учебники/приложения. Это сработало для меня: http://de.slideshare.net/gabriele.lana/nodejs-explained-with-examples – MartinL

ответ

87

Я хотел бы предложить вам проверить различные обучающие программы, которые выходят в последнее время. Мой текущий избр является:

http://nodetuts.com/

Надеется, что это помогает.

+1

У Джеймса берега есть видео-серия, где он охватывает реализацию https://github.com/jamesshore/lets_code_javascript –

8

Конкурс Node Knockout недавно завершен, и многие из представленных материалов доступны на github. Сайт конкурса, похоже, не работает сейчас, но я уверен, что вы можете добавить в Google несколько записей для проверки.

+0

http://nodeknockout.posterous.com/and-the-winners-are имеет список некоторых из записи, но нет прямых ссылок на любые репозитории github. –

+1

Ноут-нокаут Github repo содержит несколько проектов: http://github.com/nko – dhofstet

4

Update

Dav стекла от Yahoo дал разговор на YuiConf2010 в ноябре, который теперь доступен в Video from.

Он показывает, как можно использовать YUI3 для визуализации виджета на стороне сервера, чтобы заставить их работать с запросами GET при отключении JS или просто заставить их работать нормально, когда они активны.

Он также показывает примеры использования DOM на стороне сервера для применения таблиц стилей перед рендерингом и других интересных вещей.

Демонстрации можно найти на его GitHub Account.

Часть, в которой отсутствует ИМО, чтобы сделать это действительно удивительным, является своего рода базовым хранилищем состояния виджета. Чтобы можно было просмотреть страницу без JavaScript, и все работает так, как ожидалось, тогда они включили JS, и теперь виджет будет иметь такое же состояние, как и раньше, но работать без перезагрузки страницы, а затем добавить некоторую экономию на сервер + WebSockets для синхронизации между несколькими открыть браузер ... и рождается новое поколение ненавязчивых и грациозно унижающих ARIA.

Оригинал ответа

Ну идти вперед и построил его себе тогда.

Серьезно, 90% всех WebApps работают отлично с помощью подхода REST, конечно, вы можете делать магические вещи, такие как превосходное отслеживание пользователей, отслеживание загрузок в реальном времени, проверка, какие части видео просматриваются и т. Д.

Одной из проблем является масштабируемость, как только у вас будет более 1 процесс Node, многие (но не все) преимущества наличия данных, хранящихся между запросами, уходят, поэтому вы должны убедиться, что клиенты всегда попадают в тот же обработать. И даже тогда большие вещи еще раз потребуют слоя базы данных.

Node.js не является решением всего, я уверен, что люди в будущем создадут действительно замечательный материал, но для этого требуется некоторое время, сейчас многие просто переносят вещи на узел, чтобы все наладилось.

Что (IMHO) делает Node.js таким замечательным, это то, что он упрощает процесс разработки, вам приходится писать меньше кода, он отлично работает с JSON, вы теряете все переключение контекста.

В основном я делал игровые эксперименты, но могу сказать, что в будущем будет много интересных многопользовательских (или даже MMO) вещей, которые используют как HTML5, так и Node.js.

Node.js все еще набирает обороты, он даже не близок к RoR Hype несколько лет назад (просто взгляните на тег Node.js здесь, на SO, вряд ли на 4-5 вопросов в день).

Рим (или RoR) не был построен за ночь, и ни Node.js не будет.

Node.js имеет все возможности ему нужно, но люди все еще пытаются вещи, поэтому я предлагаю вам присоединиться к ним :)

2

Ближе всего экспериментальная работа вероятного DAV Гласс с помощью Node.js , экспресс и YUI3. В основном, он объясняет, как YUI3 используется для рендеринга разметки на стороне сервера, а затем отправляется клиенту, где происходит привязка к событию и данным. Красота YUI3 используется как есть как на клиенте, так и на сервере. Делает большой смысл. Одна большая проблема заключается в том, что до сих пор нет готовой серверной библиотеки DOM на стороне сервера.

screencast

+1

Да, на самом деле этот разговор был одним из разговоров, которые вызвали у меня восторг от Node.js (хотя идея использования jquery, а не YUI http: //blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs гораздо интереснее для меня) –

5

DailyJS имеет хороший учебник (длинная серия из 24 сообщений), в которой вы просматриваете все аспекты создания приложения блокнота (включая все возможные дополнительные функции).

Heres обзор урока: http://dailyjs.com/2010/11/01/node-tutorial/

И Heres ссылку на все посты: http://dailyjs.com/tags.html#nodepad