JavaRush /Java blogi /Random-UZ /2021 yil uchun Java tendentsiyalari: Kotlin, Microservice...

2021 yil uchun Java tendentsiyalari: Kotlin, Microservices Architecture va Kubernetes

Guruhda nashr etilgan
Rivojlanish dunyosi juda tez o'zgarmoqda. O'zgarishlarni kuzatib borish uchun siz bu dunyoda nima bo'layotganini tushunishingiz kerak. Trendlarni bilish tez o'zgaruvchan tendentsiyalarga moslashish imkonini beradi. Sun'iy intellekt, integratsiyalar sonining ko'payishi va narsalarning interneti global dasturlash tendentsiyalarining faqat bir qismidir. JavaRush Java dasturlash bo'yicha mutaxassis va o'qituvchi Andrey Rodionovdan 2021 yilda Java bilan nima bo'lishini so'radi.2021 yildagi Java tendentsiyalari: Kotlin, mikroservis arxitekturasi va Kubernetes - 1

Qaysi sohalar uchun Java hali ham yagona yechim hisoblanadi?

Java yaqin kelajakda korporativ ilovalarni ishlab chiqish uchun asosiy platformalardan biri bo'lib qoladi ( ya'ni yirik kompaniyalar tomonidan pul ishlash uchun foydalaniladigan korporativ ilovalar. Bunday ilovalar katta kod bazasi va yuqori ishonchlilik talablariga ega - tahr. ) va backend. Java mikroservis arxitekturasiga yaxshi mos keladi, garchi u mikroservislarni yozish uchun yagona muqobil bo'lmasa ham.

Boshqa JVM tillari, xususan Kotlin, Java bilan solishtirganda qanday istiqbollarga ega?

Groovy va Scala tillari atrofidagi shov-shuvlardan so'ng, Kotlin hozirda etakchi JVM tilidir . Bu allaqachon Android rivojlanishi uchun standartga aylangan, biroq Java korporatsiyasi dunyosida u hali o'z o'rnini egallagani yo'q. Ko'pgina mashhur ramkalar ( Spring , Vert.x , gRPC , RSocket ) ham unga tayanib, uni o'z ichida ishlatishga imkon beradi.

Kotlin Java virtual mashinasining tepasida ishlaydigan va JetBrains tomonidan ishlab chiqilgan statik tarzda terilgan, ob'ektga yo'naltirilgan dasturlash tilidir. Shuningdek, LLVM infratuzilmasi orqali bir qator platformalarda JavaScript va bajariladigan kodni kompilyatsiya qiladi.

Kotlin xususiyatlari: JVM baytkodi yoki JavaScript-ga kompilyatsiya qiladi, ochiq manba, o'qish oson sintaksisi, Kotlin dasturlari mavjud Java ramkalari va kutubxonalaridan foydalanishi mumkin.

Qisqa vaqt oralig'i tufayli Java sifati pasayadimi?

Bu shunday bo'lmaydi: faqat tildagi innovatsiyalar, avvalgidek, keyingi nashrga qadar bir necha yil kutish o'rniga, tayyor bo'lganda chiqariladi. Ba'zi relizlar ishlab chiquvchilar e'tiboridan chetda qoladi, chunki ular hech qanday o'ta mashhur yangiliklarni keltirmaydi.

Bahor doirasi: u o'z ekotizimini turli ehtiyojlarga mos ravishda kengaytirishda davom etadimi?

Bahor ekotizimi faol rivojlanishda davom etmoqda va men vaqti-vaqti bilan uning boshqa kichik loyihalarini kashf qilaman, bu haqda men hech qachon eshitmaganman. Bahorning kichik loyihalari sifatida paydo bo'lgan Project Reactor va r2dbc endi reaktiv yondashuv uchun standartlarga aylanganini aytish mumkin.

Project Reactor - bu reaktiv dasturlash modelini amalga oshiradigan Java 8 kutubxonasi. U reaktiv dasturlarni yaratish uchun standart bo'lgan Reaktiv oqimlar spetsifikatsiyasi ustiga qurilgan.

R2DBC (Reactive Relational Database Connectivity) - SQL uchun reaktiv dasturlashga bag'ishlangan ochiq manbali loyiha.

IaaS, SaaS, PaaS bulutli infratuzilmalarining rivojlanish tendentsiyalari qanday? Qanday qilib bulut infratuzilmani rivojlantirish, joylashtirish, saqlash va kengaytirishni osonlashtiradi?

Bu erda asosiy tendentsiya Kubernetes va uning atrofidagi infratuzilma bo'lib xizmat ko'rsatish tarmog'i ko'rinishida bo'lib qolmoqda. Har bir o'zini hurmat qiladigan Cloud provayderi Kubernetes klasteridan foydalanish imkoniyatini beradi. Va agar dastur Kubernetes-da ishlash uchun yozilgan bo'lsa, uni joylashtirish va kengaytirishni ancha osonlashtiradi.

Kubernetes (K8s) konteynerlashtirilgan ilovalarni joylashtirish, masshtablash va boshqarishni avtomatlashtirish uchun ochiq kodli dasturdir.

Kubernetes oson boshqarish va kashf qilish uchun dasturni tashkil etuvchi konteynerlarni mantiqiy birliklarga guruhlaydi.

Kubernetes konteynerlarni koʻp sonli xostlar boʻylab boshqaradi va ishga tushiradi hamda koʻp sonli konteynerlarni birgalikda joylashtirish va takrorlash imkonini beradi. Loyiha Google tomonidan boshlangan va hozirda Microsoft, RedHat, IBM va Docker kabi ko'plab kompaniyalar tomonidan qo'llab-quvvatlanmoqda.

2021 yilda yana qanday rivojlanish tendentsiyalariga e'tibor qaratish lozim?

Hali ham o'sib borayotgan qiziqarli tendentsiyalardan biri GraalVM Native Image bo'lib, u sizga an'anaviy Java ilovasini JVM va tegishli kutubxonalarning ishlashini talab qilmaydigan ikkilik dasturga aylantirish imkonini beradi. Bunday ikkilik fayl mikroservis arxitekturasi va serversiz yondashuvga juda mos keladi, chunki u sizga dasturning yangi nusxasini juda tez ishga tushirishga imkon beradi va JVMni "isitish" ni talab qilmaydi.

Yaqinda Java rivojlanishi tufayli yosh dasturchilarga qo'yiladigan talablar o'zgarganmi?

Ko'pgina loyihalar hali ham Java 8 innovatsiyalarini o'z ichiga oladi, hatto ishlab chiquvchilar Java-ning yangi versiyalaridan foydalansalar ham. Shuning uchun, asosiy talab Stream API va funktsional dasturlash elementlarini bilishdir . Mikroservis arxitekturasi , Docker va Kubernetes haqida tushunchaga ega bo'lish ham yaxshi , chunki zamonaviy loyihada yangi boshlovchi ishlab chiquvchi darhol bu bilan shug'ullanishi kerak.

Stream API - bu funktsional uslubda ma'lumotlar tuzilmalari bilan ishlashning yangi usuli. Stream API (bitta kompyuter dasturining boshqa dastur bilan bog‘lanish usullarining tavsifi) o‘zagida ma’lumotlar oqimidir.

Java 8 ning paydo bo'lishi bilan Stream API dasturchilarga ilgari ko'p qatorli kodlarni talab qilgan narsalarni qisqacha yozishga imkon berdi, xususan, ma'lumotlar to'plamlari bilan ishlashni soddalashtirish, xususan, filtrlash, saralash va boshqa ma'lumotlarni manipulyatsiya qilish operatsiyalarini soddalashtirish. Agar sizda oraliq operatsiyalar bo'lmasa, siz ko'pincha oqimsiz qilishingiz mumkin va kerak, aks holda kod oqimsiz ko'ra murakkabroq bo'ladi.

Docker - bu konteynerlangan muhitda ilovalarni joylashtirish va boshqarishni avtomatlashtirish uchun dasturiy ta'minot.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION