Примеры / учебники веб-приложений Node.js [закрыто]


110

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

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

И я готов принять участие, но я не могу найти никаких примеров веб-приложений, использующих этот шаблон, или каких-либо книг или руководств о том, как это сделать. Я говорю не о простом приложении , а о чем-то, что использует шаблоны, о которых говорил Крокфорд в своем выступлении. Кто-нибудь знает, где я могу найти несколько руководств / примеров веб-приложений, написанных на 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 ...


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

Ответы:


89

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

http://nodetuts.com/

Надеюсь это поможет.


1
У Джеймса Шора есть серия видеороликов, в которых он рассказывает о реализации github.com/jamesshore/lets_code_javascript
Франк Швитерман

8

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


В nodeknockout.posterous.com/and-the-winners-are есть список некоторых записей, но нет прямых ссылок на какие-либо репозитории github.
Крис Блум,


5

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

Вот обзор учебника: http://dailyjs.com/2010/11/01/node-tutorial/

И вот ссылка на все сообщения: http://dailyjs.com/tags.html#nodepad


4

Обновить

Дав Гласс из Yahoo выступил с докладом на YuiConf2010 в ноябре, который теперь доступен в виде видео с сайта .

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

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

Демоверсии можно найти в его учетной записи GitHub .

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

Оригинальный ответ

Тогда давай, сделай сам.

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

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

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

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

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

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

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

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


2

Наиболее близким к этому, вероятно, является экспериментальная работа Дэвида Гласса с использованием node.js, express и YUI3. По сути, он объясняет, как YUI3 используется для рендеринга разметки на стороне сервера, а затем отправляется клиенту, где происходит привязка к событию и данным. Прелесть в том, что YUI3 используется как есть как на клиенте, так и на сервере. Имеет большой смысл. Одна большая проблема заключается в том, что пока нет готовой серверной DOM-библиотеки.

скринкаст


1
Да, на самом деле этот доклад был одним из разговоров, которые меня взволновали по поводу Node.js (хотя идея использовать jquery, а не YUI blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs гораздо больше захватывающе для меня)
Крис Эриксон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.