Tech News

제목The Modern Java Platform - 2021년판2021-03-18 09:27
작성자 Level 10

https://jamesward.com/2021/03/16/the-modern-java-platform-2021-edition/ 


자바 플랫폼의 현재

- 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 같은 프로젝트에서 모멘텀을 얻기 시작

G
M
T
음성 기능은 200자로 제한됨
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)