ทำการสรุปจากการดู VDO เรื่อง Eighteen Years of Spring
ซึ่งพูดโดยคุณ Rod Johnson
เรียกได้ว่าเป็นผู้สร้าง Spring Framework นั่นเอง
ทำการอธิบายสิ่งที่สร้างและพัฒนาขึ้นมาว่า
เป็นแนวคิดและโครงสร้างอย่างไร
ตลอดจนการเปลี่ยนแปลงต่าง ๆ ที่ผ่านมา จนถึงคำแนะนำต่าง ๆ 
มาดูกันว่ามีอะไรที่น่าสนใจบ้าง

สิ่งแรกที่ยังจำได้คือ หนังสือเล่มแรก Expert One-on-One J2EE Design and Development

มั่นใจว่าหลาย ๆ คนในช่วงนั้นต้องซื้อมาอ่านแน่ ๆ
เนื่องจากเป็นช่วงเวลาของ J2EE ที่ดังและได้รับความนิยมในระดับ enterprise มาก ๆ

จากหนังสือเล่มนี้ผู้เขียนบอกเลยว่า J2EE มันเยอะ มันยาก และซับซ้อนมาก ๆ สำหรับผู้เริ่มต้น
จนไม่สามารถที่จะรับได้เลย !!
ดังนั้นจึงทำให้เกิดหนังสืออีก 2 เล่มตามมาคือ

  • Expert One-on-One J2EE Development without EJB
  • Professional Java Development with the Spring Framework

แน่นอนว่า นี่คือจุดเริ่มต้นของ Spring Framework นั่นเอง (ถูกสร้างมาก่อนหน้านี้อยู่แล้ว คือ ปี 2001)

Make the right thing easy to do.
Don’t constrain developers: empower them to do the right thing more efficiently.

เพื่อให้การพัฒนาระบบงานง่ายและชัดเจนต่อการนำมาใช้งาน

นั่นคือการช่วยลด effort ทั้ง cost และ time ของการพัฒนาได้
เนื่องจากลด code ต่าง ๆ ออกไปให้เหลือเฉพาะ code ที่ต้องพัฒนาระบบงานเท่านั้น
นี่คือเป้าหมายของ Spring framework
ส่งผลให้เป็น framework หลักของการพัฒนาระบบงานด้วยภาษา Java ในเวลาต่อมา

ทางทีม Spring core นั้นก็จะเน้นไปที่คุณภาพของงาน
มากกว่าที่จะขยายทีมเพื่อทำงานให้มากขึ้น
เนื่องจากการเพิ่มคนเข้ามา
อาจจะไม่ช่วยอะไรเท่าไร
แถมจะลดคุณภาพอีกด้วย

ส่วนเรื่องแนวคิดต่าง ๆ ในการสร้าง Spring framework นั้น
ก็มีการนำแนวคิดดี ๆ มาจาก framework อื่น ๆ เช่นกัน
ไม่ว่าจะเป็น Rails, PicoContainer และ DropWizard เป็นต้น
ที่สำคัญก็มีการ reference ไปยังเจ้าของแนวคิดนั้น ๆ ด้วยเสมอ

คำถามที่น่าสนใจคือ Enterprise mindset !!
โดยที่คำว่า Enterprise หมายถึงระบบงานที่มีความซับซ้อนสูง ๆ
และอาจจะมีอายุเยอะ ๆ ด้วย
แน่นอนว่าในปัจจุบันนั้น แนวคิดนี้ไม่น่าจะเหมาะสมอีกต่อไปแล้ว
ยิ่งทำยิ่งช้า ยิ่งทำยิงแพง ยิ่งทำยิ่งพัง !!

ดังนั้นเราต้องการแนวทางที่ช่วยให้พัฒนาและส่งมอบได้อย่างรวดเร็ว
หรือแบบค่อยเป็นค่อยไปแบบ feature by feature 
เป็นแนวทางที่น่าสนใจมาก
แนวคิดนั้นก็คือ Microservices
ซึ่งในส่วน Java ด้วย Spring framework ก็คือ Spring Boot นั่นเอง
ถึงแม้ว่า Spring นั้นจะไม่ได้เหมาะสมกับทุก ๆ งาน
แต่น่าจะเป็นตัวเลือกแรก ๆ ที่ต้องพิจารณากัน

ที่สำคัญในตอนนี้ทาง Spring แนะนำให้พิจารณาภาษา Kotlin
เพื่อนำมาพัฒนาระบบงานเช่นกัน
เทียบ Kotlin กับ Java เหมือนกับ Spring มาแทน J2EE นั่นเอง !!

Reference Website