ตัวอย่างแอปพลิเคชันเว็บ Node.js / บทช่วยสอน [ปิด]


110

ดังนั้นผมจึงเสร็จสิ้นการดูซีรีส์ยอดเยี่ยมดักลาส Crockford ใน Javascript และในตอนสุดท้าย (ไกล) loopageเขาออกวางทำไม Node.js เป็นโซลูชั่นที่สมบูรณ์สำหรับรหัสที่อยู่ใกล้ฝั่งเซิร์ฟเวอร์

เขาพูดถึงการรักษาสถานะไม่ใช่ในฐานข้อมูล แต่ในการปิดที่ทำงานใน Node.js เขายังระบุว่าระบบเทมเพลต (เช่น JSP, PHP และ ASP) เป็นนามธรรมที่ไม่ดีสำหรับเว็บแอปพลิเคชันที่ซับซ้อนมากขึ้นและ node.js ให้ วิธีแก้ปัญหานี้

และฉันพร้อมที่จะซื้อ แต่ฉันไม่พบตัวอย่างของเว็บแอปพลิเคชันที่ใช้รูปแบบนี้หรือหนังสือหรือแบบฝึกหัดเกี่ยวกับวิธีดำเนินการนี้ ฉันไม่ได้พูดถึงแอปพลิเคชั่นธรรมดา ๆแต่เป็นสิ่งที่จะใช้รูปแบบที่ Crockford พูดถึงในการพูดคุยของเขา มีใครรู้บ้างว่าฉันสามารถหาบทเรียน / ตัวอย่างเว็บแอปพลิเคชันที่เขียนใน Node.js ได้ที่ไหน (และใช่ฉันรู้เกี่ยวกับGeddyและExpressJsแต่ดูเหมือนจะไม่เป็นไปตามรูปแบบที่แตกต่างกันอย่างสิ้นเชิงที่ Crockford พูดถึงและเป็นแบบนั้นมากกว่า รับประสบการณ์ Railsy บน Node.js)

[หมายเหตุจาก 3 ปีในอนาคต: ดูเหมือนว่าExpress , Geddy , Sails , Krakenและทั้งหมดจะนำเฟรมเวิร์ค Rails / Symfony / Spring มาใช้ใหม่จาก Ruby / PHP / Java ในขณะที่สิ่งต่างๆเช่นHoodieและMeteorเป็นความพยายามในกระบวนทัศน์ใหม่ทั้งหมด KOAดูน่าสนใจ แต่เป็นวิธีที่ห่างไกลจากการใช้งาน แต่ดูเหมือนว่ากำลังสร้างจากจุดแข็งของจาวาสคริปต์ที่มีประวัติของแอปพลิเคชัน MVC ในอดีต 3 ปีที่ผ่านมาและยังคงเป็นช่วงเวลาที่น่าตื่นเต้นสำหรับ Nodejs แม้ว่าจะไม่ใช่ช่วงเวลาใหม่อีกต่อไป อย่างน้อยก็มีตัวอย่าง Node ในโลกแห่งความเป็นจริงมากมายที่ใช้อยู่ตอนนี้ ...


10
ฉันคิดว่ามันสร้างสรรค์มาก ฉันกำลังมองหาบทเรียน / แอปพลิเคชัน สิ่งนี้ใช้ได้กับฉัน: de.slideshare.net/gabriele.lana/nodejs-explained-with-examples
MartinL

คำตอบ:


89

ฉันขอแนะนำให้คุณดูบทแนะนำต่างๆที่กำลังจะออกมาเร็ว ๆ นี้ สิ่งที่ฉันชอบคือ:

http://nodetuts.com/

หวังว่านี่จะช่วยได้


1
James shore มีซีรีส์วิดีโอที่เขาพูดถึงการใช้งานgithub.com/jamesshore/lets_code_javascript
Frank Schwieterman

8

การแข่งขันNode Knockoutสิ้นสุดลงเมื่อเร็ว ๆ นี้และมีการส่งเข้าร่วมมากมายบน github ดูเหมือนว่าไซต์การแข่งขันจะใช้งานไม่ได้ในตอนนี้ แต่ฉันแน่ใจว่าคุณสามารถ Google ได้ไม่กี่รายการเพื่อตรวจสอบ


nodeknockout.posterous.com/and-the-winners-areมีรายการบางส่วน แต่ไม่มีลิงก์โดยตรงไปยัง repos github ใด ๆ
Chris Bloom

1
Node Knockout Github repo มีหลายโครงการ: github.com/nko
dhofstet

5

DailyJS มีบทช่วยสอนที่ดี (ชุดยาว 24 โพสต์) ที่จะนำคุณไปสู่ทุกแง่มุมของการสร้างแอป notepad (รวมถึงสิ่งพิเศษที่เป็นไปได้ทั้งหมด)

นี่คือภาพรวมของบทช่วยสอน: http://dailyjs.com/2010/11/01/node-tutorial/

และนี่คือลิงก์ไปยังโพสต์ทั้งหมด: http://dailyjs.com/tags.html#nodepad


4

อัปเดต

Dav กระจกจาก 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 ที่นี่ใน SO แทบจะไม่ 4-5 คำถามต่อวัน)

โรม (หรือ RoR) ไม่ได้สร้างขึ้นในช่วงกลางคืนและ Node.js จะไม่เป็นเช่นนั้น

Node.js มีศักยภาพทั้งหมดที่ต้องการ แต่ผู้คนก็ยังคงทดลองใช้อยู่ดังนั้นฉันขอแนะนำให้คุณเข้าร่วม :)


2

สิ่งที่ใกล้เคียงที่สุดน่าจะเป็นงานทดลองของ Dav Glass โดยใช้ node.js, express และ YUI3 โดยทั่วไปเขาอธิบายถึงวิธีการใช้ YUI3 ในการแสดงผลมาร์กอัปบนฝั่งเซิร์ฟเวอร์จากนั้นส่งไปยังไคลเอนต์ที่มีการเชื่อมโยงกับเหตุการณ์และข้อมูล ความสวยงามคือ YUI3 ถูกใช้ทั้งบนไคลเอนต์และเซิร์ฟเวอร์ เข้าท่ามาก. ปัญหาใหญ่อย่างหนึ่งคือยังไม่มีไลบรารี DOM ฝั่งเซิร์ฟเวอร์ที่พร้อมใช้งานจริง

screencast


1
ใช่จริงๆแล้วการพูดคุยครั้งนี้เป็นหนึ่งในการพูดที่ทำให้ฉันรู้สึกตื่นเต้นเกี่ยวกับ Node.js (แม้ว่าแนวคิดในการใช้ jquery แทนที่จะเป็น YUI blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejsนั้นมีมากขึ้น น่าตื่นเต้นสำหรับฉัน)
Kris Erickson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.