کی میز کے مندرجات[چھپائیں][دکھائیں]
آپ اپنے اگلے پروجیکٹ کے لیے جاوا استعمال کرنا چاہتے ہیں، لیکن آپ کے پاس تمام نئی خصوصیات اور ٹیکنالوجیز سیکھنے کا وقت نہیں ہے۔ یہ کوئی راز نہیں ہے کہ جاوا کچھ عرصے سے موجود ہے، اور تمام تبدیلیوں کو برقرار رکھنا مشکل ہوسکتا ہے۔
ہر بار جب آپ سوچتے ہیں کہ آپ کو یہ معلوم ہو گیا ہے، وہ ایک اور اپ ڈیٹ شامل کرتے ہیں یا کچھ اور تبدیل کرتے ہیں۔
Quarkus حل ہے!
یہ Red Hat کا ایک نیا اوپن سورس پروجیکٹ ہے جو Kubernetes پر جاوا ایپلی کیشنز کو تیار کرنا آسان بنانے کے لیے ڈیزائن کیا گیا ہے۔ کوارکس ٹیکنالوجیز کا سیٹ GraalVM اور HotSpot کا استعمال کرتے ہوئے جاوا ایپلی کیشنز کو لکھنا آسان بناتا ہے۔
Quarkus کے ساتھ، آپ ہلکے وزن کی مائیکرو سروسز اور ری ایکٹیو ایپلی کیشنز تیار کر سکتے ہیں جس میں کم یا کوئی بوائلر پلیٹ کوڈ نہیں ہے۔ اس کے علاوہ، Quarkus کسی بھی Java Runtime Environment (JRE) یا OpenJDK 8 یا 11 ماحول میں چلتا ہے، لہذا یہ کلاؤڈ میں استعمال کے لیے بہترین ہے۔
Quarkus کی ترقی کے ساتھ شروع کرنے کے بارے میں مزید جاننے کے لیے اس ٹیوٹوریل کو دیکھیں۔
Quarkus کیا ہے؟
Quarkus صفر کنفیگریشن کے ساتھ جدید جاوا ایپلی کیشنز بنانے کے لیے اوپن سورس فریم ورک ہے۔ آپ جس پلیٹ فارم پر چل رہے ہیں اس کے لیے مقامی کوڈ بنانے کے لیے یہ ایک کمپائلر کا استعمال کرتا ہے، لہذا آپ کو اپنا کوڈ لکھنے کے علاوہ کچھ کرنے کی ضرورت نہیں ہے۔
Quarkus پروجیکٹ کمیونٹی سے چلنے والا ایک اقدام ہے جس کا مقصد ایک ایسا فریم ورک بنانا ہے جو آپ کو جدید جاوا ایپلی کیشنز بنانے اور ان کو تعینات کرنے کے قابل بنائے۔ آپ Quarkus کو اسپرنگ بوٹ کے لیے ہلکا پھلکا، اوپن سورس متبادل کے طور پر سوچ سکتے ہیں۔
آپ Quarkus کو مائیکرو سروسز اور کلاؤڈ میں تعینات ری ایکٹو ایپلی کیشنز بنانے کے لیے استعمال کر سکتے ہیں۔
Quarkus کی خصوصیات کیا ہیں؟
Quarkus کی وہ سرفہرست خصوصیات ہیں جو آپ کو جدید جاوا ایپلی کیشنز بنانے اور تعینات کرنے میں مدد کریں گی۔
1. پہلے کنٹینر
GraalVM اور HotSpot کے لیے، Quarkus آپ کی درخواستوں کو آپ کی ضروریات کے مطابق بناتا ہے۔ انتہائی تیز آغاز کا وقت، ساتھ ساتھ انتہائی کم RSS میموری استعمال۔
Kubernetes جیسے کنٹینر آرکیسٹریشن کے حل کے لیے، قریب ترین اسکیل اپ اور ہائی ڈینسٹی میموری کا استعمال ضروری ہے۔ کمپائل ٹائم بوٹ کے نام سے جانا جانے والا طریقہ استعمال کیا جاتا ہے۔
کنٹینر شروع ہو گیا ہے، اور ایپلیکیشن کوڈ میموری میں لوڈ ہو گیا ہے۔ درخواست تیار ہونے پر، کنٹینر روک دیا جاتا ہے۔
Quarkus میں ایک پلگ ان میکانزم بھی ہے، جو آپ کو اپنی ایپلیکیشن میں نئی خصوصیات شامل کرکے Quarkus کو بڑھانے کی اجازت دیتا ہے۔ مثال کے طور پر، آپ اپنی درخواست میں ایک نیا تصدیقی طریقہ کار شامل کر سکتے ہیں۔
2. انتہائی آسان تعیناتی۔
Quarkus آپ کو جاوا کو سپورٹ کرنے والے کسی بھی پلیٹ فارم پر اپنی ایپلیکیشن تعینات کرنے کے قابل بناتا ہے۔ اس میں کنٹینر آرکیسٹریشن کے حل جیسے Kubernetes اور پلیٹ فارم جیسے Windows Server، Google App Engine، اور Heroku شامل ہیں۔
جب آپ Quarkus استعمال کرتے ہیں، تو آپ کو کوئی کوڈ لکھنے یا اپنا کوڈ لکھنے کے علاوہ کچھ کرنے کی ضرورت نہیں ہے۔ یہ آپ کی درخواست کو تعینات اور اپ ڈیٹ کرنا انتہائی آسان بناتا ہے۔
3. ضروری اور رد عمل کو یکجا کرتا ہے۔
Quarkus ایک فریم ورک ہے جو ضروری اور رد عمل کی ایپلی کیشنز کی ترقی کو یکجا کرتا ہے۔ دوسرے الفاظ میں، یہ آپ کو دونوں کے لیے یکساں ٹولز استعمال کرنے کی اجازت دیتا ہے۔
آپ اپنا کوڈ تیار کرنے کے لیے وہی ٹولز استعمال کر سکتے ہیں، چاہے آپ ہوں۔ ایک ایپ بنانا جو ڈیٹا پر کارروائی کرتا ہے یا ڈیٹا بیس کے ساتھ بات چیت کرتا ہے۔
یہ آپ کو اپنے رد عمل کی ایپلی کیشنز میں لازمی پروگرامنگ تکنیک استعمال کرنے کے قابل بناتا ہے۔ مثال کے طور پر، آپ JDBC اور JPA APIs کو ڈیٹا بیس ٹیبلز اور اداروں کا استعمال کرتے ہوئے ایپلیکیشنز لکھنے کے لیے استعمال کر سکتے ہیں۔
4. مکمل اسٹیک انٹیگریشن
Quarkus کو دوسرے فریم ورک اور لائبریریوں کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے، جیسے Spring، JPA، اور Hibernate۔ یہ آپ کو مزید مربوط ایپلی کیشنز بنانے کے قابل بناتا ہے۔
مثال کے طور پر، آپ اپنے ڈیٹا بیس ٹیبلز کو منظم کرنے کے لیے ہائبرنیٹ فریم ورک استعمال کر سکتے ہیں۔ اس کا مطلب ہے کہ آپ کوڈ لکھ سکتے ہیں جو ڈیٹا بیس کے ساتھ بات چیت کرتا ہے اس کی تفصیلات سیکھے بغیر کہ ڈیٹا بیس کیسے کام کرتا ہے۔
5. مائیکرو سروسز، ری ایکٹیو، اور فنکشنل پروگرامنگ
کوارکس مائیکرو سروسز اور ری ایکٹیو ایپلی کیشنز کو تیار کرنا ممکن بناتا ہے۔ اس کا مطلب ہے کہ آپ ایک ہی ٹولز کو فنکشنل اور ری ایکٹو ایپلی کیشنز بنانے کے لیے استعمال کر سکتے ہیں۔
مثال کے طور پر، HTTP کا استعمال کرتے ہوئے، آپ Quarkus کو ایسی مائیکرو سروسز تیار کرنے کے لیے استعمال کر سکتے ہیں جو دیگر مائیکرو سروسز کے ساتھ بات چیت کرتی ہیں۔
آپ Quarkus کو رد عمل کی ایپلی کیشنز تیار کرنے کے لیے بھی استعمال کر سکتے ہیں۔ اس کا مطلب ہے کہ آپ کی ایپلیکیشن غیر مطابقت پذیر واقعات کو سنبھال سکتی ہے، جیسے کہ ڈیٹا بیس یا ویب ساکٹ سے۔
6. انتہائی موثر اور اعلیٰ کارکردگی
Quarkus کو انتہائی تیزی سے چلانے کے لیے ڈیزائن کیا گیا ہے۔ یہ آپ کے کوڈ کو مرتب کرنے کے لیے HotSpot یا GraalVM کا بھی استعمال کرتا ہے، جو اسے انتہائی موثر بناتا ہے۔
مثال کے طور پر، کوارکس اسپرنگ بوٹ سے 100 گنا زیادہ تیز ہے۔ اور Java EE سے تین گنا تیز۔
آپ Quarkus کے ساتھ کیسے شروعات کر سکتے ہیں؟
Quarkus کے ساتھ شروع کرنے کے لیے، آپ کو Quarkus کا فریم ورک انسٹال کرنا ہوگا۔ ایسا کرنے کے لیے، آپ کو جاوا ڈویلپمنٹ کٹ انسٹال کرنے کی ضرورت ہے۔
JDK انسٹال کرنے کے بعد، آپ کو Quarkus فریم ورک انسٹال کرنا ہوگا۔ آپ ایسا کرنے کے لیے Maven، Gradle، یا CLI استعمال کر سکتے ہیں۔
Quarkus انسٹال کرنے کے بعد، آپ کوڈ لکھنا شروع کر سکتے ہیں۔ کوارکس فریم ورک کو دوسرے فریم ورک اور لائبریریوں کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے، جیسا کہ اسپرنگ اور ہائبرنیٹ۔ اس کا مطلب ہے کہ آپ دونوں کے لیے ٹولز کا ایک ہی سیٹ استعمال کر سکتے ہیں۔
کیا Quarkus کے دوسرے متبادل ہیں؟
بہت سے فریم ورک آپ کو جاوا ایپلیکیشنز تیار کرنے کے قابل بناتے ہیں۔ جیسا کہ:
1. اسپرنگ بوٹ
اسپرنگ بوٹ ایک فریم ورک ہے جو آپ کو جاوا ایپلیکیشنز تیار کرنے کے قابل بناتا ہے۔ یہ بہار کے فریم ورک کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ پلیٹ فارم فنکشنل اور ری ایکٹیو دونوں ایپلی کیشنز کو لکھنا ممکن بناتا ہے۔
اسپرنگ بوٹ کو ایپلی کیشنز تیار کرنا آسان بنانے کے لیے ڈیزائن کیا گیا ہے۔ اس کا مطلب ہے کہ آپ کو ایپلی کیشنز بنانے کے لیے نئے ٹولز سیکھنے کی ضرورت نہیں ہے۔
2. GraalVM
GraalVM کو جاوا کے لیے ایک انتہائی بہتر کمپائلر بننے کے لیے ڈیزائن کیا گیا ہے۔ اس کا مطلب ہے کہ آپ انتہائی تیز ایپلی کیشنز لکھ سکتے ہیں۔ لیکن، آپ کو ان کو مرتب کرنے کے قابل ہونے کی بھی ضرورت ہے۔
GraalVM ایک ایسا پلیٹ فارم ہے جو آپ کو جاوا ایپلی کیشنز کو مرتب کرنے کی اجازت دیتا ہے۔ یہ پلیٹ فارم GraalVM ٹول چین کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ ٹول چین آپ کے کوڈ کی کارکردگی کو بہتر بنانے کے لیے ڈیزائن کیا گیا ہے۔
3. JAX-RS
JAX-RS کو RESTful APIs لکھنا آسان بنانے کے لیے ڈیزائن کیا گیا تھا۔ کیا آپ جانتے ہیں کہ JAX-RS تفصیلات پر مبنی کتنے ویب APIs ہیں؟ اسپرنگ بوٹ اور اسپرنگ ایم وی سی اس تصریح کا استعمال کرتے ہیں۔
دوسرے فریم ورک بھی استعمال کرتے ہیں۔ یہ، کی طرح ڈراپ وزرڈ۔ کو ویب سروس کے صارفین اور گیٹ ویز کی تخلیق اور نفاذ کو آسان بنانے کے لیے، JAX-RS Java SE 5 تشریحات کو ملازمت دیتا ہے، جو اس ریلیز میں متعارف کرائے گئے تھے۔
اکثر پوچھے گئے سوالات
کیا Quarkus مستحکم ہے؟
ہاں، Quarkus مستحکم ہے۔ تازہ ترین ورژن 1.0.1 ہے۔ آپ اسے سرکاری ویب سائٹ سے ڈاؤن لوڈ کر سکتے ہیں۔ یہ مستحکم ہے لیکن انتہائی حسب ضرورت ہے۔ اس کا مطلب ہے کہ آپ اسے اپنی ایپلی کیشنز بنانے کے لیے استعمال کر سکتے ہیں۔
غور کریں کہ Quarkus ایپلی کیشنز میں افعال کی اکثریت ایک وسیع تر ماحولیاتی نظام جیسے Spring, Hibernate اور دیگر میں پائی جا سکتی ہے۔
کیا Quarkus مفت ہے؟
کوارکس ہے۔ اوپن سورس. اس کا مطلب ہے کہ آپ اسے مفت میں ڈاؤن لوڈ کر سکتے ہیں۔ آپ کو سورس کوڈ میں ترمیم کرنے اور اسے دوبارہ تقسیم کرنے کا حق بھی حاصل ہے۔
آپ بھی اس منصوبے میں اپنا حصہ ڈال سکتے ہیں۔ اس میں بامعاوضہ تعاون کی رکنیت بھی شامل ہے۔ یہ سبسکرپشن پروڈکٹ روڈ میپ، کمیونٹی اور ٹریننگ تک رسائی کے لیے ہے۔
Quarkus اور Kotlin کے درمیان کیا فرق ہے؟
Quarkus ری ایکٹیو ایپلی کیشنز بنانے کا ایک پلیٹ فارم ہے۔ اس کا مطلب ہے کہ اسے ری ایکٹو پروگرامنگ پیراڈائم کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ نمونہ ایونٹ سے چلنے والے پروگرامنگ ماڈل کی طرح ہے۔
کوٹلن ایک پروگرامنگ لینگویج ہے جسے ایپلیکیشنز لکھنے میں آسانی پیدا کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ ایک جدید ہے۔ پروگرامنگ زبان جو جاوا نحو استعمال کرتا ہے۔
میری رائے
اگر آپ جاوا ایپلیکیشنز تیار کرنے کے لیے ایک نیا طریقہ تلاش کر رہے ہیں، تو Quarkus ایک کوشش کے قابل ہے۔ آپ ایک ڈویلپر کے طور پر کوڈ لکھنے کے لیے جاوا پروگرامنگ زبان استعمال کر سکتے ہیں۔ لیکن، یہ بھی ایک ہے ایپلی کیشن ڈویلپمنٹ کے لیے طاقتور ٹول.
میں روایتی جاوا ڈیولپمنٹ کے مقابلے میں کارکردگی کے فوائد سے متاثر ہوا ہوں۔ اگر آپ اپنے لیے Quarkus کو آزمانا چاہتے ہیں، تو ہمارا ٹیوٹوریل ضرور دیکھیں کہ شروعات کیسے کی جائے۔
جواب دیجئے