Приклади / підручники веб-додатків 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. Тоді як такі речі, як Худі та Метеор, є спробами зовсім нової парадигми. 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

Оновлення

Dav Glass від Yahoo виступив з доповіддю на YuiConf2010 у листопаді, який тепер доступний у Відео з .

Він в значній мірі показує, як можна використовувати YUI3 для надання віджетів на стороні сервера, щоб змусити їх працювати з GET-запитами, коли JS відключений, або просто змусити їх працювати нормально, коли він активний.

Він також показує приклади використання DOM на стороні сервера для застосування таблиць стилів перед візуалізацією та інших цікавих матеріалів.

Демографії можна знайти на його акаунті GitHub .

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

Оригінальний відповідь

Добре йдіть і будуйте його тоді.

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

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

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

Що (IMHO) робить Node.js настільки чудовим, це той факт, що він впорядковує процес розробки, вам потрібно писати менше коду, він прекрасно працює з JSON, ви втрачаєте все те переключення контексту.

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

Node.js все ще набирає тяги, навіть близько до RoR Hype кілька років тому (навіть подивіться на тег Node.js тут, напроти, навряд чи 4-5 запитань на день).

Рим (або RoR) не будувався протягом ночі, і не буде Node.js.

Node.js має весь потенціал, який йому потрібен, але люди все ще випробовують речі, тому я б запропонував вам приєднатися до них :)


2

Найближче - це, напевно, експериментальна робота Dav Glass з використанням node.js, express та YUI3. В основному він пояснює, як YUI3 використовується для візуалізації розмітки на стороні сервера, а потім надсилається клієнту, де відбувається прив'язка до події та даних. Краса YUI3 використовується як є як на клієнті, так і на сервері. Має багато сенсу. Головною проблемою є те, що ще немає готової до сервера бібліотеки DOM-бібліотеки.

скріншот


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