แนะนำ MEAN Stack ในยุคที่ Browser เก่งขึ้นและ javascript กำลังจะครองโลก
ในยุคที่ Browser ถูกพัฒนาให้เก่งขึ้นเรื่อยๆ
ภาษาที่ทำงานที่ฝั่ง Browser หรือ ฝั่ง Client อย่าง Javascript
ได้เข้ามามีบทบาทมากขึ้น
จากที่เราคุ้นเคยกับ LAMP Stack (Linux , Apache , MySQL , PHP)
ที่ยึดครองบัลลังก์ ความนิยมในการพัฒนา Web Application มาตลอด
กับการทำงานที่ Server side
วันนี้หันไปทางใหนก็จะได้ยินคำว่า Ajax ,JSON , Single page applicatoin
จนมีผู้จับรวมเทคโนโลยี ยุคใหม่ กับ การพัฒนา Web Application แบบใหม่
นั่นคือ MEAN Stack ประกอบไปด้วย
M = MongoDB
E = Express JS
A = Angular JS
N = Node JS
ลองมาเกริ่นๆ แต่ละตัวดูว่าคืออะไร
MongoDB ตัวนี้คือ Database ที่ใช้เก็บข้อมูลครับ
เหมือนพวก RDBMS อย่าง MySQL , MSSQL , Oracle พวกนี้แหละ
เพียงแต่ MongoDBมันคือฐานข้อมูลแบบ NoSQL
เก็บข้อมูลแบบ Document-oriented
Database แนวๆ นี้มีอยู่หลายตัวครับเช่น HBASE,Cassandra
ซึ่งจะมีข้อดีตรงที่การทำ Scalable แบบ Horizontal คือการกระจายเก็บหลายๆ เครื่อง
เหมาะกับการเก็บข้อมูลปริมาณมากๆ หรือ Big Data
ส่วน MongoDB นั้นจะมีข้อดีอีกแบบนั่นคือ Query-based คือการใช้ SQL query คล้ายๆกับ RDBMS
ทำให้คนที่คุ้นเคยกับ SQL แบบเดิมๆ สามารถเรียนรู้ MongoDB ได้เร็วกว่า HBAS หรือ Cassandra
แล้วจุดเด่นอีกตัวที่ถูกยกให้อยู่ในกลุ่ม MEAN Stack นั้นคือการเก็บข้อมูลแบบ BSON Object
ตัวนี้คล้ายๆกับ JSON ทำให้สามารถใช้งานคู่กับ JavaScript ได้เป็นอย่างดี
Express JS ตัวทำงานบน Middleware ทำหน้าที่เป็น API Server
คอยรับส่งข้อมูลผ่าน AJAX ถ้ามองภาพ MVC ตัวนี้จะอยู่ในส่วนของการจัดการ Business Logic
คอยประมวลผลต่างๆ ก่อนที่จะ ส่งไปที่ Database หรือ ส่งออกไปที่ View
Angular JS ตัวนี้ถือว่ากำลังมาแรงเหมาะกับการนำมาใช้ในการทำ
Single Page Application เป็น Java Script framework ซึ่งพัฒนาขึ้นมาโดยทีมวิศวกร Google
ความสามารถเด่นๆของ Angular JS เช่น
การใส่ Directive ลงใน attribute ของ HTML ได้เลย
การทำ 2 Ways Data Binding คือการ bind ตัวแปรของ javascript เข้ากับ attribute ต่าง
และสามารถ map ผ่าน Model ได้เลย .. เป็นต้น #มันมีเยอะมาก
Node JS ตัวนี้ถือว่ามาแรงสุดในสามโลกเลย
เพราะมันคือ การนำเอา JavaScript ไปทำงานฝั่ง server-side เล่าตรงนี้คงจะยาว ไว้เดี๋ยวจะ
หารายละเอียดของ Node JS มาลงเพิ่มอีกทีนะครับ