2010-09-29 16 views
109

Skończyłem więc oglądać doskonałą serię Douglasa Crockforda na Javascript, aw ostatnim odcinku (do tej pory), loopage wyjaśnia, dlaczego Node.js jest prawie idealnym rozwiązaniem dla kodu po stronie serwera.Node.js Przykłady aplikacji internetowych/samouczki

Mówi o utrzymywaniu stanu, nie w bazie danych, ale w zamknięciach działających w Node.js, twierdzi również, że systemy szablonów (takie jak JSP, PHP i ASP) są kiepską abstrakcją dla bardziej skomplikowanych aplikacji internetowych i że node.js zapewnia rozwiązanie tego.

Jestem gotowy do zakupu, ale nie mogę znaleźć przykładów aplikacji internetowych używających tego wzorca lub książek lub samouczków o tym, jak to zrobić. Nie mówię o simple application, ale o czymś, co używałoby wzorców, o których Crockford mówił w swoim wystąpieniu. Każdy wie, gdzie mogę znaleźć kilka tutoriali/przykładów aplikacji internetowych napisanych w Node.js (i tak, wiem o Geddy i ExpressJs, ale nie wydają się one podążać za radykalnie odmiennymi wzorami, o których mówił Crockford, i były bardziej podobne uzyskanie doświadczenia Railsy na Node.js).

[Uwaga od 3 lat w przyszłość: Wydaje się Express, Geddy, Sails, Kraken i wszyscy są ponownie implementacje ram Rails/Symfony/wiosnę z Ruby/PHP/Java. Podczas gdy rzeczy takie jak Hoodie i Meteor są próbami zupełnie nowego paradygmatu. KOA wygląda interesująco, ale jest daleko od użyteczności, ale wygląda na to, że opiera się na mocnych stronach javascript z historią aplikacji MVC z przeszłości. 3 lata później i wciąż jest ekscytujący czas dla Nodejs, nawet jeśli nie jest to już nowa gorliwość. Przynajmniej istnieje wiele rzeczywistych przykładów węzła w użyciu teraz ...

+0

pierwszy link -> martwy –

+9

Myślę, że to bardzo konstruktywne. Szukałem tutoriali/aplikacji. To zadziałało dla mnie: http://de.slideshare.net/gabriele.lana/nodejs-explained-with-examples – MartinL

Odpowiedz

87

Proponuję sprawdzić różne tutoriale, które wychodzą ostatnio. Mój obecny fav jest:

http://nodetuts.com/

Nadzieja to pomaga.

+1

James Shore ma serię filmów, w których opisuje implementację https://github.com/jamesshore/lets_code_javascript –

8

Zawody Node Knockout zawiązane niedawno, a wiele zgłoszeń jest dostępnych na github. Witryna konkursowa prawdopodobnie nie działa teraz, ale jestem pewien, że możesz sprawdzić kilka wpisów w Google.

+0

http://nodeknockout.posterous.com/and-the-winners-are ma listę niektórych wpisy, ale nie ma bezpośrednich linków do repozytoriów github. –

+1

Węzłowe repozytorium Github repo zawiera kilka projektów: http://github.com/nko – dhofstet

4

Aktualizacja

Dav Szkło z Yahoo dał wykład na YuiConf2010 w listopadzie, która jest obecnie dostępna w Video from.

Pokazuje w dużym stopniu, jak można używać YUI3 do renderowania widżetów po stronie serwera i do pracy z żądaniami GET, gdy JS jest wyłączony, lub po prostu sprawiają, że działają normalnie, gdy jest aktywny.

Pokazuje również przykłady użycia DOM strony serwera do zastosowania arkuszy stylów przed renderowaniem i innymi fajnymi rzeczami.

Dema można znaleźć na jego GitHub Account.

Część, której brakuje IMO, aby była naprawdę świetna, jest pewnego rodzaju ukrytym magazynem stanu widgetu. Aby można było odwiedzić stronę bez JavaScriptu i wszystko działało zgodnie z oczekiwaniami, włączono JS, a teraz widget ma ten sam stan co poprzednio, ale działa bez przeładowywania strony, a następnie wrzuca pewne oszczędności na serwer + WebSockets, aby zsynchronizować wiele otwarta przeglądarka .... i rodzi się następna generacja dyskretnych i znoszących poczucie winy ARIA.

Original Odpowiedź

Więc idź naprzód i zbudował sobie wtedy.

Poważnie, 90% wszystkich WebApps tam działa dobrze z podejściem REST, oczywiście możesz zrobić magiczne rzeczy, takie jak lepsze śledzenie użytkowników, śledzenie pobrań w czasie rzeczywistym, sprawdzanie, które części filmów są oglądane itp.

Jednym z problemów jest skalowalność, gdy tylko masz więcej niż jeden proces węzła, wiele (ale nie wszystkie) korzyści z przechowywania danych między żądaniami zniknie, więc musisz upewnić się, że klienci zawsze trafiają w ten sam proces. A nawet wtedy większe rzeczy będą wymagały warstwy bazy danych.

Node.js nie jest rozwiązaniem wszystkiego, jestem pewien, że ludzie będą budować naprawdę świetne rzeczy w przyszłości, ale to wymaga czasu, teraz wiele z nich po prostu przenosi rzeczy do Węzła, aby wszystko działało.

Co (IMHO) sprawia, że ​​Node.js jest tak świetny, jest to, że usprawnia proces rozwoju, trzeba napisać mniej kodu, działa doskonale z JSON, tracisz wszystkie przełączanie kontekstu.

Do tej pory przeprowadzałem głównie eksperymenty z grami, ale z całą pewnością mogę powiedzieć, że w przyszłości będzie wiele fajnych rzeczy dla wielu graczy (lub nawet MMO), które wykorzystują zarówno HTML5, jak i Node.js.

Node.js wciąż zyskuje na atrakcyjności, nawet kilka lat temu nie jest w pobliżu hype RoR (wystarczy spojrzeć na znacznik Node.js na SO, zaledwie 4-5 pytań dziennie).

Rzym (lub RoR) nie został zbudowany w ciągu nocy i nie będzie Node.js.

node.js ma cały potencjał potrzebuje, ale ludzie wciąż próbują rzeczy, więc sugeruję, aby do nich dołączyć :)

2

Najbliższy rzeczą jest praca eksperymentalna prawdopodobne DAV Glassa przy użyciu node.js , ekspresowe i YUI3. Zasadniczo wyjaśnia on, w jaki sposób YUI3 jest używany do renderowania po stronie serwera, a następnie wysyłany do klienta, gdy występuje powiązanie z wydarzeniem i danymi. Piękno to YUI3 jest używane tak jak jest zarówno na kliencie, jak i na serwerze. Ma wiele sensu. Jedynym dużym problemem jest to, że nie ma jeszcze gotowej biblioteki DOM po stronie serwera.

screencast

+1

Taaak, tak naprawdę ta rozmowa była jedną z rozmów, które wzbudziły we mnie zainteresowanie Node.js (chociaż pomysł używania jquery zamiast YUI http: //blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs jest dla mnie o wiele bardziej ekscytujący) –

Powiązane problemy