JavaRush /جاوا بلاگ /Random-UR /اینڈرائیڈ کی ترقی کیوں؟ ذاتی تجربے سے۔ استدلال اور حقائق
Oleksandr Klymenko
سطح
Харків

اینڈرائیڈ کی ترقی کیوں؟ ذاتی تجربے سے۔ استدلال اور حقائق

گروپ میں شائع ہوا۔
اگر آپ ان لوگوں میں سے ہیں جنہوں نے ابھی تک یہ فیصلہ نہیں کیا ہے کہ اپنے جاوا علم کو کہاں لاگو کرنا ہے، تو یہ مضمون یقیناً آپ کے لیے ہے۔ مضمون میں اینڈرائیڈ ڈویلپمنٹ جیسی سمت پر بحث کی گئی ہے۔ میں ایک اینڈرائیڈ ڈویلپر کیسے بنا اس کی کہانی۔ اینڈرائیڈ ڈویلپمنٹ کو منتخب کرنے کے لیے تجاویز اور امکانات۔ اندر ا جاو!
اینڈرائیڈ کی ترقی کیوں؟  ذاتی تجربے سے۔  استدلال اور حقائق - 1
ہیلو JavaRush طلباء! آپ میں سے بہت سے لوگوں کو پہلے ہی اندازہ ہے کہ آئی ٹی کے شعبے میں کون سی صنعتیں ہمارے پیارے جاوا کو استعمال کرتی ہیں۔ آپ میں سے کچھ لوگ پہلے ہی فیصلہ کر چکے ہوں گے اور اپنا انتخاب کر چکے ہوں گے۔ اس آرٹیکل میں میں آپ کو بتاؤں گا کہ میں اینڈرائیڈ ڈویلپر کیسے بنا۔ میں وضاحت کروں گا کہ میرے خیال میں یہ سمت سب سے زیادہ امید افزا کیوں ہے۔ میں آپ کو اس بات کی سمجھ دوں گا کہ اینڈرائیڈ ڈویلپمنٹ کیا ہے۔ اور یقیناً، میں ایک اینڈرائیڈ ڈویلپر کے طور پر آپ کے کیریئر کے کامیاب آغاز کے لیے تجاویز کا اشتراک کروں گا۔
اینڈرائیڈ کی ترقی کیوں؟  ذاتی تجربے سے۔  استدلال اور حقائق - 2

میں تاریخ سے شروع کروں گا۔

میں خود سے جانتا ہوں کہ بہت سے لوگ JavaRush کے دوسرے طلباء کی ترقی/کامیابی کی کہانیاں پڑھنا پسند کرتے ہیں۔ اس میں دلچسپی لینا بھی درست ہے۔ دوسرے لوگوں کی غلطیاں، صحیح اعمال، تجربات - یہ سب کسی کے لیے حقیقی صورت حال میں فیصلہ کرنے کے لیے مفید ہو سکتا ہے۔ لیکن ایسے لوگ بھی ہیں جنہیں ان تمام کہانیوں میں کوئی خاص دلچسپی نہیں ہے۔ ذیل میں ان میں سے ایک کہانی ہے، اور اسے پڑھنا صرف آپ کی خواہش پر منحصر ہے =) اینڈرائیڈ سے میری پہلی واقفیت 2016 کے موسم گرما میں ہوئی تھی۔ اس وقت میں جاوا کو بالکل نہیں جانتا تھا۔ میرے پاس صرف وہی علم تھا جو C/C++ میں پہلے سال کی یونیورسٹی پروگرامنگ کا تجربہ تھا اور html/css لے آؤٹ میں کچھ علم تھا۔ اسی سال مجھے Android OS پر چلنے والا اپنا پہلا اسمارٹ فون ملا۔ مجھے یاد ہے کہ میں اس پر اپنی درخواست لکھنے اور لانچ کرنے کی جنگلی خواہش پر کیسے قابو پا گیا تھا۔ بغیر وقت ضائع کیے میں نے تحقیق شروع کر دی۔ اور یہ پتہ چلا کہ اینڈرائیڈ ڈویلپمنٹ کے لیے بنیادی پروگرامنگ لینگویج جاوا ہے۔ مایوس نہیں، میں نے تربیتی ویڈیوز دیکھنا شروع کیں جن میں مجھے بتایا گیا کہ ترقی کے ماحول کو کیسے تیار اور ترتیب دیا جائے۔ انٹرنیٹ پر ان تمام کورسز کو دیکھنے کے بعد جو اس وقت آزادانہ طور پر دستیاب تھے، سب سے زیادہ دلچسپ اور، میری رائے میں، الیگزینڈر کلیموف کے اسباق کی منصوبہ بندی کی گئی تھی۔. تقریباً 2 ہفتوں میں 18 اسباق مکمل کرنے کے بعد، میں مفت تیراکی کے لیے روانہ ہوا۔ میرے اپنے خیالات تھے اور میں نے گوگل کے ساتھ مل کر ان پر عمل درآمد کرنے کی کوشش کی۔ میں نے زیادہ تر ترقی ایکس ایم ایل مارک اپ میں کی ہے - یہ اسکرین کی بصری نمائندگی ہے۔ اگر جاوا کوڈ میں براہ راست ترمیم کرنے کی ضرورت تھی، تو میں نے صرف گوگل میں اس کی تفصیل ٹائپ کی کہ میں کیا حاصل کرنا چاہتا ہوں اور ریڈی میڈ کوڈ کو کاپی کرتا ہوں (اکثر اسٹیک اوور فلو سے)۔ پھر اینڈرائیڈ اسٹوڈیو میں میں نے اس میں ترمیم کی جب تک کہ یہ کام نہ کرے۔ اس غیر پیداواری نقطہ نظر نے مجھ پر واضح کر دیا کہ جاوا کی بنیادی باتوں کے علم کے بغیر میں دور تک نہیں پہنچ سکتا۔ اینڈرائیڈ کے بارے میں میرے علم کے ایک مہینے کے بعد، اتفاق سے، مجھے اس کمپنی میں اینڈرائیڈ ایپلیکیشنز تیار کرنے کی پیشکش کی گئی جہاں میرے والد ایک iOS ڈویلپر کے طور پر کام کرتے تھے۔ قدرتی طور پر، کسی تنخواہ کا کوئی سوال نہیں تھا، یہ ایک رضاکارانہ مشق تھی، اور اگر میرا کوڈ کسی چیز کے لیے مفید تھا، تو اسے حتمی مصنوعات میں چھوڑ دیا جائے گا۔ اور ایسا ہی ہوا، ایک مہینے کے اندر میں نے کم و بیش xML لے آؤٹ کو سمجھا اور ایک ایپلی کیشن کی بہت سی اسکرینوں کو دوبارہ ڈیزائن کرنے میں کامیاب ہوگیا۔ کمپنی کے مالک نے مجھے بتایا کہ میرے کام کا نتیجہ کامیابی کے ساتھ گاہک کو فروخت کر دیا گیا اور مجھے $100 کا انعام دیا۔ لہذا میں اس کمپنی میں بہت، بہت، بہت کم تنخواہ پر کام کرتا رہا، لیکن حقیقی منصوبوں سے سیکھنے کا موقع ملا۔ کئی دنوں تک ان پروجیکٹس میں کھوج لگانے کے بعد، اور مہربان ملازمین کی مدد کے بغیر، میں نے جاوا اور اینڈرائیڈ ڈویلپمنٹ کے اہم نکات کا پتہ لگایا۔ لہذا، مہینے کے بعد، میں نے یونیورسٹی میں اپنی پڑھائی کو کام پر اپنی پڑھائی کے ساتھ جوڑ دیا۔ 2017 کے موسم بہار میں، میں نے اپنی ہم جماعت سے JavaRush پروجیکٹ کے بارے میں سیکھا، اس نے سبسکرپشن خریدی اور زیادہ تر کورس مکمل کیا۔ میں نے دلچسپی لی اور اسے آزمانے کا فیصلہ کیا۔ JavaRush کے مفت حصے سے گزرنا میرے لیے، زیادہ تر حصہ، تحقیقی مقاصد کے لیے تھا، کیونکہ... میرے علم کی سطح کورس کے ہدف والے سامعین سے زیادہ تھی۔ میرے لیے اپنے علم کی تشکیل کرنا بھی بہت ضروری تھا، کیونکہ... میں نے ایک وقت میں یہ یاد کیا، موضوع سے موضوع پر جلدی. آپ جانتے ہیں، 10 سطحوں سے گزرنے اور تمام کاموں کو مکمل کرنے کے بعد، مجھے ایک بہت اچھی کتاب پڑھنے کا لطف ملا! علم میں، سب کچھ آخر میں اپنی جگہ پر گر گیا. میں وقت کی کمی کی وجہ سے آگے نہیں بڑھ سکا، اور اس حقیقت کی وجہ سے کہ بہت سے موضوعات کا پہلے اچھی طرح مطالعہ کیا جا چکا تھا۔ اب میں اسی کمپنی میں زیادہ شرح پر کام کرنا جاری رکھتا ہوں اور اپنے کیرئیر کے آغاز میں اپنے مضحکہ خیز کاموں کو مسکراہٹ کے ساتھ یاد کرتا ہوں۔ مضامین لکھنے کا محرک ایک مقابلہ ہے، ساتھ ہی آپ کے علم کو ڈھانپنے کی ضرورت اور اسے شیئر کرنے کی خواہش، جو میں نے اپنے پچھلے مضمون میں Reflection API کے بارے میں کیا تھا ۔

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

میں اینڈرائیڈ ڈویلپمنٹ کیا ہے اور شروع کرنے کے لیے کس علم کی ضرورت ہے اس کی عمومی تصویر کو بیان کرکے شروع کروں گا۔
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 3
ان تمام شعبوں میں جن میں بنیادی تکنیکی ٹول جاوا ہے، android کی ترقی اس مخصوص پروگرامنگ زبان کے علم کے لحاظ سے سب سے زیادہ غیر ضروری ہے۔ اینڈروئیڈ میں جاوا کی بہت سی خصوصیات ان کے بیکار ہونے کی وجہ سے استعمال نہیں ہوتی ہیں، اور ان میں سے بہت سے گریڈ بلڈر کے مخصوص ورژن میں مکمل طور پر خارج کردیئے گئے تھے۔ اس سلسلے میں، خود جاوا کے علم کے لیے داخلے کی حد مکمل جاوا رش کورسز کی سطح پر ہے: جاوا کور اور جاوا نحو۔ یقینا، آپ کو ملٹی تھریڈنگ کو سمجھنے کے بارے میں نہیں بھولنا چاہئے؛ یہاں ایسا تجربہ بہت مفید ہوگا۔ جاوا کے ایسے علم سے آپ کافی پر اعتماد محسوس کریں گے۔ آئیے اینڈرائیڈ کے UI (یوزر انٹرفیس) حصے کو دیکھتے ہیں۔ ایپلیکیشن عناصر کی ترتیب یا ترتیب xML تہوں کا استعمال کرتے ہوئے کی جاتی ہے۔ یہاں آپ کو متوقع نتیجہ حاصل کرنے کے لیے مختلف ٹیگز کو یکجا کرنے کی ضرورت ہے۔ اگر آپ نے ایچ ٹی ایم ایل لے آؤٹ سے نمٹا ہے، تو آپ کو اس سے بہت جلد ہینگ مل جائے گی۔ لیکن یہاں تک کہ اگر آپ html سے واقف نہیں ہیں، تو اس میں کوئی پیچیدہ بات نہیں ہے، اور انٹرنیٹ پر اس موضوع پر کافی مواد موجود ہے۔ اینڈرائیڈ اسٹوڈیو IDE میں ایکس ایم ایل مارک اپ کی مثال:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 4
اگلا، ایک اہم نکتہ گٹ ورژن کنٹرول سسٹم کا علم اور سمجھ ہے۔ اس ٹیکنالوجی کے بغیر اینڈرائیڈ ایپلی کیشن تیار کرنے کا تصور کرنا مشکل ہے۔ لیکن یہاں آپ کو جدید ماہر بننے کی ضرورت نہیں ہے۔ ایک ابتدائی کے طور پر، آپ کو شاذ و نادر ہی اپنے ذخیرہ کے ساتھ پیچیدہ ہیرا پھیری کرنے کی ضرورت ہوگی۔ اس کے علاوہ، اگر ٹرمینل کا استعمال کرنا اور کچھ کمانڈز کو لگاتار داخل کرنا آپ کے لیے اجنبی ہے، اور git کے استعمال کا مطلب بالکل یہی ہے، تو ایک مقبول گرافیکل شیل SourceTree ہے ، جو آپ کی تمام شاخوں کو اپنی طرف متوجہ کرے گا اور آپ کو واضح سمجھ دے گا کہ آپ کہاں ہیں۔ ٹھیک ہے، اب آئیے اینڈرائیڈ کی ترقی کی سمت کو منتخب کرنے کے امکانات کے بارے میں بات کرتے ہیں۔ مندرجہ بالا کے باوجود، Android سیکھنے میں داخلے کی کم حد کے پیچھے مواقع اور ترقی کے راستوں کا ایک پورا پہاڑ موجود ہے! Android OS کافی تیزی سے ترقی پذیر پلیٹ فارم ہے۔ تقریباً ہر سال ایک نیا ورژن جاری کیا جاتا ہے، جو صارفین کے لیے نئی خصوصیات اور ڈویلپرز کے لیے مختلف سامان لاتا ہے۔ اس سلسلے میں، آپ کا کام کبھی بھی کسی مخصوص مستحکم ورژن کو سپورٹ کرنے کے معمول میں نہیں بدلے گا، وہاں ہمیشہ کچھ نیا ہوگا، ہمیشہ کہیں نہ کہیں منتقل ہوگا۔ مثال کے طور پر، کچھ عرصہ قبل گوگل نے کوٹلن کو اینڈرائیڈ کے لیے سرکاری ترقیاتی زبان کے طور پر اعلان کیا تھا۔ انہوں نے MVVM (Model-View-ViewModel) ڈیزائن پیٹرن کا استعمال کرتے ہوئے اینڈرائیڈ ایپلیکیشن کے لیے ایک نیا فن تعمیر بھی پیش کیا۔ پلیٹ فارم کی مقبولیت کے بارے میں مت بھولنا:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 5
کیریئر کی ترقی کے لحاظ سے، آپ کو ایک تنخواہ کے لیے پہلے کوڈ کرنے کی ضرورت نہیں ہوگی، اور تھوڑی دیر بعد دوسری کے لیے، وغیرہ۔ حال ہی میں، ایک مشہور مقام ایک معمار کا ہے، جس کا کام اس کے فن تعمیر کے بارے میں اپنے وژن کو فروغ دینا، ایپلی کیشنز کی نگرانی اور ڈیزائن کرنا ہے۔ ڈیزائن کے نمونوں کی صحیح معلومات کے ساتھ، یہ دروازے آپ کے لیے کھلے رہیں گے۔ اینڈرائیڈ چلانے والے گیجٹس اور آلات کی بڑی تعداد بتاتی ہے کہ صرف موبائل ایپلیکیشنز لکھنا ضروری نہیں ہے۔ آپ گھڑیوں، ٹی وی، کاروں اور یہاں تک کہ ریفریجریٹرز کے لیے بھی پروگرام تیار کر سکتے ہیں! جیسا کہ آپ دیکھ سکتے ہیں، بہت سارے امکانات ہیں، اور اس فہرست کو جاری رکھا جا سکتا ہے، لیکن مجھے ڈر ہے کہ مضمون کی لمبائی کافی زیادہ ہو گی۔ لیکن ان تمام امکانات کو حقیقت بنانے کے لیے میں آپ کے ساتھ کچھ ٹپس شیئر کرنا چاہتا ہوں۔ جیسا کہ اوپر ذکر کیا گیا ہے، اینڈرائیڈ اچھی رفتار سے ترقی کر رہا ہے، اور بہت سے ترقیاتی عناصر پرانے ہوتے جا رہے ہیں۔ ان کا مطالعہ کرنے میں اپنا وقت ضائع نہ کریں۔ غالباً، نئے نے پہلے ہی ان کی جگہ لے لی ہے؛ بہتر ہے کہ اپنا وقت مزید جدید طریقوں کا مطالعہ کرنے کے لیے وقف کریں۔ ہمیشہ ان لوگوں کے مشورے سنیں جو آپ سے زیادہ عرصے سے اس شعبے میں کام کر رہے ہیں، بعض اوقات کچھ مشورے گوگل پر موجود کسی بھی معلومات سے زیادہ قیمتی ہوتے ہیں۔ اور ایسے لوگوں سے مشورہ مانگنے سے نہ گھبرائیں۔ اپنے آپ کو Android کی دنیا کے بارے میں اضافی معلومات کا ذریعہ تلاش کریں، مثال کے طور پر، Habré یا دیگر مشہور IT کمیونٹیز پر موبائل ڈویلپر کے مضامین کے ڈائجسٹ۔ میں یہیں ختم کروں گا۔ مجھے امید ہے کہ میرے مضمون سے آپ کو اینڈرائیڈ کی ترقی کی دنیا کا تصور کرنے میں مدد ملی، اور آپ نے تھوڑا سا مفید سیکھا =) اپنی رائے کمنٹس میں لکھیں یا لائکس کے ساتھ سپورٹ کریں۔ آپ سب کا شکریہ اور کسی بھی جاوا سمت میں اچھی قسمت!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION