ทำไมต้องเขียน JavaScript
ส่วนตัวแล้วผมเพิ่งมีประสบการณ์นการเขียน JavaScript แบบจริงๆจังๆ ได้แค่ 2 ปี แต่ก็ติดใจชนิดที่เรียกว่ามีโปรเจคไหนก็พยาม Convince ทีมหรือลูกค้าให้ใช้ JavaScript ได้ด้วยเถิด เหตุผลหลักในการเลือกภาษาใหม่สำหรับตัวเองจากที่เคยพัฒนาด้วย .NET เป็นหลัก มาใช้ภาษาอื่นผมตัดสินใจด้วยเหตุผล ดังต่อไปนี้
ก่อนเลือกภาษา JavaScript ผมลองมาหลายภาษาอย่าง Java , Scala , Ruby , Python แต่ที่คิดว่าถูกจริตของผมมากที่สุด ก็คือภาษา JavaScript มันมี Library มากมายที่สามารถช่วยงานผมในการนำไปพัฒนาซอฟท์แวร์ได้ทุกอย่างเลยทีเดียว มีเยอะชนิดว่าเป็นปัญหาเลือกไม่ถูกกันเลยทีเดียว
สิ่งหนึ่งที่ผมมักจะได้จากการจัดงานและการทำพรีเซนเทชั่นก็คือ เรามักจะได้ความรู้อะไรใหม่ๆเสมอ อย่างก่อนจัดงาน ก็ทำ Slide แล้วหาข้อมูลเกี่ยวกับ
Cross Plaform ของ JavaScript ก็พบว่าเจอของใหม่เข้าแล้ว นี่เลยครับ NativeScript เขียน JavaScript แล้วแปลงเป็น IOS , Android , Window Phone (Comming Soon) ไม่ได้เป็น Web View นะครับ ย้ำครับย้ำ โอ้วบระจ้าว มันยอดมาก
Wide Community
หากลองเข้าเว็บ www.githut.info จะพบว่า JavaScript จะมีการ Commit ขึ้น Github มากที่สุด ข้อมูล ณ วันที่ 18 กค 2558 และจากประสบการณ์ตรงของผมเองและสอบถามผู้ฟังในงาน ไม่มีเว็บแอพโปรเจคไหนที่ไม่มี JavaScript ปะปนอยู่ในโค้ดเลย อย่างน้อยก็ต้องมีฟังก์ชั่นบางอย่างที่ทำที่ฝั่ง Client Side
Support NO-SQL
เรื่องของการรองรับ NO-SQL จริงๆแล้วภาษาไหนก็รองรับ แต่จุดที่อยากให้สังเกตสำหรับโลกการเก็บข้อมูลด้วยฐานข้อมูลอีกประเภทอย่าง NO-SQL ก็คือ ไม่ว่า NO SQL จะพัฒนาด้วยภาษา C หรือ Java แต่ Format ที่มันเก็บ คือ JSON = JavaScript Object Notitaion เฮ้ย เขาเอา JavaScript Object แบบนี้ {firstName:"Apaichon", lastName:"Punopas" , getIDCard : function(){return "xxxxx-xxx-xxxx";}} มาเก็บในฐานข้อมูลได้เลยนะเออ
Free and Standard
JavaScript ฟรี และมีองค์กรอย่าง ECMA คอยกำกับดูแลมาตรฐาน
มุมมองถัดมาก็คือ แล้วตลาดงาน JavaScript ในบ้านเราละ https://codestar.work/research ดูข้อมูลอัพเดตได้ที่ Codestar นะครับแหล่งข้อมูลไอทีอย่างดี
ทีนี้เรามาดูมุมมองเทคโนโลยีต่างๆกันบ้าง
Web MVC Framework มันมีอะไรบ้าง
- Angular Framework - มาแรงและค่อนข้างครบเครื่อง ทำ Data Binding Web Component Module Unit Test และค่าย Google ส่งเข้าประกวด
- Backbone - เป็น JavaScript Framework ที่มีการใช้มานาน มีขนาดเล็ก แต่ยังขาดหลายๆฟังก์ชั่นที่อำนวยความสะดวก เช่น Data Binding , Web Component
- EmberJS - ตัวนี้ค่อนข้างครบเครื่องเหมือน Angular แต่ดูจากหลายๆเว็บจะ Performance ด้อยกว่า และไม่ได้มาจากค่ายยักษ์ก็เลยใช้น้อยกว่า
- Knockout ก็เป็นอีกตัวที่นิยมใช้ แต่ขาดเรื่อง Routing
ถ้าอยากจะทำ Mobile JavaScript ก็เอาไปใช้ได้นะ
รู้จักอยู่ตัวเดียวครับ ก็เป็นข้อดีอย่างหนึ่งที่มีแค่ตัวเดียว เพราะไม่ต้องปวดหัวไปเปรียบเทียบหลายตัว ปัญหาใหญ่ของ JavaScript คือมีเครื่องมือมากเกินไป จนทำให้ไม่รู้ว่า โปรแกรมเมอร์จะลงทุนกับตัวไหนดี ฝั่ง Server ก็ต้อง Node JS เลย https://nodejs.org/
ในการเขียนโปรแกรมเราต้องเจอการจัดการกับ Array มากมาย เช่น ต้องการหา Array หนึ่งตัว เพื่อนำไปแก้ไขข้อมูล ต้องการกรองข้อมูลเอาเฉพาบางอย่างเพื่อไปทำบางอย่าง ต้องการ merge array และอื่นๆอีกมากมาย ก็ลองใช้นี่เลย
เมื่อทำซอฟท์แวร์ไประยะหนึ่ง เราควรพัฒนา User ให้กลายเป็น Super User ด้วยการใช้เครื่อมืออย่าง Diagram หรือ Workflow มีอะไรบ้างละ
ทำแอพไประยะหนึ่งก็ต้องการนำข้อมูลมาวิเคราะห์ ต่างๆนาๆ การนำข้อมูลนำเสนอในรูปแบบกราฟฟิคก็จะช่วยให้สื่อสารกับคนทุกระดับได้ง่ายขึ้น ก็ต้องทำกราฟ
ทำแต่งานน่าเบื่อ แล้วถ้าอยากทำเกมส์ละ
ใน HTML5 จะรองรับ video และ audio อยู่แล้วหลายท่านอาจจะไม่สนใจ Library อื่นๆเท่าไร แต่ลองดูครับอาจจะมีอะไรน่าสนใจกว่า
อยากจะทำ AI , Machine Learning ภาษา JavaScript ก็ทำได้นะเออ
MAP API หลายท่านก็น่าจะรู้จักกันดีอยู่แล้ว
- google map
- here map
- ArcGIS
- leafletjs
- openlayers
- mapbox
Internet Of Things and Robotics สาย Hardware ก็ทำได้นะครับ
- Johnny-five
- intel-iot-devkit
- Cylon.js
- webiopi
- autobahn.ws/js
AR Augmented Reality มีกับเขาด้วย
- oculus-bridge
- js-aruco
- tree.js
สรุปสั้นๆเลยว่า JavaScript ทำได้ทุกอย่าง เป็นการลงทุนที่คุ้มค่าในการศึกษาภาษาเดียวแล้วทำได้หลายๆอย่าง แล้วทำไมเราจะไม่เลือกมันเป็นภาษาแรกๆในการศึกษาละ JavaScript ยังสามารถเขียนได้ทั้งแบบ OOP และ Funtional ซึ่งหลายๆภาษาใหม่ๆก็ปรับตัวเป็นลูกครึ่งกันหมด แต่ข้อเสียของมันก็มีนะ ไว้มาแชร์ให้ฟัง แต่มีเทคโนโลยีหนึ่งที่เพิ่งค้นตอนทำ Slide คือ NativeScript.org ซึ่งสามารถนำ JavaScript ไปเขียน IOS , Android ได้โดยที่แปลงเป็น Native ให้เลย ซึ่งน่าสนใจมาก ผมคงเข้าไปศึกษามันเร็วๆนี้ ดาวโหลด Slide ในงานได้ที่ http://www.slideshare.net/ApaichonPunopas/javascript-day-session-1
ไว้มาแชร์ของท่านอื่นๆในตอนต่อๆไป เรียกได้ว่าทุกคนมีของดีทั้งนั้น แค่นั่งฟังผมก็เก่งขึ้นมานิดนึงเลย
ที่มา:http://khadevmag.blogspot.com/2015/07/javascript-day-1.html