Node.js 웹 애플리케이션 예제 / 튜토리얼 [닫힌]


110

나는 자바 스크립트에 더글러스 크록 포드의 우수한 시리즈를 시청 완료하고, (지금까지) 마지막 에피소드에서, 그래서 loopage는 Node.js를 서버 측 코드에 대한 거의 완벽한 솔루션입니다 왜 그가 배치합니다.

그는 데이터베이스가 아니라 Node.js에서 실행되는 클로저에서 상태를 유지하는 것에 대해 이야기하며, 템플릿 시스템 (JSP, PHP 및 ASP와 같은)은 더 복잡한 웹 애플리케이션에 대한 추상화가 좋지 않으며 node.js가 제공한다고 말합니다. 이것에 대한 해결책.

구매할 준비가되었지만이 패턴을 사용하는 웹 애플리케이션의 예나이를 수행하는 방법에 대한 책이나 튜토리얼을 찾을 수 없습니다. 나는 단순한 애플리케이션 에 대해 말하는 것이 아니라 Crockford가 그의 강연에서 말한 패턴을 사용하는 것입니다. 누구든지 Node.js로 작성된 웹 애플리케이션의 튜토리얼 / 예제를 어디서 찾을 수 있는지 알고 있습니다 (예 : GeddyExpressJ 에 대해 알고 있지만 Crockford가 말한 근본적으로 다른 패턴을 따르지 않는 것 같습니다. Node.js에서 Railsy 경험을 얻음).

[3 년 후의 참고 사항 : Express , Geddy , Sails , Kraken 등은 모두 Ruby / PHP / Java의 Rails / Symfony / Spring 프레임 워크를 다시 구현 한 것 같습니다 . HoodieMeteor 와 같은 것은 완전히 새로운 패러다임에 대한 시도입니다. KOA 는 흥미로워 보이지만 사용할 수있는 것과는 거리가 멀지 만 과거의 MVC 응용 프로그램의 역사와 함께 자바 스크립트의 강점을 기반으로 구축 된 것처럼 보입니다. 3 년이 지난 지금은 더 이상 새로운 인기가 아니더라도 Nodejs에게는 여전히 흥미 진진한시기입니다. 적어도 현재 사용중인 Node의 실제 사례가 많이 있습니다.


10
매우 건설적이라고 생각합니다. 튜토리얼 / 애플리케이션을 찾고있었습니다. 이것은 나를 위해 일했습니다 : de.slideshare.net/gabriele.lana/nodejs-explained-with-examples
MartinL

답변:



8

노드 녹아웃 경쟁은 최근에 싸서 및 제출의 대부분은 GitHub의에서 사용할 수 있습니다. 경쟁 사이트가 현재 작동하지 않는 것 같지만 Google에서 몇 가지 항목을 확인하여 확인할 수 있다고 확신합니다.


nodeknockout.posterous.com/and-the-winners-are 에는 일부 항목 목록이 있지만 github 저장소 에 대한 직접 링크는 없습니다.
Chris Bloom

1
Node Knockout Github 저장소에는 여러 프로젝트가 포함되어 있습니다. github.com/nko
dhofstet


4

최신 정보

야후에서 DAV 유리에서 사용할 수 있습니다 11 월 YuiConf2010에서 이야기 주신 에서 비디오 .

그는 YUI3를 사용하여 서버 측에서 위젯을 렌더링하고 JS가 비활성화되었을 때 GET 요청과 함께 작동하도록하거나 활성 상태 일 때 정상적으로 작동하도록 만드는 방법을 크게 확장했습니다.

그는 또한 서버 측 DOM을 사용하여 렌더링하기 전에 스타일 시트를 적용하는 방법과 기타 멋진 것들을 보여줍니다.

데모는 GitHub 계정 에서 찾을 수 있습니다 .

이것을 정말 멋지게 만들기 위해 IMO가 누락 된 부분은 일종의 위젯 상태의 기본 저장소입니다. 자바 스크립트없이 페이지를 방문 할 수 있고 모든 것이 예상대로 작동 할 수 있도록 JS를 켜고 이제 위젯이 이전과 동일한 상태를 가지지 만 페이지를 다시로드하지 않고 작동 한 다음 서버 + WebSockets에 저장하여 여러 항목간에 동기화합니다. 개방형 브라우저 .... 그리고 눈에 거슬리지 않고 우아하게 저하되는 차세대 ARIA가 탄생했습니다.

원래 답변

그럼 직접 만들어보세요.

진지하게, 모든 웹앱의 90 %는 REST 접근 방식으로 잘 작동합니다. 물론 우수한 사용자 추적, 실시간 다운로드 추적, 비디오의 어느 부분이 시청되고 있는지 확인하는 등의 마법 같은 일을 할 수 있습니다.

한 가지 문제는 확장 성입니다. 노드 프로세스가 1 개 이상이면 요청 사이에 데이터를 저장하는 데 따른 많은 (전부는 아니지만) 이점이 사라 지므로 클라이언트가 항상 동일한 프로세스에 도달하도록해야합니다. 그리고 더 큰 것에도 데이터베이스 계층이 다시 필요합니다.

Node.js는 모든 것에 대한 해결책이 아닙니다. 사람들이 미래에 정말 멋진 것을 만들 것이라고 확신합니다.하지만 시간이 좀 필요합니다. 현재 많은 사람들이 작업을 진행하기 위해 Node로 항목을 이식하고 있습니다.

(IMHO)가 Node.js를 그토록 훌륭하게 만드는 이유는 개발 프로세스를 간소화하고, 코드를 적게 작성해야하고, JSON과 완벽하게 작동하고, 모든 컨텍스트 전환을 잃어버린다는 사실입니다.

지금까지 주로 게임 실험을했지만 앞으로 HTML5와 Node.js를 모두 사용하는 멋진 멀티 플레이어 (또는 MMO)가 많이 나올 것이라고 확신 할 수 있습니다.

Node.js는 여전히 주목을 받고 있습니다. 몇 년 전만해도 RoR Hype에 가까웠습니다 (하루에 4 ~ 5 개의 질문이 거의없는 여기에서 Node.js 태그를 살펴보세요).

로마 (또는 RoR)는 밤새 만들어지지 않았으며 Node.js도 마찬가지입니다.

Node.js는 필요한 모든 잠재력을 가지고 있지만 사람들은 여전히 ​​시도하고 있으므로 참여하는 것이 좋습니다. :)


2

가장 가까운 것은 node.js, express 및 YUI3를 사용한 Dav Glass의 실험 작업 일 것입니다. 기본적으로 그는 YUI3를 사용하여 서버 측에서 마크 업을 렌더링 한 다음 이벤트 및 데이터에 대한 바인딩이 발생하는 클라이언트로 보내는 방법을 설명합니다. 아름다움은 YUI3가 클라이언트와 서버 모두에서 그대로 사용된다는 것입니다. 많은 의미가 있습니다. 한 가지 큰 문제는 아직 생산 준비가 된 서버 측 DOM 라이브러리가 없다는 것입니다.

스크린 캐스트


1
오히려 유이가보다 jQuery를 사용하는 아이디어하지만 그래, 사실이 이야기는 (나 Node.js를에 대해 흥분 회담 중 하나였다 blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs~~V이 훨씬 더 나를 위해 흥분)
Kris Erickson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.