The Modern Java Platform - ฉบับปี 2021
(jamesward.com)สถานะปัจจุบันของแพลตฟอร์ม Java
-
ภาษาโปรแกรม 3 ภาษาใน Top-20 : Java, Scala, Kotlin
-
เครื่องมือพัฒนาที่เป็นมืออาชีพและเติบโตเต็มที่ : IntelliJ IDEA/VS Code, Gradle/Maven/sbt
-
เฟรมเวิร์กที่ช่วยเพิ่มประสิทธิภาพการพัฒนา : Spring Boot, Micronaut, Quarkus, Play, ZIO
-
Reactive Request : R2DBC, sttp, Quill
-
Reactive Event-Driven / Streaming : Akka, ZIO streams/Flink//ksqlDB/Spark
Command Query Responsibility Segregation (CQRS), Event Sourcing (ES), Conflict-free Replicated Data Types (CRDTs)
- Containers : Dockerfile/Jib/Buildpacks, อิมเมจที่อิง OpenJDK (AdoptOpenJDK), Distroless Java image
Spring Boot Containerization, Micronaut Containerization (Gradle | Maven), Quarkus Containerization
-
Serverless และการหลีกเลี่ยง JVM overhead : GraalVM Native Image
-
Fear, Uncertainty, Doubt, and Governance : OpenJDK เป็นโครงการโอเพนซอร์สอย่างเป็นทางการที่มีโครงสร้าง governance แบบ multi-vendor/กระจายศูนย์ (ในกรณีส่วนใหญ่คล้ายกับสภาพแวดล้อมการเขียนโปรแกรมโอเพนซอร์สอื่นๆ)
-
The Future : ระบบนิเวศ Java ยังคงสร้างนวัตกรรมต่อไปในหลายทิศทาง ในแง่ของภาษา Java, Kotlin, Scala กำลังเดินไปคนละทาง แต่ผลลัพธ์บางส่วนก็ถูกแบ่งปันร่วมกัน
ตัวอย่างเช่น
→ pattern matching ของ Scala นั้นยอดเยี่ยมที่สุดระดับต้นๆ ในหมู่ภาษาโปรแกรม และสิ่งนี้ก็ช่วยผลักดันให้ Kotlin และ Java มี pattern matching ที่ดีขึ้น
→ JVM ได้แสดงนวัตกรรมครั้งใหญ่ในด้าน garbage collection และประสิทธิภาพ
→ เมื่อ Project Loom (fiber และ continuation บน JVM) มีความสมบูรณ์มากขึ้น Reactive Programming ก็จะง่ายขึ้น
→ GraalVM เป็นเทคโนโลยีที่น่าทึ่ง
→ Netty ได้เริ่มทำงานรองรับ io_uring (system call ของ Linux แบบ asynchronous เต็มรูปแบบ) แล้ว
→ distributed data ผ่าน CRDT และ CQRS เริ่มสร้าง momentum ในโครงการอย่าง Cloudstate
ยังไม่มีความคิดเห็น