state-of-js
จากการสำรวจเรื่อง 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 เข้ามาแทนที่

js-01

เมื่อดูความสัมพันธ์กับเทคโนโลยีหรือ framework อื่น ๆ พบว่า
ES6 นั้นจะสัมพันธ์กับ React, Redux, Webpack, Mocha, Enzyme อย่างแนบแน่น และ ES6 บ้าง
แสดงดังรูป

js-02

ส่วน TypeScript จะมีความสัมพันธ์กับ Angular/Angular2, Jasmine, MEAN stack และ ES6 บ้าง
แสดงดังรูป

js-08

หัวข้อสองคือ Front-end framework ที่ได้รับความนิยม

React นำมาเป็นอันดับ 1
ติดตามมาด้วย Plain JavaScript ซึ่งไม่ใช้ framework ใด ๆ เลย
จากนั้นก็ Angular, Angular 2, Vue, Backbone และ Ember
ที่แรงมาคือ Vue นั่นเอง เพราะว่า มีจำนวนการใช้งาน
และผู้ที่กำลังเรียนรู้เยอะพอ ๆ กับ React และ Angular 2 เลย

ถ้าดูในส่วนการเลิกใช้งานจะพบว่า
การไม่ใช้ framework ใด ๆ มีจำนวนเยอะมาก
เนื่องจากเริ่มมี framework ดี ๆ เข้ามาช่วยเยอะขึ้น
พอ ๆ กันกับ Angular ซึ่งน่าจะเป็นเพราะ Angular 2
เช่นเดียวกับ Backbone ที่จำนวนเลิกใช้งานเยอะเหมือนกัน

แสดงดังรูป

js-04

หัวข้อสามคือ เรื่องการจัดการ State

ไม่ใช่เรื่องหลักหรือสิ่งที่จำเป็นเท่าไรนัก
บางระบบอาจจะใช้หรือไม่ใช้ก็ได้
หัวข้อนี้หนีไม่พ้น Redux แน่นอน
ตามมาด้วย Relay และ Mobx

ซึ่งถ้าใช้ Relay ก็ต้องมาคู่กับ GraphQL นะ

หัวข้อสี่คือ API Layer

แน่นอนว่ายังคงเป็น REST API ที่ได้รับความนิยมสูงสุด
โดยมี Firebase, GraphQL ตามมาห่าง ๆ
แต่ตัวที่กำลังได้รับความสนใจมาก ๆ คือ GraphQL
ซึ่งต้องดูกันต่อไปว่าจะเป็นอย่างไร

js-05

หัวข้อห้าคือ Testing framework

เป็นสิ่งที่ขาดไม่ได้เลยในปัจจุบัน
โดยสิ่งที่ได้รับความนิยมสูง ๆ คือ Mocha และ Jasmine
ส่วนที่ตามมาห่าง ๆ คือ Enzyme, Jest, Cucumber และ Ava
แสดงดังรูป

js-06

หัวข้อหกคือ Build tool

เป็นสิ่งที่ขาดไม่ได้เลยสำหรับ JavaScipt
สิ่งที่ได้รับความนิยมคือ Webpack และ Gulp
ส่วนที่ตามมาคือ Grunt และ Browserify

จะสังเกตุได้ว่าสิ่งที่ได้รับความนิยมจะสัมพันธ์กันคือ

  • Webpack จะถูกใช้จากระบบที่พัฒนาด้วย React + ES6
  • Gulp จะถูกใช้งานจากระบบที่พัฒนาด้วย Angular/Angular 2

แสดงดังรูป

js-07

ปิดท้ายด้วยคำถามต่าง ๆ ที่น่าสนใจ

ปัจจุบันการสร้างระบบด้วย JavaScript นั้นมีความซับซ้อนเกินไปหรือไม่ ?
ส่วนใหญ่ตอบว่าใช่
ซึ่งมันอาจจะเป็นปัญหาในอนาคตได้

Ecosystem ของ JavaScript มันเปลี่ยนเร็วมากหรือไม่ ?
ส่วนใหญ่ตอบว่าใช่
บางครั้งเร็วมันก็ดี
แต่บางครั้งก็ช้าบ้างก็ได้นะ

แล้วคิดว่า JavaScript มันมีทิศทางที่ถูกต้องหรือไม่ ?
ส่วนใหญ่ตอบว่าถูกต้อง

สนุกกับการพัฒนาระบบด้วย JavaScript หรือไม่ ?
ส่วนใหญ่ตอบว่ามาก

สุดท้ายคิดอย่างไรกับแบบสำรวจครั้งนี้
ตอบเลยว่า แม่งยาวมาก ๆ

สามารถอ่านบทสรุปแบบละเอียดได้ที่ The State of JavaScript 2016