Не, чизи дигаре ҳаст. Барномасозии реактивӣ барои беҳтар истифода бурдани захираҳо кӯмак мекунад, аммо бо нархи гарон низ меояд. Аз ҷумла, код бояд мувофиқи принсипҳои баста нашудан аз нав навишта шавад ва аз бастани риштаҳои I/O пешгирӣ карда шавад. Ва ин як модели комилан дигари таҳия ва иҷро аст. Ва гарчанде ки дар ин чо бисьёр китобхонахои фоиданок мавчуданд, дар тафаккури мукаррарй дигаргунии куллй ба амал меояд.
Аввалан, шумо бояд чӣ гуна навиштани кодеро омӯзед, ки асинхронӣ кор мекунад. Пас аз он ки шумо ба истифодабарии воридот ва баромади манънашаванда шурӯъ мекунед, шумо бояд ба таври возеҳ муайян кунед, ки ҳангоми гирифтани посух ба дархост чӣ рӯй медиҳад. Танҳо бастан ва интизорӣ дигар кор нахоҳад кард. Ба ҷои ин, шумо метавонед зангҳои бозгаштро гузаронед, барномасозии реактивӣ ё идомаро истифода баред. Аммо ин ҳама нест: барои истифодаи I/O, ба шумо ҳам серверҳои манънашаванда ва ҳам муштариён лозиманд, беҳтараш дар ҳама ҷо. Дар мавриди HTTP, ҳама чиз оддӣ аст, аммо инчунин пойгоҳи додаҳо, системаҳои файлӣ ва ғайра мавҷуданд.
Ва гарчанде ки реактивии пурраи ниҳоӣ самаранокиро ба ҳадди аксар мерасонад, дар амал чунин тағирот метавонад ба меъда душвор бошад. Аз ин рӯ, қобилияти якҷоя кардани кодҳои реактивӣ ва императивӣ шарти ҳатмӣ мегардад, то:
Дар қисмҳои боқимондаи он рамзи услуби соддатарро истифода баред.
Муаррифии Кваркус
Дарвоқеъ, ин моҳияти Quarkus аст - якҷоя кардани моделҳои реактивӣ ва императивӣ дар як муҳити ягонаи корӣ.
Quarkus ба Vert.x ва Netty асос ёфтааст, ки дорои як қатор чаҳорчӯбаҳои реактивӣ ва васеъшавӣ дар боло барои кӯмак ба таҳиякунанда мебошад. Quarkus барои сохтани на танҳо микросервисҳои HTTP, балки меъмории ба рӯйдодҳо асосёфта пешбинӣ шудааст. Аз сабаби табиати реактивии худ, он бо системаҳои паёмнависӣ (Apache Kafka, AMQP ва ғайра) хеле самаранок кор мекунад.
Ҳилла дар он аст, ки чӣ гуна як муҳаррики реактивиро барои рамзи императивӣ ва реактивӣ истифода бурдан мумкин аст.
Кваркус ин корро ба таври олиҷаноб мекунад. Интихоби байни императивӣ ва реактивӣ аён аст - барои ҳарду ядрои реактивиро истифода баред. Он чизе ки он воқеан ба он кӯмак мекунад, рамзи зуд ва бебанд аст, ки қариб ҳама чизеро, ки аз риштаи ҳалқаи ҳодиса мегузарад, яъне риштаи IO идора мекунад. Аммо агар шумо барномаҳои классикии REST ё муштарӣ дошта бошед, Quarkus дорои модели императивии барномасозӣ мебошад. Масалан, дастгирии HTTP дар Quarkus ба истифодаи муҳаррики бастанашаванда ва реактивӣ (Eclipse Vert.x ва Netty) асос ёфтааст. Ҳама дархостҳои HTTP, ки аз ҷониби барномаи шумо гирифта шудаанд, аввал аз ҳалқаи рӯйдодҳо (IO Thread) гузаронида мешаванд ва сипас ба қисми код, ки дархостҳоро идора мекунад, фиристода мешаванд. Вобаста аз макони таъинот, рамзи идоракунии дархостро метавон дар дохили як риштаи алоҳида даъват кард (ба истилоҳ риштаи коргарӣ, ки дар мавриди сервлетҳо ва Jax-RS истифода мешавад) ё риштаи I/O-ро (масири реактивӣ) истифода барад.
Пайвасткунакҳои системаи паёмнависӣ муштариёнеро, ки дар болои муҳаррики Vert.x кор мекунанд, истифода мебаранд. Аз ин рӯ, шумо метавонед паёмҳоро аз системаҳои миёнаравии паёмнависӣ самаранок ирсол кунед, қабул кунед ва коркард кунед.
Мо инчунин дарсҳои амалии онлайнро таҳия кардем, то ба шумо ҷанбаҳои гуногуни барномасозии реактивиро танҳо дар браузер омӯзанд, на IDE ва на компютер лозим. Шумо метавонед ин дарсҳоро пайдо кунед дар ин ҷо.
Томас Кварнстром ва Ҷейсон Грин
Ҳадафи лоиҳаи Quarkus эҷоди платформаи Java барои Kubernetes ва муҳитҳои бе сервер ва муттаҳид кардани моделҳои барномасозии реактивӣ ва императивӣ дар як муҳити ягонаи корӣ мебошад, то таҳиягарон ҳангоми кор бо доираи васеи меъмории паҳншудаи барномаҳо муносибати худро чандир тағйир диҳанд. Маълумоти бештарро дар лексияи муқаддимавии зер пайдо кунед.
2. Кваркус: Superfast Subatomic Java
Муаллиф: Бурр Саттер
Ин дастури видеоӣ аз DevNation Live нишон медиҳад, ки чӣ тавр истифода бурдани Quarkus барои оптимизатсияи барномаҳои Java, API, микросервисҳо ва функсияҳои бе сервер дар муҳити Kubernetes/OpenShift, онҳоро хеле хурдтар, тезтар ва миқёспазир мегардонад.
3. Quarkus ва GraalVM: суръат бахшидан ба Hibernate ба суръати олӣ ва кам кардани он ба андозаи субатомӣ
Муаллиф: Санне Гриноверо
Аз презентатсия шумо хоҳед фаҳмид, ки Quarkus чӣ гуна ба вуҷуд омадааст, он чӣ гуна кор мекунад ва чӣ гуна он ба шумо имкон медиҳад, ки китобхонаҳои мураккабро ба мисли Hibernate ORM бо тасвирҳои аслии GraalVM созед.
4. Таҳияи замимаҳои бе серверро омӯзед
Муаллиф: Мартин Лютер
Видеои дар поён овардашуда нишон медиҳад, ки чӣ тавр сохтани як барномаи оддии Java бо истифода аз Quarkus ва ҷойгиркунии он ҳамчун як барномаи бе сервер дар Knative.