JavaRush /Java Blogu /Random-AZ /2022-ci ildə Java Trendləri: JDK 18 və 19, Layihə dəzgahı...

2022-ci ildə Java Trendləri: JDK 18 və 19, Layihə dəzgahı və Məlumat şəbəkəsi

Qrupda dərc edilmişdir
Yaxşı, 2022 başladı. Əksər insanlar hələ də şampan və Olivier ilə Yeni il tətilində olsalar da, biz Java dünyasındakı tendensiyalardan danışacağıq. Bəlkə də bu, karyeranızı təhlil etməyə, yeni texnologiya öyrənməyə və ya gələn il üçün inkişaf planı hazırlamağa kömək edəcək. 2022-ci ildə Java trendləri: JDK 18 və 19, Project Loom və Data mesh - 1Java dili üzrə mütəxəssis və müəllim Andrey Rodionov, həmçinin EPAM-ın həll memarı və Devoxx Ukrayna proqram komitəsinin rəhbəri Oleq Tsal-Tsalko 2022-ci ildə və yaxın gələcəkdə Java-nı nələrin gözlədiyi barədə danışıblar.

2022-ci ildə Java üçün hansı perspektivlər var?

2022-ci ildə Java trendləri: JDK 18 və 19, Project Loom və Data mesh - 2Bu il biz növbəti iki versiyanın buraxılmasını gözləyirik: JDK 18 (martda) və JDK 19 (sentyabrda). JDK 18-də əksər Java tərtibatçıları üçün potensial olaraq maraqlı ola bilər:
  • Python, Ruby, PHP-də analoji mini veb serverlərə bənzər sürətli prototipləşdirmə və sınaq üçün istifadə edilə bilən servlet konteyneri dəstəyi olmadan quraşdırılmış Sadə Veb Server.
  • Nümunə uyğunluğu yaxşılaşmağa davam edir.
JDK 19-a gəlincə, artıq Erkən Erişim Qurumu var, lakin ona daxil edilməsi planlaşdırılanların rəsmi siyahısı hələ də yoxdur. İnanmaq istərdim ki, JDK 19 ən azı layihə spesifikasiyalar bu yaxınlarda ortaya çıxan və son quruluşu JDK 19-a əsaslanan Project Loom-un ilk stabil prototipini özündə birləşdirəcək. Layihə Loom haqqında aşağıda daha ətraflı danışacağıq.

Java hansı sahələr üçün yeganə həll yolu olaraq qalır və hara üstünlük verilir?

Andrey Rodionov:

Xoşbəxtlikdən, heç bir sahə üçün Java-ya alternativin olmadığını deyə bilmərik, lakin Java-dan korporativ proqramların, arxa planların və mikroservislərin inkişafı üçün bir növ qızıl vasitə kimi danışmaq olar. Həmçinin müxtəlif təchizatçıların (Oracle istisna olmaqla) müxtəlif JDK distribüterlərinin sayının artmasına diqqət yetirmək lazımdır: Amazon, Microsoft, Alibaba, Red Hat, Bellsoft (Sankt-Peterburqdakı Oracle İnkişaf Mərkəzinin əməkdaşları tərəfindən yaradılmışdır) və s. Dağıtımların tam dəsti burada mövcuddur . 2022-ci ildə Java trendləri: JDK 18 və 19, Project Loom və Data mesh - 3Həmişə alternativlər var, lakin Java ən çox istifadəsini korporativ inkişafda arxa planda tapır. Əksər böyük şirkətlər böyük və mürəkkəb sistemləri üçün Java-nı seçirlər. Səbəblər eynidir: bazarda tərtibatçıların və təcrübələrin sayı, nəhəng ekosistem və güclü JVM platforması.

Java ilə müqayisədə digər jvm dilləri, xüsusən Kotlin üçün hansı perspektivlər var?

Andrey Rodionov:

Hansı JVM dillərinin populyar olduğunu başa düşmək üçün Spring, Micronaut, Vert.x üçün sənədləri açın və kod nümunələrinin hansı dillərdə verildiyinə baxın - Java və Kotlin ümumi olacaq. Demək olmaz ki, layihələrin Kotlin-ə kütləvi keçidi var, lakin onun backend üçün populyarlığı artmaqda davam edir və bir çox çərçivələr onu öz ekosistemlərinə daxil etməyə çalışırlar. Scala-ya gəlincə, yeni versiyalar buraxılır və o, daha sonra ML, məlumatların işlənməsi və funksional proqramlaşdırma paradiqmasının daha rahat olduğu yerlərdə fəal şəkildə istifadə olunur.

Oleq Tsal-Tsalko:

Digər JVM dilləri olduqca cəlbedicidir və bu gün bir layihənin bir neçə proqramlaşdırma dilindən istifadə etməsi olduqca normaldır. Mənə elə gəlir ki, yeni yaradılmış JVM dillərinin Java-nı əvəz edə bilməməsinin səbəbləri aşağıdakılardır:
  • O qədər də sərin deyillər ki, hamı onları götürüb onlara keçsin.
  • Onlar Java ilə eyni seqmentdə istifadə olunur.
  • Java yavaş-yavaş digər dillərdən ən yaxşısını alır və daha da yaxşılaşır.

Daha qısa buraxılış intervalları səbəbindən Java keyfiyyətində azalma olacaqmı?

Oleq Tsal-Tsalko:

Məncə yox. Ən azından indi tez-tez buraxılışlardan daha müsbət şeyləri müəyyən edə bilirəm. Yeni gözəl xüsusiyyətlərin daha tez-tez göründüyünü görürük. İndi dildə yeni bir şeyin görünməsi üçün 5 il gözləmək lazım deyil. Əlbəttə ki, indi Java 8 kimi möhtəşəm buraxılışları gözləməməlisiniz, çünki xüsusiyyətlər indi kiçik iterasiyalarda görünür.

Java-nın yeni versiyalarında tərtibatçılar üçün xüsusilə vacib olan funksiyalar varmı?

Oleq Tsal-Tsalko:

Java-nın son versiyaları Pattern Matching, Sealed Classes və Records kimi bir neçə maraqlı xüsusiyyət təqdim etdi. Mən onların imkanlarına baxmağı tövsiyə edərdim. Təbii ki, ən ciddi və gözlənilən xüsusiyyətlər Project Loom və Project Valhalla daxilində planlaşdırılır, lakin düşünürəm ki, bu layihələr daxilindəki funksiyalar da tədricən buraxılacaq.

Bahar çərçivəsi: müxtəlif ehtiyaclara uyğun olaraq öz ekosistemini genişləndirməyə davam edəcəkmi?

Andrey Rodionov:

Bahar Çərçivəsinə gəldikdə, onun inkişafı Spring Cloud-un müxtəlif xüsusiyyətlərini dəstəkləməyə və Spring Boot-u doğma binarlara - gələcəkdə Spring Core-un bir hissəsi olması planlaşdırılan Spring Native layihəsinə yığmaq qabiliyyətinə yönəldilib. Bu baxımdan Spring, əks etdirmə və dinamik kod generasiyasının aktiv istifadəsi sayəsində Micronaut və Quarkus-dan geri qaldı. Bahar Çərçivəsi 6 ilə əlaqədar olaraq, Mən sizə Bahar 6 və Beyond hesabatına baxmağı məsləhət görürəm. Spring Framework 6-da nə yenilik var? Joker konfransından (Oleq Dokuka və Aleksey Nesterovdan). Əsas olanlar JDK 17-yə keçid, XML Konfiqurasiyasından və tənzimləyicilər vasitəsilə Autowire-dən imtina, Kotlin dəstəyinin daha da inkişafı və Spring Fu layihəsidir.

Oleq Tsal-Tsalko:

Bahar, indiki vaxtda ən populyar Java FW olaraq, xurmadan imtina etmək istəmir. Əminəm ki, inkişaf komandası Baharın inkişafı üçün əlindən gələni edəcək. Bahar getdikcə daha çox boşluqları doldurur. Məsələn, Spring öz Layihə Reaktoru ilə Reaktiv Axınlar/Reaktiv Proqramlaşdırma sahəsində çox iş görüb. İndi onlar RSoket protokolunu təbliğ edirlər, bu da perspektivli görünür.

Loom layihəsi haqqında bizə məlumat verin: bu nə üçündür, hansı problemləri həll edir?

Andrey Rodionov:

Project Loom, yəqin ki, bütün JVM platforması və JVM-in üstündəki bütün dillər üçün yeni tektonik dəyişiklik ola biləcək ən maraqlı yenilikdir. Project Loom adi tərtibatçılara o qədər də təsir etməyə bilər, lakin o, mütləq bütün ekosistemə, kitabxanalara, çərçivələrə və çox iş parçacığından istifadə edən digər JVM dillərinə təsir edəcəkdir. Project Loom yeni mövzu abstraksiyasını təqdim edir - virtual mövzular (koroutinlərin analoqu). Əgər əvvəllər Java mövzusu birbaşa əməliyyat sistemi (OS) ipinə bağlanmışdısa və Java-da yeni ipin yaradılması yeni OS ipinin yaradılmasına səbəb olmuşdusa, virtual mövzularla bu bir-bir əlaqə pozulur. Yeni virtual mövzu yaradarkən, yeni OS ipi yaradılmayacaq və sözdə daşıyıcı iplərdən biri (ƏS iplik hovuzunun bir növ analoqu) birbaşa hesablamaları yerinə yetirmək üçün təkrar istifadə ediləcək. Beləliklə, bir OS ipinin üstündə bir neçə virtual mövzu işləyə bilər. Hesablama tapşırıqları üçün virtual iplərin bu modeli heç bir üstünlük vermir, əksinə hesablamaların sürətini yavaşlatır, lakin HTTP sorğularının işlənməsi, verilənlər bazasından və ya mikroservislərdən cavabların gözləməsi kimi əməliyyatları bloklamaq üçün bu model əhəmiyyətli üstünlük. Məsələ burasındadır ki, hazırkı yivləmə modeli ilə Java mövzusunun bloklanması/gözlənməsi boş OS iplərinə gətirib çıxarırdı - bu, resursların itkisi idi və daha çox OS iplərinin yaradılmasını tələb edirdi. Virtual iplik modelində virtual ipin bloklanması/gözlənməsi, üzərində virtual ipin işlədiyi daşıyıcı ipin buraxılmasına və onun üzərində başqa bir virtual ipin işləməsinə səbəb olacaq. Beləliklə, OS ipləri daha optimal şəkildə istifadə ediləcək və oxşar vəzifələri yerinə yetirmək üçün onlardan daha azına ehtiyac olacaq. Müvafiq olaraq, kitabxanalar, çərçivələr və JVM dilləri istehsalçıları kodlarını virtual iplər üçün uyğunlaşdırmalı olacaqlar. Buna görə də, onlar üçün böyük bir yenidən yazma gəlir :) Virtual ip modelindən əlavə, ipin orkestrasiyasını sadələşdirmək üçün yeni API-nin - sözdə strukturlaşdırılmış paralelliyin tətbiqi də planlaşdırılır. İndi, məsələn, strukturlaşdırılmış paralellik Kotlin coroutines və Scala ZIO-da fəal şəkildə istifadə olunur. Təəssüf ki, JDK versiyası və hətta Project Loom-un buraxılış ili hələ də məlum deyil. Yava platformasının baş memarı Brian Goetz, buraxılış tarixi barədə soruşduqda, fəlsəfi bir ifadə ilə cavab verir: "O, hazır olduqda, hazır olacaq." Buna görə də biz gözləyirik və Project Loom-un eksperimental qurulmasını sınaya bilərik .

Oleq Tsal-Tsalko:

Loom, OpenJDK və Oracle komandasının Java və JVM-də Concurrency innovasiyaları üzərində işlədiyi böyük bir çətir layihəsidir: virtual iplər, liflər və davamlar. Çox güman ki, bu funksiyaların buraxılması tədricən olacaq. Hal-hazırda Virtual mövzu dəstəyi üçün yalnız Erkən Giriş quruluşları mövcuddur. Xüsusilə virtual mövzular haqqında danışsaq, onun əsas məqsədi adi platforma ipləri ilə eyni semantikaya malik milyonlarla yüngül iplərdən istifadə etməklə Java-da çox yivli inkişaf modelini sadələşdirməkdir. Başlıq altında bu iplər ForkJoinPool daxilində idarə olunacaq və platforma ipləri tərəfindən təkrar istifadə ediləcək.

Qlobal tendensiyalar - mikroservislər, bulud arxitekturası, blokçeyn, süni intellekt dünyasında Java-nın inkişafı ilə bağlı hansı proqnozlar var?

Andrey Rodionov:

Qlobal tendensiyalardan danışsaq, onlar çox dəyişməyib. Əvvəlki kimi, əsas tendensiya Kubernetes və onun ətrafında Service mesh şəklində olan infrastruktur olmaqda davam edir . Data mesh paylanmış məlumat mənbələrini və saxlama yerlərini idarə etmək üçün bir növ abstraksiya kimi də populyarlıq qazanır .
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION