JavaRush /Блоги Java /Random-TG /Тамоюлҳои Java барои соли 2021: Котлин, Архитектураи Micr...

Тамоюлҳои Java барои соли 2021: Котлин, Архитектураи Microservices ва Kubernetes

Дар гурӯҳ нашр шудааст
Ҷаҳони рушд хеле зуд тағйир меёбад. Барои нигоҳ доштани тағйирот, шумо бояд фаҳмед, ки дар ин ҷаҳон чӣ рӯй дода истодааст. Донистани тамоюлҳо ба шумо имкон медиҳад, ки ба тамоюлҳои зуд тағйирёбанда мутобиқ шавед. Зеҳни сунъӣ, афзоиши шумораи интегратсияҳо ва Интернети ашё танҳо як қисми тамоюлҳои глобалии барномасозӣ мебошанд. JavaRush аз мутахассиси барномасозии Java ва омӯзгор Андрей Родионов пурсид, ки бо Java дар соли 2021 чӣ мешавад.Тамоюлҳои Java дар соли 2021: Котлин, меъмории микросервис ва Kubernetes - 1

Барои кадом минтақаҳо Java ягона роҳи ҳалли он аст?

Java дар ояндаи наздик яке аз платформаҳои асосии таҳияи замимаҳои корпоративӣ ( яъне замимаҳои корпоративие, ки ширкатҳои бузург барои пул кор мекунанд. Ин гуна замимаҳо дорои пойгоҳи бузурги рамзӣ ва талаботи баланди эътимоднокӣ мебошанд - ред. ) ва backend боқӣ мемонад. Java ба меъмории микросервис мувофиқат мекунад, гарчанде ки он ягона алтернатива барои навиштани хидматҳои хурд нест.

Дурнамои дигар забонҳои JVM, бахусус Котлин, дар муқоиса бо Java чӣ гуна аст?

Пас аз сару садо дар атрофи забонҳои Groovy ва Scala, Котлин дар айни замон забони пешбари JVM мебошад . Он аллакай ба стандарти рушди Android табдил ёфтааст, аммо дар ҷаҳони корхонаи Java он ҳанӯз ҷои худро нагирифтааст. Бисёр чаҳорчӯбаҳои маъмул ( Spring , Vert.x , gRPC , RSocket ) низ ба он такя мекунанд ва имкон медиҳанд, ки он дар дохor худ истифода шавад.

Котлин як забони барномасозии статикӣ буда, ба an object нигаронида шудааст, ки дар болои мошини виртуалии Java кор мекунад ва аз ҷониби JetBrains таҳия шудааст. Инчунин ба JavaScript ва codeи иҷрошаванда дар як қатор платформаҳо тавассути инфрасохтори LLVM тартиб медиҳад.

Хусусиятҳои Kotlin: ба JVM bytecode ё JavaScript тартиб медиҳад, манбаи кушода, синтаксиси хондан осон, барномаҳои Kotlin метавонанд чаҳорчӯбаҳо ва китобхонаҳои мавҷудаи Java-ро истифода баранд.

Оё аз сабаби фосилаҳои кӯтоҳтари озодкунӣ сифати Java паст мешавад?

Ин тавр намешавад: танҳо навовариҳо дар забон ҳамчун омодагӣ бароварда мешаванд, ба ҷои он ки чанд сол то нашри навбатӣ интизор шаванд, чунон ки қаблан буд. Баъзе релизҳо аз ҷониби таҳиягарон нодида намемонанд, зеро онҳо ягон навовариҳои машҳурро намеоваранд.

Чаҳорчӯбаи баҳорӣ: оё он минбаъд васеъ кардани экосистемаи худро барои мувофиқ кардани ниёзҳои гуногун идома медиҳад?

Экосистемаи баҳор ба таври фаъол инкишоф меёбад ва ман давра ба давра дигаре аз зерлоиҳаҳои онро кашф мекунам, ки қаблан дар бораи он нашунида будам. Инчунин қобor таваҷҷӯҳ аст, ки Лоиҳаи Реактор ва r2dbc, ки ҳамчун зерлоиҳаҳои Баҳор ба вуҷуд омадаанд, акнун метавон гуфт, ки стандартҳои равиши реактивӣ шудаанд.

Project Reactor як китобхонаи Java 8 мебошад, ки модели барномасозии реактивиро амалӣ мекунад. Он дар болои мушаххасоти Reactive Streams, стандарт барои сохтани барномаҳои реактивӣ сохта шудааст.

R2DBC (Reactive Relational Database Connectivity) як лоиҳаи кушодаест, ки ба барномасозии реактивӣ барои SQL бахшида шудааст.

Тамоюлҳои рушди инфрасохтори абрии IaaS, SaaS, PaaS кадомҳоянд? Чӣ тавр абр инфрасохторро таҳия, ҷойгиркунӣ, нигоҳдорӣ ва миқёсро осонтар мекунад?

Тамоюли асосӣ дар ин ҷо Kubernetes ва инфрасохтори атрофи он дар шакли шабакаи хидматрасонӣ боқӣ мемонад. Ҳар як провайдери абрии худшинос имкони истифодаи кластери Kubernetes медиҳад. Ва агар барнома барои кор дар Kubernetes навишта шуда бошад, он ҷойгиркунӣ ва миқёси онро хеле осон мекунад.

Kubernetes (K8s) нармафзори кушодаасос барои автоматикунонии ҷойгиркунӣ, миқёс ва идоракунии барномаҳои контейнерӣ мебошад.

Кубернетес контейнерҳоеро гурӯҳбандӣ мекунад, ки барномаро ба воҳидҳои мантиқӣ барои идоракунӣ ва кашфи осонтар ташкил медиҳанд.

Кубернетес контейнерҳоро дар саросари шумораи зиёди ҳостҳо идора ва идора мекунад ва имкон медиҳад, ки якҷоя ҷойгиршавӣ ва такрори миқдори зиёди контейнерҳо. Лоиҳа аз ҷониби Google оғоз шудааст ва ҳоло аз ҷониби бисёр ширкатҳо, аз ҷумла Microsoft, RedHat, IBM ва Docker дастгирӣ карда мешавад.

Дар соли 2021 ба кадом тамоюлҳои дигари рушд таваҷҷӯҳ кардан лозим аст?

Яке аз тамоюлҳои ҷолибе, ки ҳоло ҳам дар ҳоли афзоиш аст, ин GraalVM Native Image мебошад, ки ба шумо имкон медиҳад барномаи анъанавии Java-ро ба барномаи дуӣ табдил диҳед, ки JVM ва китобхонаҳои алоқамандро талаб намекунад. Чунин файли бинарӣ ба меъмории микросервис ва равиши бе server хеле хуб мувофиқат мекунад, зеро он ба шумо имкон медиҳад, ки намунаи нави барномаро хеле зуд оғоз кунед ва "гарм кардан"-и JVM-ро талаб намекунад.

Оё талабот ба таҳиягарони ҷавон ба наздикӣ бо сабаби рушди Java тағир ёфт?

Аксари лоиҳаҳо то ҳол навовариҳои Java 8-ро дар бар мегиранд, ҳатто агар таҳиягарон versionҳои навтари Java-ро истифода баранд. Аз ин рӯ, талаботи асосӣ дониши Stream API ва унсурҳои барномасозии функсионалӣ мебошад . Донистани меъмории микросервис , Docker ва Kubernetes низ хуб аст , зеро дар як лоиҳаи муосир як таҳиягари навкор фавран бояд бо ин кор мубориза барад.

Stream API як роҳи нави кор бо сохторҳои додаҳо дар услуби функсионалӣ мебошад. Stream API (тафсири роҳҳое, ки як барномаи компютерӣ метавонад бо барномаи дигар муошират кунад) дар асл як ҷараёни додаҳо мебошад.

Бо пайдоиши Java 8, Stream API ба барномасозон имкон дод, ки он чизеро, ки қаблан сатрҳои зиёди рамз мегирифтанд, хеле мухтасар нависад, яъне содда кардани кор бо маҷмӯаҳои додаҳо, бахусус, содда кардани филтр, ҷудокунӣ ва дигар амалиётҳои коркарди додаҳо. Агар шумо амалиёти фосилавӣ надошта бошед, шумо метавонед ва бояд аксар вақт бе ҷараён кор кунед, вагарна code нисбат ба бе ҷараён мураккабтар хоҳад буд.

Docker нармафзорест барои автоматикунонии ҷобаҷогузорӣ ва идоракунии барномаҳо дар муҳити контейнерӣ.

Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION