JavaRush /Java Blogu /Random-AZ /2021-ci il üçün Java Trendləri: Kotlin, Microservices Arc...

2021-ci il üçün Java Trendləri: Kotlin, Microservices Architecture və Kubernetes

Qrupda dərc edilmişdir
İnkişaf dünyası çox sürətlə dəyişir. Dəyişikliklərlə ayaqlaşmaq üçün bu dünyada nə baş verdiyini anlamaq lazımdır. Trendləri bilmək sizə sürətlə dəyişən tendensiyalara uyğunlaşmağa imkan verir. Süni intellekt, inteqrasiyaların sayının artması və əşyaların interneti qlobal proqramlaşdırma tendensiyalarının yalnız bir hissəsidir. JavaRush Java proqramlaşdırma mütəxəssisi və müəllim Andrey Rodionovdan 2021-ci ildə Java ilə nə olacağını soruşdu.2021-ci ildə Java trendləri: Kotlin, mikroservis arxitekturası və Kubernetes - 1

Java hələ də hansı sahələr üçün yeganə həlldir?

Java yaxın gələcəkdə korporativ proqramların ( yəni iri şirkətlərin pul qazanmaq üçün istifadə etdiyi korporativ proqramların hazırlanması üçün əsas platformalardan biri olaraq qalacaq. Belə proqramlar böyük kod bazasına və yüksək etibarlılıq tələblərinə malikdir - red. ) və backend. Java mikroservis arxitekturasına yaxşı uyğun gəlir, baxmayaraq ki, bu, mikroservislərin yazılması üçün yeganə alternativ deyil.

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

Groovy və Scala dilləri ətrafında şırıngadan sonra Kotlin hazırda aparıcı JVM dilidir . O, artıq Android inkişafı üçün standarta çevrilib, lakin Java müəssisəsi dünyasında hələ də öz yerini qazana bilməyib. Bir çox məşhur çərçivələr ( Spring , Vert.x , gRPC , RSocket ) də ona arxalanır və onu öz daxilində istifadə etməyə imkan verir.

Kotlin Java Virtual Maşının üzərində işləyən və JetBrains tərəfindən hazırlanmış statik tipli, obyekt yönümlü proqramlaşdırma dilidir. Həmçinin LLVM infrastrukturu vasitəsilə bir sıra platformalarda JavaScript-ə və icra edilə bilən kodlara tərtib edir.

Kotlin xüsusiyyətləri: JVM bytecode və ya JavaScript-də tərtib edir, açıq mənbə, asan oxunan sintaksis, Kotlin proqramları mövcud Java çərçivələrindən və kitabxanalarından istifadə edə bilər.

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

Olmayacaq: əvvəlki kimi növbəti buraxılışa qədər bir neçə il gözləmək əvəzinə, sadəcə dildəki yeniliklər hazır olduğu kimi buraxılacaq. Bəzi buraxılışlar tərtibatçılar tərəfindən diqqətdən kənarda qalacaq, çünki onlar heç bir super populyar yenilik gətirməyəcəklər.

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

Bahar ekosistemi fəal şəkildə inkişaf etməkdə davam edir və mən vaxtaşırı onun əvvəllər heç eşitmədiyim digər sublayihələrini kəşf edirəm. Baharın alt layihələri kimi ortaya çıxan Project Reactor və r2dbc-nin indi reaktiv yanaşma üçün standartlara çevrildiyini söyləmək də diqqətəlayiqdir.

Project Reactor reaktiv proqramlaşdırma modelini həyata keçirən Java 8 kitabxanasıdır. O, reaktiv tətbiqlərin qurulması üçün standart olan Reaktiv Axınların spesifikasiyası üzərində qurulmuşdur.

R2DBC (Reactive Relational Database Connectivity) SQL üçün reaktiv proqramlaşdırmaya həsr olunmuş açıq mənbə layihəsidir.

IaaS, SaaS, PaaS bulud infrastrukturlarının inkişaf tendensiyaları hansılardır? Bulud infrastrukturun inkişafını, yerləşdirilməsini, saxlanmasını və miqyasını necə asanlaşdırır?

Burada əsas tendensiya Kubernetes və onun ətrafındakı bir Xidmət şəbəkəsi şəklində olan infrastruktur olmaqda davam edir. Hər bir özünə hörmət edən Bulud provayderi Kubernetes klasterindən istifadə etmək imkanı verir. Tətbiq Kubernetes-də işləmək üçün yazılıbsa, yerləşdirməyi və miqyasını çox asanlaşdırır.

Kubernetes (K8s) konteynerləşdirilmiş tətbiqlərin yerləşdirilməsi, miqyası və idarə edilməsini avtomatlaşdırmaq üçün açıq mənbə proqramdır.

Kubernetes, daha asan idarəetmə və kəşf üçün tətbiqi təşkil edən konteynerləri məntiqi vahidlərə qruplaşdırır.

Kubernetes konteynerləri çoxlu sayda hostda idarə edir və işlədir və çoxlu sayda konteynerlərin birgə yerləşdirilməsi və təkrarlanmasına imkan verir. Layihə Google tərəfindən başlayıb və hazırda Microsoft, RedHat, IBM və Docker daxil olmaqla bir çox şirkət tərəfindən dəstəklənir.

2021-ci ildə daha hansı inkişaf tendensiyalarına diqqət yetirməyə dəyər?

Hələ də yüksəlişdə olan maraqlı tendensiyalardan biri ənənəvi Java proqramını JVM və əlaqəli kitabxanaların işləməsini tələb etməyən ikili proqrama çevirməyə imkan verən GraalVM Native Image-dir. Belə bir ikili fayl mikroservis arxitekturasına və serversiz yanaşmaya çox yaxşı uyğun gəlir, çünki o, tətbiqin yeni nümunəsini çox tez işə salmağa imkan verir və JVM-nin “istiləşdirilməsini” tələb etmir.

Java-nın inkişafı ilə əlaqədar olaraq bu yaxınlarda gənc developerlər üçün tələblər dəyişibmi?

Tərtibatçılar Java-nın daha yeni versiyalarından istifadə etsələr belə, əksər layihələr hələ də Java 8 innovasiyalarını əhatə edir. Buna görə də, əsas tələb Stream API və funksional proqramlaşdırma elementlərini bilməkdir . Mikroservis arxitekturası , DockerKubernetes haqqında anlayışa sahib olmaq da yaxşıdır , çünki müasir bir layihədə təcrübəsiz bir tərtibatçı dərhal bununla məşğul olmalı olacaq.

Stream API funksional üslubda məlumat strukturları ilə işləmək üçün yeni üsuldur. Stream API (bir kompüter proqramının digər proqramla əlaqə qura bilməsi yollarının təsviri) əsas etibarilə məlumat axınıdır.

Java 8-in meydana çıxması ilə Stream API proqramçılara əvvəllər çoxlu kod sətirləri götürənləri daha qısa şəkildə yazmağa, yəni məlumat dəstləri ilə işi sadələşdirməyə, xüsusən də filtrləmə, çeşidləmə və digər məlumatların manipulyasiya əməliyyatlarını sadələşdirməyə imkan verdi. Aralıq əməliyyatlarınız yoxdursa, siz tez-tez axın olmadan edə bilərsiniz və etməlisiniz, əks halda kod axın olmadan daha mürəkkəb olacaq.

Docker, konteynerləşdirilmiş mühitlərdə tətbiqlərin yerləşdirilməsi və idarə edilməsini avtomatlaşdırmaq üçün proqramdır.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION