JavaRush /Java блогу /Random-KY /Java тенденциялары 2021: Котлин, Микросервис архитектурас...

Java тенденциялары 2021: Котлин, Микросервис архитектурасы жана Кубернетес

Группада жарыяланган
Өнүгүү дүйнөсү абдан тез өзгөрүүдө. Өзгөрүүлөр менен коштолушу үчүн, бул дүйнөдө эмне болуп жатканын түшүнүү керек. Тренддерди билүү тез өзгөрүп жаткан тенденцияларга ыңгайлашууга мүмкүндүк берет. Жасалма интеллект, интеграциялардын санынын көбөйүшү жана нерселердин интернети глобалдык программалоо тенденцияларынын бир бөлүгү гана. JavaRush Java программалоо боюнча адис жана окутуучу Андрей Родионовдон 2021-жылы Java менен эмне болорун сурады.Java тенденциялары 2021: Котлин, микросервис архитектурасы жана Kubernetes - 1

Кайсы аймактар ​​үчүн Java дагы эле жалгыз чечим болуп саналат?

Java жакынкы келечекте корпоративдик тиркемелерди иштеп чыгуу үчүн негизги платформалардын бири бойдон кала берет ( башкача айтканда, ири компаниялар акча табуу үчүн колдонгон корпоративдик тиркемелер. Мындай тиркемелер чоң codeдук базага жана жогорку ишенимдүүлүк талаптарына ээ - ред. ) жана бэкэнд. Java микросервис архитектурасына туура келет, бирок ал микросервистерди жазуу үчүн жалгыз альтернатива эмес.

Java менен салыштырганда башка JVM тилдеринин, атап айтканда Котлиндин келечеги кандай?

Groovy жана Scala тилдеринин айланасындагы дүрбөлөңдөн кийин, Котлин учурда JVM тor боюнча алдыңкы орунда турат . Ал буга чейин Android иштеп чыгуу үчүн стандарт болуп калды, бирок Java ишкана дүйнөсүндө ал өз ордун ээлей элек. Көптөгөн популярдуу алHowтар ​​( Spring , Vert.x , gRPC , RSocket ) да ага таянып, аны өз ичинде колдонууга мүмкүндүк берет.

Котлин – бул Java виртуалдык машинасынын үстүндө иштеген жана JetBrains тарабынан иштелип чыккан статикалык типтүү, an objectиге багытталган программалоо тor. Ошондой эле LLVM инфраструктурасы аркылуу бир катар платформаларда JavaScript жана аткарылуучу codeду түзөт.

Котлиндин өзгөчөлүктөрү: JVM byte codeуна же JavaScript'ке компиляциялайт, ачык булак, окууга оңой синтаксис, Котлин программалары учурдагы Java алHowтарын жана китепканаларын колдоно алат.

Чыгаруу аралыгы кыскаргандыктан Java сапаты төмөндөйбү?

Андай болбойт: жөн гана тилдеги инновациялар, мурункудай, кийинки релизге чейин бир нече жыл күтүүнүн ордуна, даяр болгондон кийин чыгарылат. Кээ бир релиздерди иштеп чыгуучулар байкабай калат, анткени алар супер популярдуу инновацияларды алып келбейт.

Жазгы алHow: ал ар түрдүү муктаждыктарга жооп берүү үчүн өзүнүн экосистемасын кеңейтүүнү улантабы?

Жазгы экосистема жигердүү өнүгүүсүн улантууда, мен мезгил-мезгor менен анын дагы бир чакан долбоорлорун таап турам, бул тууралуу мен эч качан укпаган элем. Жаздын кичи долбоорлору катары пайда болгон Project Reactor жана r2dbc азыр реактивдүү мамиле үчүн стандарттар болуп калды деп айтууга болот.

Project Reactor реактивдүү программалоо моделин ишке ашырган Java 8 китепканасы. Ал реактивдүү колдонмолорду куруу үчүн стандарт болгон Reactive Streams спецификациясынын үстүнө курулган.

R2DBC (Reactive Relational Database Connectivity) бул SQL үчүн реактивдүү программалоого арналган ачык булак долбоору.

IaaS, SaaS, PaaS булут инфраструктураларынын өнүгүү тенденциялары кандай? Булут инфраструктураны өнүктүрүүнү, жайылтууну, тейлөөнү жана масштабды кантип жеңилдетет?

Бул жерде негизги тенденция Kubernetes жана анын тегерегиндеги инфраструктура болуп калууда. Ар бир өзүн сыйлаган Cloud провайдери Kubernetes кластерин колдонуу мүмкүнчүлүгүн берет. Эгерде тиркеме Kubernetesте иштөө үчүн жазылган болсо, анда аны жайылтуу жана масштабдоо бир топ жеңилдейт.

Kubernetes (K8s) контейнердик тиркемелерди жайгаштырууну, масштабдоону жана башкарууну автоматташтыруу үчүн ачык булактуу программалык камсыздоо.

Kubernetes башкарууну жана ачууну жеңилдетүү үчүн колдонмону түзгөн контейнерлерди логикалык бирдиктерге топтойт.

Kubernetes көп сандагы хосттордо контейнерлерди башкарат жана иштетет жана көп сандагы контейнерлерди чогуу жайгаштырууга жана репликациялоого мүмкүндүк берет. Долбоор Google тарабынан башталган жана азыр Microsoft, RedHat, IBM жана Docker сыяктуу көптөгөн компаниялар тарабынан колдоого алынууда.

2021-жылы дагы кандай өнүгүү тенденцияларына көңүл буруу керек?

Кызыктуу тенденциялардын бири дагы эле өсүп келе жаткан GraalVM Native Image болуп саналат, ал сизге салттуу Java тиркемесин JVM жана ага тиешелүү китепканалардын иштешин талап кылбаган бинардык тиркемеге айлантууга мүмкүндүк берет. Мындай бинардык файл микросервис архитектурасына жана serverсиз ыкмага абдан туура келет, анткени ал тиркеменин жаңы нускасын тез баштоого мүмкүндүк берет жана JVMди "жылытууну" талап кылbyte.

Жакында Java программасынын өнүгүшүнө байланыштуу жаш иштеп чыгуучуларга коюлган талаптар өзгөрдүбү?

Көпчүлүк долбоорлор дагы деле Java 8 инновацияларын камтыйт, ал тургай иштеп чыгуучулар Javaнын жаңыраак versionларын колдонуп жатышат. Ошондуктан, негизги талап 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