Node.js คืออะไร ?




Node.js คืออะไร ?

สำหรับคำถามที่ว่า Node.js คืออะไร หากจะตอบแบบสั้นๆ มันก็คือ การเขียนโปรแกรมด้วย JavaScript ที่ฝั่ง server แทนที่ปกติแล้วจะเป็นฝั่ง client แต่จริงๆ แล้ว Node.js นั้นจะรวมไปถึง environment ต่างๆ ที่ทำขึ้นเพื่อให้เราเขียน JavaScript เอาไว้ที่ฝั่ง server ได้ด้วย(webserver,  runtime และอื่นๆ) เรียกได้ว่ามันก็คือ platform นั่นเอง

แล้ว Node.js เกี่ยวอะไรกับเรา ?

เนื่องจาก Node.js นั้นขึ้นชื่อในด้านความเร็วของการประมวลผล จึงทำให้ application ที่เขียนด้วย Node.js นั้นมีจำนวนเพิ่มขึ้นอย่างรวดเร็ว ซึ่งรวมไปถึง application ที่จะช่วยให้การพัฒนาเว็บไซต์เป็นไปอย่างราบรื่นมากขึ้นด้วย โดยบทความนี้จะขอเน้นไปที่วิธีการนำ application เหล่านั้นมาใช้ให้เกิดประโยชน์ในการทำเว็บไซต์


วิธีติดตั้ง Node.js
การจะนำ application ที่เขียนด้วย Node.js มาใช้งาน เราจะต้องติดตั้ง Node.js เสียก่อน => Download



ให้เราเลือก download แบบ installer มาก็ได้ เพราะขั้นตอนการติดตั้งจะไม่ยุ่งยากเท่าไรนัก





เมื่อติดตั้งเสร็จแล้ว ให้เราเปิด Command-line Interface(Command Prompt, Terminal) ขึ้นมา แล้วลองพิมพ์คำสั่งนี้ดู

node -v

หากเลขเวอร์ชันของ Node.js แสดงขึ้นมา ก็แปลว่าเราได้ติดตั้ง Node.js เรียบร้อยแล้วค่ะ


รู้จักกับ npm

อย่างที่ได้กล่าวไปแล้วว่า เราไม่ได้จะมาเขียน application ขึ้นมาใช้เอง แต่เราจะเลือกหยิบ application ที่มีคนเขียนเอาไว้ดีแล้วมาใช้เลยต่างหาก ในขั้นตอนที่ว่านี้ เราจะทำผ่านสิ่งที่เรียกว่า “npm”

npm นั้นจะถูกติดตั้งมาพร้อมกับ Node.js เพื่อทำหน้าที่จัดการ package เสริมต่างๆ ไม่ว่าจะเป็นการติดตั้ง application หรือการติดตั้ง module ต่างๆ ที่เป็น dependency ของ application เพียงแค่เราระบุชื่อ package ที่ต้องการจะใช้ มันก็จะไปตรวจสอบชื่อ package นั้นใน registry เมื่อพบแล้ว มันก็จะดาวน์โหลด package นั้นๆ มาให้เราทันที นอกจากนั้น การนำ application ที่เราเขียนเองไปเพิ่มไว้ใน registry ของ npm ก็สามารถทำผ่าน npm ได้เช่นกัน

สำหรับวิธีใช้ npm นั้นก็ไม่มีอะไรยากเลย เพียงแค่เราเปิด Command-line Interface ขึ้นมา แล้วเข้าไปยัง path ที่ต้องการจะติดตั้ง(ที่อยู่ของ project เรา)


npm install ชื่อเพคเกจ

เพียงเท่านี้ package ที่เราระบุก็จะถูกติดตั้งเรียบร้อยแล้ว

แล้วเราจะหา package ได้จากไหน ?

ให้เราลองเข้าไปดู package ที่น่าสนใจได้จาก official website ของ npm ได้เลย ที่ npmjs.org โดยทางเว็บไซต์จะมีหน้าจัดอันดับ package ที่มียอดดาวน์โหลดสูงสุดเอาไว้ด้วย ทำให้เรารู้ว่าในขณะนี้ คนกำลังนิยมใช้ package อะไรกันอยู่บ้าง

สำหรับวิธีใช้งานของแต่ละแพคเกจนั้นจะแตกต่างกันออกไป โดยเราสามารถอ่านวิธีใช้งานพื้นฐานของ package นั้นๆ ได้ที่หน้ารายละเอียดของ package ที่ทาง npmjs.org ได้จัดทำไว้ แต่ถ้ายังไม่ละเอียดพอ เราก็สามารถเข้าไปอ่านคู่มือการใช้งานได้ที่เว็บไซต์หลักของ package นั้นๆ

แนะนำ package สำหรับ Front-end Engineer
bower
เป็น package manager ที่สร้างโดย Twitter เอาไว้สำหรับติดตั้ง/อัพเดท 3rd-party ต่างๆ(เช่นพวก jQuery plugin) ได้ในการรันคำสั่งเพียงครั้งเดียว ทำให้เราไม่ต้องไปเข้าทีละเว็บแล้วดาวน์โหลดมาอีกต่อไป
gulp
เอาไว้รัน task ต่างๆ เพื่อที่จะได้ไม่ต้องมาทำเองอีกต่อไป เราสามารถสั่งให้คอมไพล์ไฟล์ Sass ในทันทีที่มีการแก้ไข หรือแม้แต่สั่งให้รีเฟรช Web Browser ทุกครั้งที่มีการแก้ไข HTML เป็นต้น
เมื่อเราได้ลองใช้ทั้ง bower และ gulp แล้ว ก็จะเห็นว่า Node.js นั้น ช่วยเราได้มากเลยจริงๆ หากใครเคยคิดจะศึกษา Node.js มาก่อนหน้านี้ แล้วยังไม่ค่อยเข้าใจ เราอาจไม่จำเป็นต้องรู้วิธีเขียนของมันก็ได้ ขอเพียงแค่เรารู้วิธีนำมันมาใช้ให้เกิดประโยชน์กับงานของเราก็น่าจะเพียงพอแล้ว