Các ví dụ / hướng dẫn về Ứng dụng Web Node.js [đã đóng]


110

Vì vậy, tôi xem xong loạt tuyệt vời của Douglas Crockford trên Javascript, và trong tập cuối (cho đến nay), loopage ông đưa ra lý do tại sao Node.js là một giải pháp hoàn hảo cho gần mã phía máy chủ.

Anh ấy nói về việc giữ trạng thái, không phải trong cơ sở dữ liệu, mà trong các bao đóng chạy trong Node.js, anh ấy cũng nói rằng các hệ thống tạo khuôn mẫu (như JSP, PHP và ASP) là một sự trừu tượng kém đối với các Ứng dụng Web phức tạp hơn và node.js cung cấp một giải pháp cho điều này.

Và tôi đã sẵn sàng mua, nhưng tôi không thể tìm thấy bất kỳ ví dụ nào về Ứng dụng web sử dụng mẫu này hoặc bất kỳ sách hoặc hướng dẫn nào về cách thực hiện việc này. Tôi không nói về một ứng dụng đơn giản , mà là một cái gì đó sẽ sử dụng các mẫu mà Crockford đã nói trong bài nói của mình. Bất cứ ai biết nơi tôi có thể tìm thấy một số hướng dẫn / ví dụ về Ứng dụng web được viết bằng Node.js (và vâng, tôi biết về GeddyExpressJs , nhưng chúng dường như không tuân theo các mẫu hoàn toàn khác mà Crockford đã nói đến, và giống hơn có được trải nghiệm Railsy trên Node.js).

[Lưu ý từ 3 năm tới: Có vẻ như Express , Geddy , Sails , Kraken và tất cả đều là bản triển khai lại của các khung công tác Rails / Symfony / Spring từ Ruby / PHP / Java. Trong khi những thứ như HoodieMeteor là những nỗ lực cho một mô hình hoàn toàn mới. KOA trông có vẻ thú vị, nhưng có vẻ như nó đang xây dựng dựa trên thế mạnh của javascript với lịch sử ứng dụng MVC trong quá khứ. 3 năm trôi qua và đó vẫn là khoảng thời gian thú vị đối với Nodejs, ngay cả khi nó không còn là độ hot mới. Ít nhất có rất nhiều ví dụ trong thế giới thực về Node đang được sử dụng ...


10
Tôi nghĩ rằng nó rất mang tính xây dựng. Tôi đã tìm kiếm các hướng dẫn / ứng dụng. Điều này đã làm việc cho tôi: de.slideshare.net/gabriele.lana/nodejs-explained-with-examples
MartinL

Câu trả lời:



8

Cuộc thi Node Knockout đã kết thúc gần đây và nhiều bài dự thi có sẵn trên github. Trang web cạnh tranh dường như không hoạt động ngay bây giờ, nhưng tôi chắc chắn rằng bạn có thể Google lên một vài mục nhập để kiểm tra.


nodeknockout.posterous.com/and-the-winners-are có danh sách một số mục nhập, nhưng không có liên kết trực tiếp đến bất kỳ repos github nào.
Chris Bloom

1
Node Knockout Github repo chứa một số dự án: github.com/nko
dhofstet


4

Cập nhật

Dav Glass từ Yahoo đã có một buổi nói chuyện tại YuiConf2010 vào tháng 11, hiện đã có trong Video từ .

Anh ấy cho thấy khả năng mở rộng tuyệt vời cách người ta có thể sử dụng YUI3 để hiển thị các widget ở phía máy chủ và làm cho chúng hoạt động với các yêu cầu GET khi JS bị tắt hoặc chỉ làm cho chúng hoạt động bình thường khi nó hoạt động.

Anh ấy cũng chỉ ra các ví dụ về cách sử dụng DOM phía máy chủ để áp dụng các biểu định kiểu trước khi hiển thị và các nội dung thú vị khác.

Các bản trình diễn có thể được tìm thấy trên Tài khoản GitHub của anh ấy .

Phần thiếu IMO để làm cho điều này thực sự tuyệt vời, là một số loại lưu trữ cơ bản của trạng thái tiện ích. Để một người có thể truy cập trang mà không cần JavaScript và mọi thứ hoạt động như mong đợi, sau đó họ bật JS và bây giờ tiện ích có trạng thái giống như trước nhưng hoạt động mà không cần tải lại trang, sau đó ném một số lưu vào máy chủ + WebSockets để đồng bộ hóa giữa nhiều mở trình duyệt .... và thế hệ tiếp theo của ARIA's không phô trương và làm giảm chất lượng một cách duyên dáng đã ra đời.

Câu trả lời gốc

Hãy tiếp tục và tự xây dựng nó sau đó.

Nghiêm túc mà nói, 90% tất cả các WebApp hiện có hoạt động tốt với cách tiếp cận REST, tất nhiên bạn có thể làm những điều kỳ diệu như theo dõi người dùng vượt trội, theo dõi lượt tải xuống trong thời gian thực, kiểm tra phần nào của video đang được xem, v.v.

Một vấn đề là khả năng mở rộng, ngay khi bạn có nhiều hơn 1 quy trình Node, nhiều (nhưng không phải tất cả) lợi ích của việc lưu trữ dữ liệu giữa các yêu cầu sẽ biến mất, vì vậy bạn phải đảm bảo rằng các máy khách luôn thực hiện cùng một quy trình. Và thậm chí sau đó, những thứ lớn hơn sẽ lại cần một lớp cơ sở dữ liệu.

Node.js không phải là giải pháp cho mọi thứ, tôi chắc rằng mọi người sẽ tạo ra những thứ thực sự tuyệt vời trong tương lai, nhưng điều đó cần một thời gian, hiện tại nhiều người chỉ đang chuyển mọi thứ sang Node để mọi thứ diễn ra.

Điều (IMHO) làm cho Node.js trở nên tuyệt vời, đó là thực tế là nó hợp lý hóa quá trình Phát triển, bạn phải viết ít mã hơn, nó hoạt động hoàn hảo với JSON, bạn mất tất cả việc chuyển đổi ngữ cảnh.

Tôi chủ yếu thực hiện các thử nghiệm chơi game cho đến nay, nhưng tôi có thể chắc chắn rằng sẽ có nhiều thứ thú vị dành cho nhiều người chơi (hoặc thậm chí là MMO) trong tương lai, sử dụng cả HTML5 và Node.js.

Node.js vẫn đang đạt được sức hút, nó thậm chí không gần bằng RoR Hype vài năm trước (chỉ cần xem thẻ Node.js ở đây trên SO, hầu như không có 4-5 câu hỏi mỗi ngày).

Rome (hoặc RoR) không được xây dựng qua đêm, và Node.js cũng vậy.

Node.js có tất cả những tiềm năng mà nó cần, nhưng mọi người vẫn đang thử mọi thứ, vì vậy tôi khuyên bạn nên tham gia cùng họ :)


2

Điều gần nhất có thể là tác phẩm thử nghiệm của Dav Glass sử dụng node.js, express và YUI3. Về cơ bản, anh ấy giải thích cách YUI3 được sử dụng để hiển thị đánh dấu ở phía máy chủ, sau đó được gửi đến máy khách nơi liên kết với sự kiện và dữ liệu xảy ra. Cái hay là YUI3 được sử dụng nguyên trạng trên cả máy khách và máy chủ. Hãy làm cho nó thêm ý nghĩa hơn. Một vấn đề lớn là chưa có thư viện DOM phía máy chủ sẵn sàng sản xuất.

màn hình


1
Vâng, thực sự cuộc nói chuyện này là một trong những cuộc nói chuyện khiến tôi hào hứng về Node.js (mặc dù ý tưởng sử dụng jquery thay vì YUI blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs còn nhiều hơn thế nữa thú vị đối với tôi)
Kris Erickson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.