
ทำการสรุปหน่อยว่าในปี 2014 ที่ผ่านมานั้น
การพัฒนา software มีเรื่องอะไรที่น่าสนใจบ้าง
ในมุมมองของนักพัฒนาแบบผม
Docker
เป็น open platform สำหรับนักพัฒนา และ ผู้ดูแลระบบ
ให้สามารถทำการ build, ship และ run ระบบแบบ distributed ได้ง่าย
โดยในปีนี้มีคนนำ docker มาใช้เยอะมาก
และมี partner ต่างๆ มากมาย เช่น IBM, VMware, OpenStack และ Redhat
ถึงแม้ว่า docker ถูกสร้างขึ้นมาเพื่อเป็น linux container
แต่ว่าเมื่อปลายปี 2014 ทาง Microsoft ก็ได้ประกาศ
ให้นักพัฒนารู้ว่า สามารถใช้ docker เพื่อสร้าง container ด้วย Microsoft Windows ได้แล้วนะ
ดังนั้น Docker จึงได้รับความนิยมสูง และ ถูกจับตามองอย่างมาก
และน่าจะพูดได้ว่ามันคือ เครื่องมือแรกสำหรับ DevOps เลยก็ว่าได้
รวมทั้งยังมีเครื่องมืออื่นๆ อีก เช่น Chef และ Puppet เป็นต้น
Java 8
มันคือการเปลี่ยนแปลงอย่างแท้จริงจาก Java 5 หรือ Tiger
โดยมี feature ต่างๆ เพิ่มเข้ามามาก เช่น
- Lambda expression
- Type annotation
- Stream API
- Compact profile
- Security
- Java DB
- HotSpot
ซึ่งถือได้ว่าเป็นปีแห่งการเปลี่ยนแปลงของ Java เลยก็ว่าได้
Swift programming language
ในปี 2014 ทาง Apple ได้แนะนำภาษาใหม่ในการพัฒนาระบบงาน
บนอุปกรณ์ของ Apple ซึ่งปกติจะพัฒนาด้วยภาษา Objective-C
แต่ทาง Apple ได้แนะนำภาษา Swift ขึ้นมา
ซึ่งเป็นภาษาที่มี
- ความทันสมัยมากขึ้นกว่าเดิม
- ปลอดภัยกว่าเดิม
- ประสิทธิภาพการทำงานที่ดีกว่าเดิม
และแน่นอนว่า ต่อไปมันต้องเป็นภาษาหลักแน่นอน
แต่ในปัจจุบันก็ต้องพัฒนาควบคู่ไปกับ Objective-C ก่อนนะ
AngularJS
ในวงการพัฒนาระบบ web application ถ้าใครไม่เคยหรือใช้งาน AngularJS
ก็คงเรียกตัวเองว่าเป็น web developer หรือ frontend developer ไม่ได้นะ
เพราะว่า AngularJS ได้รับความนิยม พอๆ กับแต่ก่อนที่มักจะถามว่าใช้ JQuery ไหมนั่นล่ะนะ
ในช่วงปลายปี 2014 อาจจะตกใจกันพอสมควรกับ
AngularJS 2.0 ที่เปลี่ยนการพัฒนาจากเดิมไปเลย
ยังไม่พอทางด้าน Google ได้ประกาศ AtScript กับ AngularJS
เป็น JavaScript Runtime Type System ใหม่อีกด้วย
ถ้าใครยังไม่รู้จักนี่เชยมากๆ
ดังนั้นเชิญศึกษาได้เลย
Cloud Computing
ในปี 2014 เป็นปีที่ทาง Google และ Microsoft
ให้ความสำคัญกับ public cloud ของตัวเองอย่างมาก
เพื่อต่อสู้กับทาง Amazon
ตัวอย่างเช่นระบบ Office 365 และ Google AppEngine
ที่ได้ทำการเปิด แก้ไข ปรับปรุง เพิ่มความสามารถต่างๆ ให้น่าใช้งาน
ซึ่งหลายๆ ที่มองว่า มันจะมาฆ่า Data Center ได้เลย
เนื่องด้วยระบบ cloud นั้นมีจุดเด่นในเรื่องค่าใช้จ่ายที่ต่ำ
และรองรับการขยายระบบได้ง่าย
Software Security
เรื่องของความปลอดภัย ยังคงเป็นปัญหาหลักในโลกของ software
ดังจะเห็นได้ว่ามีการโจมตีอยู่บ่อยครั้ง เช่น
- Heartbleed
- Shellshock
- Sony hack
ลองคิดดูสิว่า แม้แต่ระบบต่างๆ ที่ใช้กันทั่วโลกยังถูกโจมตีได้
แล้ว software ที่เราๆ ท่านๆ ทำการพัฒนานั้น
มันจะถูกโจมตีได้ง่ายเพียงใด
รวมทั้งเรื่องของ Data security ก็สำคัญมากๆ
ดังนั้น นักพัฒนา software ทุกคน
ควรมีความรู้ด้าน security ด้วยนะครับ
ยังมีเรื่องที่น่าสนใจอีกมากมาย และ น่าจับตามอง เช่น
SQL ยังคงเป็นตัวหลักในการใช้งาน
ถึงแม้ว่าจะมีการพูดคุยถึง NoSQL บ้าง
แต่สิ่งที่พูด และ ได้รับความสนใจมากกว่าก็คือ SQL และ SQL-like
ซึ่งไม่ว่าจะมี product อะไรทางด้านนี้ออกมา
ก็ควรจะต้องเป็นมิตรที่ดีต่อ SQL เสมอ
ไม่เช่นนั้น อาจจะไม่ได้รับความนิยมนะ
ซึ่งถ้ามองดูในตลาดจะเห็นว่า SQL-Like เริ่มเกิดขึ้นมาเยอะ เช่น
- Cassandra Query Language (CQL)
- N1QL ของ CouchDB
- XQuery
- JMS Selector
- Java Stream และ Aggregate operation ก็เช่นกัน
Reactive Manifesto 2.0
ในวงการพัฒนา software ชอบประกาศ manifesto ออกมา
เช่น Agile, Software Craftsmanship เป็นต้น
โดยที่ Reactive manifesto 2.0 ได้รับการพูดถึงเยอะเช่นกัน
เพื่ออธิบายแนวคิดของระบบแบบ Reactive ประกอบไปด้วย
- Responsive
- Resilient
- Elastic
- Message driven
Internet of Thing (IoT)
เป็นแนวคิดที่ได้รับความสนใจสูง
รวมทั้งมีอุปกรณ์ต่างๆ ออกมาอย่างไม่ขาดสาย
รวมทั้งในประเทศไทยด้วย พลาดไม่ได้ด้วยประการทั้งปวงครับ
โดยสรุป
ในปี 2014 นั้น วงการพัฒนา software มีการเคลื่อนไหว เปลี่ยนแปลง อยู่ตลอดเวลา
และทั้งหมดนี้คือ สิ่งที่ผมให้ความสนใจ
ดังนั้น
คุณที่เป็นนักพัฒนา software คิดว่ามีอะไรที่น่าสนใจในปี 2014 ที่ผ่านมาบ้างครับ