นำข้อมูลมาจากบทความ Java Tools and Technologies Landscape for 2014
ว่าด้วยเรื่องของเครื่องมือและเทคโนโลยีต่างๆ ในโลกของ Java ปี 2014 นี้
ว่ามันเป็นอย่างไร ความนิยม แนวโน้มเป็นอย่างไร
เลยนำมาแปลและสรุปกัน ชาว Java ไม่น่าพลาดนะ
เริ่มที่ version ของ Java ปัจจุบันใช้
JavaSE 7 กันเป็นหลัก ส่วน JavaEE ก็ 6 นะ
ใครใช้ต่ำกว่านี้ก็ไม่ต้องกลัวอะไรมากนัก แต่แนะนำให้เปลี่ยนซะ
มาที่ IDE นั้นแน่นอนว่าที่หนึ่งยอดนิยมคือ Eclipse IDE นั่นเอง
ส่วนที่พุ่งแรงมากก็คือ IntelliJ
ภาษาอื่นๆ ที่ทำงานบน JVM มาแรงก็คือ Scala
ทำให้เห็นแล้วว่าสามารถนำไปใช้งานบน production ใหญ่ๆ ได้
เช่นระบบของ Twitter เป็นต้น
ส่วน Groovy, Clojure ก็ได้รับความนิยมขึ้นมาเช่นกัน แต่ยังไม่มากนัก
เรื่องของ Build tool ยังคงอยู่ที่ Apache Maven
ซึ่งถ้าใครยังใช้ Apache Ant อยู่ก็แนะนำให้มาใช้ Apache Maven เสียเถอะ
ส่วนที่กำลังมาแรงก็คือ Gradle นะครับ ลองศึกษาไว้ได้เลย
Application Server ก็ยังมีหลายตัวให้เลือกใช้งาน เช่น
Apache Tomcat, JBoss, Jetty และ Glassfish
ซึ่งถูกใช้ทั้ง production และ development
แต่ตัวที่ได้รับความนิยมสูงสุดก็คือ Jetty, Apache Tomcat และ TomEE
ปล. ไม่ได้พูดถึงพวก commercial นะ เพราะว่า โลกทุกวันนี้เพียงของพวกนี้ก็เพียงพอ
และในอนาคตมันกำลังวิ่งไปสูงสิ่งที่เรียกว่า MicroService
เรื่องของ Web framework พบว่าประมาณหนึ่งในสามของการสำรวจพบว่า
ใช้งาน web framework มากกว่า 1 ตัว
โดยที่ตัวโดดเด่นเลยก็คือ Spring MVC
ส่วน JSF นั้นมีการใช้งานคงที่ ไม่ได้เพิ่มขึ้น
ตัวที่กำลังพุ่งขึ้นมาก็คือ Vaadin
แล้วพวก ORM ล่ะ ( Object Relational Mapping ) แน่นอนว่าคงหนีไม่พ้น Hibernate
ซึ่งมันสามารถนำไปใช้งานร่วมกับตัวอื่นๆ ได้เช่น JPA
เรื่องของ Code Analysis พบว่าหนึ่งในสามของคนที่ถูกสำรวจไม่ได้ใช้เลย
เป็นเรื่องที่น่ากลัวมากๆ
แต่ตัวที่ใช้งานมากๆ ก็คือ Firebugs และ CheckStyle
โดยมักจะใช้ใน Sonar Qube กัน เนื่องจากง่ายต่อการใช้งานและดูแล
ส่วน Continuous Integration Server นั้นนิยมใช้ Jenkins กัน
แต่พบว่ามีจำนวนหนึ่งในห้า ที่ยังไม่ใช้เลย
ในประเทศไทยล่ะ ใช้กันบ้างไหมนะ !!!
มาดูเรื่องของ Database กันบ้าง ซึ่งประกอบไปด้วย RDBMS และ NoSQL
RDBMS ที่ยังคงใช้งานในโลก Java ก็คือ Oracle
และมีการใช้งานพวก Open source ด้วยเช่นกัน
ส่วน NoSQL นั้นตัวที่ได้รับความนิยมสุดๆ คือ MongoDB
Version Control System (VCS) บ้าง แน่นอนว่าปัจจุบันไม่น่าจะหนี Git พ้น
คุณๆ ใช้งานกันหรือเปล่า ??
และอาจไปใช้พวก Mercurial HG ก็ได้
แต่ก็ยังพบว่ามีการใช้งานในระบบเก่าๆ มักจะใช้ SubVersion กัน
Repository สำหรับเก็บ code/library ที่ผ่านการ build เรียบร้อยแล้ว
นิยมใช้ Nexus แต่ความนิยมเริ่มไปที่ JFrog Artifactory แล้ว
มีใครใช้บ้าง ยกมือขึ้น หรือว่าไม่รู้มันคืออะไร ใช้อย่างไร ??
Testing framework เป็นหัวข้อที่ดีมาก โดยในโลกของ Java
จะหนีไม่พ้นกับ JUnit, Mockito รวมไปถึงการทดสอบ Acceptance ที่ใช้ Selenium
ส่วนในปี 2015 นั้นแนะนำให้เตรียมตัวรับกับ
- Java 8
- เรื่องของ Continuous Delivery และ Continuous Deployment ไว้ได้เลยนะครับ
- รวมทั้งภาษาอื่นๆ ที่ทำงานบน JVM ทั้ง Scala, Groovy และ Clojure