JavaRush /Blog Java /Random-VI /Xu hướng Java năm 2021: Kotlin, Kiến trúc vi dịch vụ và K...

Xu hướng Java năm 2021: Kotlin, Kiến trúc vi dịch vụ và Kubernetes

Xuất bản trong nhóm
Thế giới phát triển đang thay đổi rất nhanh chóng. Để theo kịp những thay đổi, bạn cần hiểu những gì đang xảy ra trên thế giới này. Biết các xu hướng cho phép bạn thích ứng với các xu hướng thay đổi nhanh chóng. Trí tuệ nhân tạo, sự gia tăng số lượng tích hợp và Internet vạn vật chỉ là một phần của xu hướng lập trình toàn cầu. JavaRush đã hỏi chuyên gia và giảng viên lập trình Java Andrey Rodionov điều gì sẽ xảy ra với Java vào năm 2021.Xu hướng Java năm 2021: Kotlin, kiến ​​trúc microservice và Kubernetes - 1

Java vẫn là giải pháp duy nhất cho lĩnh vực nào?

Java trong tương lai gần sẽ vẫn là một trong những nền tảng chính để phát triển ứng dụng doanh nghiệp ( tức là các ứng dụng doanh nghiệp được các công ty lớn sử dụng để kiếm tiền. Các ứng dụng như vậy có cơ sở mã lớn và yêu cầu độ tin cậy cao - ed. ) và chương trình phụ trợ. Java rất phù hợp với kiến ​​trúc microservice, mặc dù nó không phải là giải pháp thay thế duy nhất để viết microservice.

Triển vọng của các ngôn ngữ JVM khác, đặc biệt là Kotlin, so với Java là gì?

Sau sự cường điệu xung quanh ngôn ngữ Groovy và Scala, Kotlin hiện là ngôn ngữ JVM hàng đầu . Nó đã trở thành một tiêu chuẩn để phát triển Android, nhưng trong thế giới doanh nghiệp Java, nó vẫn chưa có được chỗ đứng cho riêng mình. Nhiều framework phổ biến ( Spring , Vert.x , gRPC , RSocket ) cũng dựa vào nó, cho phép nó được sử dụng trong chính chúng.

Kotlin là ngôn ngữ lập trình hướng đối tượng, gõ tĩnh, chạy trên Máy ảo Java và được phát triển bởi JetBrains. Đồng thời biên dịch sang JavaScript và mã thực thi trên một số nền tảng thông qua cơ sở hạ tầng LLVM.

Các tính năng của Kotlin: biên dịch sang mã byte JVM hoặc JavaScript, mã nguồn mở, cú pháp dễ đọc, các chương trình Kotlin có thể sử dụng các khung và thư viện Java hiện có.

Liệu chất lượng Java có bị giảm do khoảng thời gian phát hành ngắn hơn không?

Sẽ không: chỉ những cải tiến về ngôn ngữ sẽ được phát hành khi chúng đã sẵn sàng, thay vì đợi vài năm cho đến lần phát hành tiếp theo, như trường hợp trước đây. Một số bản phát hành sẽ không được các nhà phát triển chú ý vì chúng sẽ không mang lại bất kỳ cải tiến siêu phổ biến nào.

Khung mùa xuân: liệu nó có tiếp tục mở rộng hệ sinh thái của mình để phù hợp với nhu cầu đa dạng không?

Hệ sinh thái Spring tiếp tục phát triển tích cực và tôi định kỳ khám phá một trong các dự án con khác của nó mà trước đây tôi chưa từng nghe đến. Điều đáng chú ý là Project Reactor và r2dbc, nổi lên như các dự án con của Spring, giờ đây có thể nói đã trở thành tiêu chuẩn cho phương pháp phản ứng.

Project Reactor là thư viện Java 8 triển khai mô hình lập trình phản ứng. Nó được xây dựng dựa trên đặc tả Luồng phản ứng, một tiêu chuẩn để xây dựng các ứng dụng phản ứng.

R2DBC (Kết nối cơ sở dữ liệu quan hệ phản ứng) là một dự án nguồn mở dành riêng cho lập trình phản ứng cho SQL.

Xu hướng phát triển cơ sở hạ tầng đám mây IaaS, SaaS, PaaS là ​​gì? Làm thế nào đám mây giúp cơ sở hạ tầng dễ dàng phát triển, triển khai, bảo trì và mở rộng quy mô hơn?

Xu hướng chính ở đây tiếp tục là Kubernetes và cơ sở hạ tầng xung quanh nó dưới dạng lưới Dịch vụ. Mọi nhà cung cấp Đám mây có uy tín đều cung cấp cơ hội sử dụng cụm Kubernetes. Và nếu một ứng dụng được viết để chạy trên Kubernetes, nó sẽ giúp việc triển khai và mở rộng quy mô dễ dàng hơn nhiều.

Kubernetes (K8s) là phần mềm nguồn mở để tự động hóa việc triển khai, mở rộng quy mô và quản lý các ứng dụng được đóng gói.

Kubernetes nhóm các thùng chứa tạo nên ứng dụng thành các đơn vị logic để quản lý và khám phá dễ dàng hơn.

Kubernetes quản lý và chạy các container trên một số lượng lớn máy chủ, đồng thời cho phép cùng định vị và sao chép số lượng lớn các container. Dự án được Google bắt đầu và hiện được nhiều công ty hỗ trợ, bao gồm Microsoft, RedHat, IBM và Docker.

Những xu hướng phát triển nào khác đáng chú ý trong năm 2021?

Một trong những xu hướng thú vị vẫn đang gia tăng là GraalVM Native Image, cho phép bạn biến một ứng dụng Java truyền thống thành một ứng dụng nhị phân không yêu cầu JVM và các thư viện liên quan hoạt động. Tệp nhị phân như vậy rất phù hợp với kiến ​​trúc microservice và cách tiếp cận serverless, vì nó cho phép bạn khởi động rất nhanh một phiên bản mới của ứng dụng và không yêu cầu “khởi động” JVM.

Gần đây các yêu cầu đối với các nhà phát triển trẻ có thay đổi do sự phát triển của Java không?

Hầu hết các dự án vẫn bao gồm các cải tiến Java 8, ngay cả khi các nhà phát triển đang sử dụng các phiên bản Java mới hơn. Do đó, yêu cầu chính là kiến ​​thức về API Stream và các thành phần lập trình chức năng . Cũng tốt nếu hiểu biết về kiến ​​trúc microservice , DockerKubernetes , vì trong một dự án hiện đại, nhà phát triển mới vào nghề sẽ phải giải quyết ngay vấn đề này.

API Stream là một cách mới để làm việc với cấu trúc dữ liệu theo kiểu chức năng. API luồng (mô tả về cách thức mà một chương trình máy tính có thể giao tiếp với chương trình khác), cốt lõi của nó là một luồng dữ liệu.

Với sự ra đời của Java 8, API Stream cho phép các lập trình viên viết ngắn gọn hơn nhiều những gì trước đây cần nhiều dòng mã, cụ thể là để đơn giản hóa công việc với các tập dữ liệu, đặc biệt là đơn giản hóa việc lọc, sắp xếp và các hoạt động thao tác dữ liệu khác. Nếu không có các thao tác trung gian, bạn có thể và nên thường xuyên thực hiện mà không cần luồng, nếu không mã sẽ phức tạp hơn so với không có luồng.

Docker là phần mềm tự động hóa việc triển khai và quản lý ứng dụng trong môi trường được đóng gói.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION