JavaRush /جاوا بلاگ /Random-UR /2021 کے لیے جاوا رجحانات: کوٹلن، مائیکرو سروسز آرکیٹیکچر ...

2021 کے لیے جاوا رجحانات: کوٹلن، مائیکرو سروسز آرکیٹیکچر اور کبرنیٹس

گروپ میں شائع ہوا۔
ترقی کی دنیا بہت تیزی سے بدل رہی ہے۔ تبدیلیوں کو برقرار رکھنے کے لیے، آپ کو یہ سمجھنے کی ضرورت ہے کہ اس دنیا میں کیا ہو رہا ہے۔ رجحانات کو جاننا آپ کو تیزی سے بدلتے ہوئے رجحانات کو اپنانے کی اجازت دیتا ہے۔ مصنوعی ذہانت، انضمام کی تعداد میں اضافہ، اور چیزوں کا انٹرنیٹ عالمی پروگرامنگ کے رجحانات کا صرف ایک حصہ ہیں۔ جاوا رش نے جاوا پروگرامنگ کے ماہر اور لیکچرر آندرے روڈیونوف سے پوچھا کہ 2021 میں جاوا کا کیا ہو گا۔2021 میں جاوا کے رجحانات: کوٹلن، مائیکرو سروس فن تعمیر اور کبرنیٹس - 1

کن علاقوں کے لیے جاوا اب بھی واحد حل ہے؟

مستقبل قریب میں جاوا انٹرپرائز ایپلی کیشنز تیار کرنے کے لیے ایک اہم پلیٹ فارم رہے گا ( یعنی کارپوریٹ ایپلی کیشنز جو بڑی کمپنیاں پیسہ کمانے کے لیے استعمال کرتی ہیں۔ اس طرح کی ایپلی کیشنز کا کوڈ بیس اور اعلی قابل اعتماد تقاضے ہوتے ہیں - ایڈ۔ ) اور بیک اینڈ۔ جاوا مائیکرو سروسز فن تعمیر میں اچھی طرح فٹ بیٹھتا ہے، حالانکہ یہ مائیکرو سروسز لکھنے کا واحد متبادل نہیں ہے۔

دیگر JVM زبانوں، خاص طور پر کوٹلن، جاوا کے مقابلے میں کیا امکانات ہیں؟

گرووی اور اسکالا زبانوں کے ارد گرد ہائپ کے بعد، کوٹلن فی الحال JVM زبان کی سرکردہ ہے ۔ یہ پہلے ہی اینڈرائیڈ ڈویلپمنٹ کے لیے ایک معیار بن چکا ہے، لیکن جاوا انٹرپرائز کی دنیا میں اسے ابھی تک اپنی جگہ نہیں ملی ہے۔ بہت سے مشہور فریم ورک ( Spring , Vert.x , gRPC , RSocket ) بھی اس پر انحصار کرتے ہیں، اور اسے اپنے اندر استعمال کرنے کی اجازت دیتے ہیں۔

کوٹلن ایک مستحکم ٹائپ شدہ، آبجیکٹ پر مبنی پروگرامنگ زبان ہے جو جاوا ورچوئل مشین کے اوپر چلتی ہے اور اسے JetBrains نے تیار کیا ہے۔ LLVM انفراسٹرکچر کے ذریعے متعدد پلیٹ فارمز پر JavaScript اور قابل عمل کوڈ کو بھی مرتب کرتا ہے۔

کوٹلن کی خصوصیات: جے وی ایم بائیک کوڈ یا جاوا اسکرپٹ پر مرتب، اوپن سورس، نحو کو پڑھنے میں آسان، کوٹلن پروگرام موجودہ جاوا فریم ورک اور لائبریریوں کو استعمال کر سکتے ہیں۔

کیا ریلیز کے کم وقفوں کی وجہ سے جاوا کے معیار میں کمی آئے گی؟

ایسا نہیں ہوگا: زبان میں صرف اختراعات ہی جاری کی جائیں گی جب وہ تیار ہوں گی، اگلی ریلیز تک کئی سال انتظار کرنے کے بجائے، جیسا کہ پہلے تھا۔ کچھ ریلیزز ڈویلپرز کے دھیان میں نہیں رہیں گی، کیونکہ وہ کوئی زبردست مقبول اختراعات نہیں لائیں گے۔

بہار کا فریم ورک: کیا یہ متنوع ضروریات کے مطابق اپنے ماحولیاتی نظام کو بڑھانا جاری رکھے گا؟

بہار کا ماحولیاتی نظام فعال طور پر ترقی کرتا رہتا ہے، اور میں وقتاً فوقتاً اس کے ایک اور ذیلی پروجیکٹ کو دریافت کرتا ہوں، جس کے بارے میں میں نے پہلے کبھی نہیں سنا تھا۔ یہ بات بھی قابل ذکر ہے کہ پروجیکٹ ری ایکٹر اور r2dbc، جو کہ بہار کے ذیلی منصوبوں کے طور پر ابھرے ہیں، اب کہا جا سکتا ہے کہ وہ رد عمل کے نقطہ نظر کے معیار بن گئے ہیں۔

پروجیکٹ ری ایکٹر جاوا 8 لائبریری ہے جو ری ایکٹو پروگرامنگ ماڈل کو لاگو کرتی ہے۔ یہ ری ایکٹو اسٹریمز کی تفصیلات کے اوپر بنایا گیا ہے، جو کہ ری ایکٹیو ایپلی کیشنز بنانے کا ایک معیار ہے۔

R2DBC (Reactive Relational Database Connectivity) ایک اوپن سورس پروجیکٹ ہے جو SQL کے لیے ری ایکٹیو پروگرامنگ کے لیے وقف ہے۔

کلاؤڈ انفراسٹرکچر IaaS، SaaS، PaaS کی ترقی میں کیا رجحانات ہیں؟ کلاؤڈ کس طرح بنیادی ڈھانچے کو تیار کرنے، تعینات کرنے، برقرار رکھنے اور پیمانے کو آسان بناتا ہے؟

یہاں کا بنیادی رجحان Kubernetes اور اس کے ارد گرد کا بنیادی ڈھانچہ سروس میش کی شکل میں جاری ہے۔ ہر خود احترام کلاؤڈ فراہم کنندہ کوبرنیٹس کلسٹر استعمال کرنے کا موقع فراہم کرتا ہے۔ اور اگر کوئی ایپلیکیشن کوبرنیٹس پر چلانے کے لیے لکھی جاتی ہے، تو یہ اسے تعینات کرنے اور پیمانہ کرنے میں بہت آسان بنا دیتی ہے۔

Kubernetes (K8s) کنٹینرائزڈ ایپلی کیشنز کی تعیناتی، اسکیلنگ اور انتظام کو خودکار کرنے کے لیے اوپن سورس سافٹ ویئر ہے۔

Kubernetes ان کنٹینرز کو گروپ کرتا ہے جو آسان انتظام اور دریافت کے لیے ایک درخواست کو منطقی اکائیوں میں بناتے ہیں۔

Kubernetes میزبانوں کی ایک بڑی تعداد میں کنٹینرز کو منظم اور چلاتا ہے، اور کثیر تعداد میں کنٹینرز کے شریک مقام اور نقل کو قابل بناتا ہے۔ یہ پروجیکٹ گوگل نے شروع کیا تھا اور اب اسے مائیکروسافٹ، ریڈ ہیٹ، آئی بی ایم اور ڈوکر سمیت کئی کمپنیاں سپورٹ کر رہی ہیں۔

2021 میں کون سے دوسرے ترقیاتی رجحانات پر توجہ دینے کے قابل ہیں؟

ایک دلچسپ رجحان جو اب بھی عروج پر ہے وہ ہے GraalVM Native Image، جو آپ کو ایک روایتی جاوا ایپلیکیشن کو بائنری میں تبدیل کرنے کی اجازت دیتا ہے جس کے لیے JVM اور متعلقہ لائبریریوں کو کام کرنے کی ضرورت نہیں ہوگی۔ اس طرح کی بائنری فائل مائیکرو سروس آرکیٹیکچر اور سرور لیس اپروچ میں بہت اچھی طرح فٹ بیٹھتی ہے، کیونکہ یہ آپ کو ایپلیکیشن کی ایک نئی مثال بہت تیزی سے شروع کرنے کی اجازت دیتی ہے اور JVM کو "وارم اپ" کرنے کی ضرورت نہیں ہے۔

کیا حال ہی میں جاوا کی ترقی کی وجہ سے نوجوان ڈویلپرز کی ضروریات میں تبدیلی آئی ہے؟

زیادہ تر پروجیکٹس میں اب بھی جاوا 8 ایجادات شامل ہیں، چاہے ڈویلپر جاوا کے نئے ورژن استعمال کر رہے ہوں۔ لہذا، بنیادی ضرورت Stream API اور فنکشنل پروگرامنگ عناصر کا علم ہے ۔ مائیکرو سروس فن تعمیر ، Docker اور Kubernetes کے بارے میں سمجھنا بھی اچھا ہے ، کیونکہ ایک جدید پروجیکٹ میں ایک نوسکھئیے ڈویلپر کو فوری طور پر اس سے نمٹنا ہوگا۔

Stream API ایک فنکشنل انداز میں ڈیٹا ڈھانچے کے ساتھ کام کرنے کا ایک نیا طریقہ ہے۔ سٹریم این API (ان طریقوں کی تفصیل جس میں ایک کمپیوٹر پروگرام دوسرے پروگرام کے ساتھ بات چیت کر سکتا ہے)، اس کے مرکز میں، ڈیٹا کا ایک سلسلہ ہے۔

جاوا 8 کی آمد کے ساتھ، اسٹریم API نے پروگرامرز کو بہت زیادہ مختصر طور پر لکھنے کی اجازت دی جو پہلے کوڈ کی بہت سی لائنیں لیتا تھا، یعنی ڈیٹا سیٹ کے ساتھ کام کو آسان بنانے کے لیے، خاص طور پر، فلٹرنگ، چھانٹنے اور دیگر ڈیٹا ہیرا پھیری کے کاموں کو آسان بنانے کے لیے۔ اگر آپ کے پاس انٹرمیڈیٹ آپریشنز نہیں ہیں، تو آپ سٹریم کے بغیر کر سکتے ہیں اور اکثر کرنا چاہیے، بصورت دیگر کوڈ سٹریم کے بغیر زیادہ پیچیدہ ہو جائے گا۔

ڈوکر کنٹینرائزڈ ماحول میں ایپلی کیشنز کی تعیناتی اور انتظام کو خودکار کرنے کا سافٹ ویئر ہے۔

تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION