JavaRush /Java Blog /Random-KO /2021년 Java 동향: Kotlin, 마이크로서비스 아키텍처 및 Kubernetes

2021년 Java 동향: Kotlin, 마이크로서비스 아키텍처 및 Kubernetes

Random-KO 그룹에 게시되었습니다
개발의 세계는 매우 빠르게 변화하고 있습니다. 변화를 따라가려면 이 세상에서 무슨 일이 일어나고 있는지 이해해야 합니다. 트렌드를 알면 빠르게 변화하는 트렌드에 적응할 수 있습니다. 인공 지능, 통합 수의 증가, 사물 인터넷은 글로벌 프로그래밍 트렌드의 일부일뿐입니다. JavaRush는 Java 프로그래밍 전문가이자 강사인 Andrey Rodionov에게 2021년 Java에 어떤 일이 일어날지 물었습니다.2021년 Java 트렌드: Kotlin, 마이크로서비스 아키텍처 및 Kubernetes - 1

어떤 영역에서 Java가 여전히 유일한 솔루션입니까?

가까운 미래에 Java는 엔터프라이즈 애플리케이션( 즉, 대기업이 돈을 벌기 위해 사용하는 기업 애플리케이션. 이러한 애플리케이션은 대규모 코드 기반과 높은 안정성 요구 사항을 갖습니다. ) 및 백엔드를 개발하기 위한 주요 플랫폼 중 하나로 남을 것입니다. Java는 마이크로서비스 작성을 위한 유일한 대안은 아니지만 마이크로서비스 아키텍처에 잘 맞습니다.

Java와 비교하여 다른 JVM 언어, 특히 Kotlin의 전망은 어떻습니까?

Groovy 및 Scala 언어에 대한 과대광고 이후 Kotlin은 현재 최고의 JVM 언어입니다 . 이는 이미 Android 개발의 표준이 되었지만 Java 기업 세계에서는 아직 그 자리를 차지하지 못했습니다. 많은 인기 프레임워크( Spring , Vert.x , gRPC , RSocket )도 이에 의존하므로 자체적으로 사용할 수 있습니다.

Kotlin은 Java Virtual Machine 위에서 실행되며 JetBrains에서 개발한 정적으로 유형이 지정된 객체 지향 프로그래밍 언어입니다. 또한 LLVM 인프라를 통해 다양한 플랫폼에서 JavaScript 및 실행 코드로 컴파일됩니다.

Kotlin 기능: JVM 바이트코드 또는 JavaScript, 오픈 소스, 읽기 쉬운 구문으로 컴파일되며 Kotlin 프로그램은 기존 Java 프레임워크 및 라이브러리를 사용할 수 있습니다.

릴리스 간격이 짧아지면 Java 품질이 저하됩니까?

그렇지는 않을 것입니다. 이전의 경우처럼 다음 릴리스까지 몇 년을 기다리지 않고 언어의 혁신이 준비되면 릴리스될 것입니다. 일부 릴리스는 매우 인기 있는 혁신을 가져오지 않기 때문에 개발자가 눈치채지 못할 수도 있습니다.

Spring 프레임워크: 다양한 요구에 맞게 생태계를 계속 확장할 예정인가요?

Spring 생태계는 계속해서 활발하게 발전하고 있으며, 나는 이전에 들어본 적이 없는 또 다른 하위 프로젝트를 주기적으로 발견합니다. Spring의 하위 프로젝트로 등장한 Project Reactor와 r2dbc가 이제는 Reactive 접근 방식의 표준이 되었다고 할 수 있다는 점도 주목할 만하다.

Project Reactor는 반응형 프로그래밍 모델을 구현하는 Java 8 라이브러리입니다. 이는 반응형 애플리케이션 구축을 위한 표준인 Reactive Streams 사양을 기반으로 구축되었습니다.

R2DBC(Reactive Relational Database Connectivity)는 SQL용 반응형 프로그래밍 전용 오픈 소스 프로젝트입니다.

클라우드 인프라 IaaS, SaaS, PaaS 개발 동향은 무엇입니까? 클라우드를 사용하면 어떻게 인프라를 더 쉽게 개발, 배포, 유지 관리 및 확장할 수 있나요?

여기서 주요 추세는 계속해서 Kubernetes와 서비스 메시 형태의 주변 인프라입니다. 자존심이 강한 모든 클라우드 제공업체는 Kubernetes 클러스터를 사용할 수 있는 기회를 제공합니다. Kubernetes에서 실행되도록 애플리케이션을 작성하면 배포 및 확장이 훨씬 쉬워집니다.

Kubernetes(K8s)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 소프트웨어입니다.

Kubernetes는 보다 쉬운 관리 및 검색을 위해 애플리케이션을 구성하는 컨테이너를 논리 단위로 그룹화합니다.

Kubernetes는 다수의 호스트에서 컨테이너를 관리 및 실행하며 다수의 컨테이너를 공동 배치하고 복제할 수 있습니다. 이 프로젝트는 Google에서 시작되었으며 현재 Microsoft, RedHat, IBM 및 Docker를 포함한 많은 회사에서 지원됩니다.

2021년에 주목할 만한 다른 개발 트렌드는 무엇입니까?

여전히 증가하고 있는 흥미로운 추세 중 하나는 GraalVM 네이티브 이미지입니다. 이를 통해 기존 Java 애플리케이션을 JVM 및 관련 라이브러리가 작동하지 않아도 되는 바이너리 애플리케이션으로 전환할 수 있습니다. 이러한 바이너리 파일은 애플리케이션의 새 인스턴스를 매우 빠르게 시작할 수 있고 JVM을 "워밍업"할 필요가 없기 때문에 마이크로서비스 아키텍처 및 서버리스 접근 방식에 매우 적합합니다.

최근 Java 개발로 인해 젊은 개발자에 대한 요구 사항이 변경되었나요?

개발자가 최신 버전의 Java를 사용하더라도 대부분의 프로젝트에는 여전히 Java 8 혁신이 포함되어 있습니다. 따라서 주요 요구 사항은 Stream API 및 기능적 프로그래밍 요소에 대한 지식 입니다 . 현대 프로젝트에서는 초보 개발자가 이를 즉시 처리해야 하기 때문에 마이크로서비스 아키텍처 , DockerKubernetes 에 대해 이해하는 것도 좋습니다 .

Stream API는 기능적 스타일로 데이터 구조를 사용하는 새로운 방법입니다. 스트림 API(한 컴퓨터 프로그램이 다른 프로그램과 통신할 수 있는 방식에 대한 설명)는 기본적으로 데이터 스트림입니다.

Java 8의 출현으로 Stream API를 사용하면 프로그래머는 이전에 많은 코드 줄이 필요했던 작업, 즉 데이터 세트 작업, 특히 필터링, 정렬 및 기타 데이터 조작 작업을 단순화하기 위해 훨씬 더 간략하게 작성할 수 있었습니다. 중간 작업이 없으면 스트림 없이도 할 수 있고 해야 하는 경우가 많습니다. 그렇지 않으면 스트림 없이 코드가 더 복잡해집니다.

Docker는 컨테이너화된 환경에서 애플리케이션 배포 및 관리를 자동화하는 소프트웨어입니다.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION