จากการสำรวจเรื่อง The State of JavaScript 2016 นั้น
โดยมีผู้ทำแบบสำรวจมากกว่า 9,000 คน
ได้ผลลัพธ์ออกมาแล้ว
น่าจะทำให้เห็นว่า Ecosystem ของ JavaScript ในปัจจุบันเป็นอย่างไรบ้าง ?
น่าจะตอบคำถามได้มากพอควร เช่น
- สถานะของ JavaScript เป็นอย่างไร ?
- React vs Angular ?
- ใช้ Redux ไหม ?
- ใช้ Vue ไหม ?
- ใช้ Elm ไหม ?
- ใช้ Webpack ไหม ?
- จัดการกับ CSS ยังไงดี ?
หัวข้อแรกคือ JavaScript Flavors
ผลที่ออกมาก็คือ ES6 เป็นมาตรฐานใหม่ที่ได้รับความนิยมสูงมาก ๆ ซึ่งสูงมากพอ ๆ กับ Plain JavaScript เลย ส่วนที่ตามมาห่าง ๆ คือ TypeScript และ CoffeeScript ส่วน Elm และ ClojureScript ก็มีบ้างนิดหน่อย สิ่งที่น่าสังเกตุคือ CoffeeScript เคยได้รับความนิยมสูง แต่ปัจจุบันกลับมีการใช้งานลดลง เนื่องจากมี ES6, TypeScript และ Elm เข้ามาแทนที่ เมื่อดูความสัมพันธ์กับเทคโนโลยีหรือ framework อื่น ๆ พบว่า ES6 นั้นจะสัมพันธ์กับ React, Redux, Webpack, Mocha, Enzyme อย่างแนบแน่น และ ES6 บ้าง แสดงดังรูป ส่วน TypeScript จะมีความสัมพันธ์กับ Angular/Angular2, Jasmine, MEAN stack และ ES6 บ้าง แสดงดังรูปหัวข้อสองคือ Front-end framework ที่ได้รับความนิยม
React นำมาเป็นอันดับ 1 ติดตามมาด้วย Plain JavaScript ซึ่งไม่ใช้ framework ใด ๆ เลย จากนั้นก็ Angular, Angular 2, Vue, Backbone และ Ember ที่แรงมาคือ Vue นั่นเอง เพราะว่า มีจำนวนการใช้งาน และผู้ที่กำลังเรียนรู้เยอะพอ ๆ กับ React และ Angular 2 เลย ถ้าดูในส่วนการเลิกใช้งานจะพบว่า การไม่ใช้ framework ใด ๆ มีจำนวนเยอะมาก เนื่องจากเริ่มมี framework ดี ๆ เข้ามาช่วยเยอะขึ้น พอ ๆ กันกับ Angular ซึ่งน่าจะเป็นเพราะ Angular 2 เช่นเดียวกับ Backbone ที่จำนวนเลิกใช้งานเยอะเหมือนกัน แสดงดังรูปหัวข้อสามคือ เรื่องการจัดการ State
ไม่ใช่เรื่องหลักหรือสิ่งที่จำเป็นเท่าไรนัก บางระบบอาจจะใช้หรือไม่ใช้ก็ได้ หัวข้อนี้หนีไม่พ้น Redux แน่นอน ตามมาด้วย Relay และ Mobx ซึ่งถ้าใช้ Relay ก็ต้องมาคู่กับ GraphQL นะหัวข้อสี่คือ API Layer
แน่นอนว่ายังคงเป็น REST API ที่ได้รับความนิยมสูงสุด โดยมี Firebase, GraphQL ตามมาห่าง ๆ แต่ตัวที่กำลังได้รับความสนใจมาก ๆ คือ GraphQL ซึ่งต้องดูกันต่อไปว่าจะเป็นอย่างไรหัวข้อห้าคือ Testing framework
เป็นสิ่งที่ขาดไม่ได้เลยในปัจจุบัน โดยสิ่งที่ได้รับความนิยมสูง ๆ คือ Mocha และ Jasmine ส่วนที่ตามมาห่าง ๆ คือ Enzyme, Jest, Cucumber และ Ava แสดงดังรูปหัวข้อหกคือ Build tool
เป็นสิ่งที่ขาดไม่ได้เลยสำหรับ JavaScipt สิ่งที่ได้รับความนิยมคือ Webpack และ Gulp ส่วนที่ตามมาคือ Grunt และ Browserify จะสังเกตุได้ว่าสิ่งที่ได้รับความนิยมจะสัมพันธ์กันคือ- Webpack จะถูกใช้จากระบบที่พัฒนาด้วย React + ES6
- Gulp จะถูกใช้งานจากระบบที่พัฒนาด้วย Angular/Angular 2