javascript framework

20 สิงหาคม 2559 23:00 น.

javascript framework อธิบายง่ายๆมันก็คือ  ภาษาคอมพิวเตอร์สำหรับการเขียนโปรแกรมบนระบบอินเทอร์เน็ต ที่กำลังได้รับความนิยมอย่างสูง JavaScript เป็น ภาษาสคริปต์เชิงวัตถุ (ที่เรียกกันว่า "สคริปต์" (script) ซึ่งในการสร้างและพัฒนาเว็บไซต์ (ใช่ร่วมกับ HTML) เพื่อให้เว็บไซต์ของเราดูมีการเคลื่อนไหว สามารถตอบสนองผู้ใช้งานได้มากขึ้น

   JavaScript เป็นภาษาสคริปต์ที่มีลักษณะดังนี้

  1.เป็นภาษาสคริปต์แบบ lightweight programming language (ภาษาสคริปต์แบบสั้นๆ)

  2. JavaScript สามารถใช้ร่วมกับ HTML และ CSS เพื่อสร้างเเละพัฒนาเว็บไซต์ ที่ใช้ได้กับ web browserรุ่นใหม่ๆ และใช้ได้ทั้ง PCs, laptops, tablets, smart phones, ด้วย

 

ความสามารถของ JavaScript

- ทำให้สามารถเขียนโปรแกรมแบบง่ายๆ ได้ โดยไม่ต้องพึ่งภาษาอื่น

- มีคำสั่งที่ตอบสนองต่อผู้ใช้งาน

- ใช้ตรวจสอบข้อมูลได้ เช่น เตือนเมื่อกรอกรูปแบบข้อมูลผิดพลาด

- ใช้ตรวจสอบผู้ใช้ได้ เช่น ตรวจสอบว่าผู้ใช้งานใช้ Browser อะไร

- สร้าง Cookies ได้

- สร้างลูกเล่นให้เว็บไซต์ได้

  

เมื่อก่อนการสร้างเว็บไซต์ในยุคแรกๆ นิยมให้การทำงานแบบ  LAMP แล้ว LAMP คืออะไรแหละ

LAMP เป็นตัวอักษรย่อของโอเพ่นซอร์สซอฟต์แวร์ 4 ชนิด มารวมกัน เพื่อทำหน้าที่เป็นเครื่องให้บริการเว็บ (Web Server) อันประกอบด้วย Linux, Apache, MySQL และ PHP, Perl หรือ Python ขึ้นอยู่กับว่าจะใช้อะไรเป็นหลัก

                                           

 

ปัจจุบันมีความต้องการให้เว็บไซต์มีการตอบสนองกับผู้ใช้งานได้มากขึ้น และต้องการความ Real-time มากขึ้นแลต้องมีความรวดเร็วจึงมีการนำเทคโนโลยีและความสามารถของ javascript framework เข้าช่วยในการตอบสนองผู้ใช้งานและยังช่วยให้เว็บไซต์รวดเร็วยิ่งขึ้นและได้มีการดึงความสามารถของเจ้า JavaScript มาพัฒนาเป็นตัว MEAN Stack และเจ้าตัว MEAN Stack คืออะไรแหละ

 

จะเห็นได้ว่า MEAN Stack ย่อมาจากชื่อ Software 4 ตัวนั้นก็คือ MongoDB, Express.js,  AngularJS, Node.js

                MongoDB คือฐานข้อมูลแบบ NoSQL ซึ่งหัวใจหลักของการออกแบบ MongoDB มี 2 อย่างก็คือ Scalable หรือง่ายต่อการขยายขนาดระบบ และ Query-based ก็คือเราสามารถเรียกข้อมูลได้โดยการ query ที่เหมือนกับ SQL query ดังนั้นการย้ายจาก SQL มาเป็น NoSQL จึงไม่เป็นเรื่องที่น่าปวดหัวมากเท่าไหร่

               

                Node.js นี้มีประวัติที่น่าสนใจมาก โดยถูกพัฒนาขึ้นโดย Ryan Dahl ซึ่งในตอนแรกเค้าอยากจะสร้างเว็บที่สามารถ push ข้อความได้แบบ real-time แต่หลังจากทดลองเขียนด้วยทั้งภาษา C และ Lua ก็ไม่ประสบความสำเร็จ จนกระทั่ง Google ได้ปล่อย V8 Engine ออกมา ซึ่งเป็น JavaScript Engine ที่อยู่เบื้องหลังความเร็วปรู๊ดปร๊าดของ Google Chrome และไปเตะตา Ryan Dahl เข้าจึงกำเนิดเป็น Node.js ซึ่งเป็นตัวรัน JavaScript ฝั่ง server-side ด้วยเอกลักษณ์ของ JavaScript ที่เป็น non-blocking architecture โดยกำเนิดทำให้ Node.js โดดเด่นเหนือภาษาอื่นๆทั้งในด้านประสิทธิภาพและการรับโหลดหนักๆ นี่เป็นสิ่งที่ทำให้ Node.js ได้รับความนิยมและเป็นอันดับ 1 ของภาษายอดนิยมใน GitHub (นับรวมกับ js บน Browser)

               

                Express.js คือ web framework ตัวหนึ่งซึ่ง Express.js เนี่ยก็มีจุดเด่นตรงที่ความยืดหยุ่นสูงมาก เราสามารถเอามาใช้เขียนเว็บทั่วไปก็ได้ แต่ถ้าจะทำ Single Page Application เราก็จะใช้ Express.js เป็น API server คอยหน้าที่รับ-ส่งข้อมูลผ่าน AJAX

               

                AngularJS framework ตัวนี้ทำหน้าที่เป็น Single Page Application บน Browser คือทั้งเว็บจะมีแค่เพจเดียว และการเปลี่ยนหน้าจะใช้ผ่าน hashtag ตัวอย่างเช่น abc.com #/path/to/page และข้อมูลต่างๆ ที่ต้องติดต่อกับ server จะส่งผ่าน AJAX request

                สิ่งที่ AngularJS ทำได้มีเยอะมาก ตัวเด่นๆ มายั่วให้ดูก่อน อย่างแรกคือ 2-way Data Binding ระหว่าง model กับ view ป็นการ bind ระหว่าง model ที่ชื่อ name เข้ากับการแสดงผลในหน้า view เมื่อเราพิมพ์ข้อความเข้าไปใน textbox ก็จะขึ้นมาปรากฎในช่อง {{ name }} ทันที และเราสามารถนำตัวแปรนี้ไปใช้ที่อื่นก็ได้ เช่นส่งไปให้ server เป็นต้น

               

และเราควรที่จะเปลี่ยนมาใช้ LAMP Stack หรือ MEAN Stack ดีเพราะว่าปัจจุบัน Browser มีประสิทธิภาพมากขึ้นเรื่อยๆ การให้ Server ประมวลผลทุกอย่างนั้นไม่ใช่เป็นเรื่องที่ดีอีกต่อไป และอีกอย่างนึงก็คือการที่ทั้ง Stack นั้นเป็น javascript framework ทำให้ project ราบรื่นขึ้นเพราะว่า developer สามารถย้ายมาช่วยงานอีกฝั่งได้แบบที่ไม่ต้องสับสนกับภาษาใหม่ แถมมันยังทำให้เว็บไซต์รองรับผู้ใช้งานจำนวนมากๆได้โดยทีสามารถลดภาระการทำงานของserver ได้ด้วย

02-138-3515-6