Posts The Modern Java Platform - 2021년판
Post
Cancel

The Modern Java Platform - 2021년판

자바 플랫폼의 현재

  • 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 오버헤드 피하기 : GraalVM Native Image
  • Fear, Uncertainty, Doubt, and Governance : OpenJDK는 멀티벤더/분산형 거버넌스 구조를 가진 정규 오픈소스 프로젝트임(대부분의 경우 다른 오픈소스 프로그래밍 환경들과 비슷)
  • The Future : Java 에코시스템은 여러방향으로 혁신을 계속 하는 중. 언어측면에서 Java, Kotlin, Scala가 다른 방향으로 나아가고 있지만 효과는 어느정도 공유됨
    • Scala의 패턴 매칭은 프로그래밍 언어들중 최고라서 이게 Kotlin 과 Java에 더 좋은 패턴 매칭을 유도하는데 도움이 되었음
    • JVM은 가비지 컬렉션 및 성능관련해서 엄청난 혁신을 보였고
    • Project Loom(JVM위에서 fiber 와 continuation)이 더 성숙해지면 Reactive Programming이 더 쉬워질 것
    • GraalVM은 놀라운 기술이고
    • Netty 는 이미 io_uring(완전 비동기식 Linux 시스템 호출) 지원 작업을 시작했음
    • CRDT 와 CQRS를 통한 분산 데이터가 Cloudstate 같은 프로젝트에서 모멘텀을 얻기 시작
This post is licensed under CC BY 4.0 by the author.