ڪوٽلن ۾ RxSwift ۽ ڪوروٽينز - AGIMA ۽ GeekBrains کان موبائل ڊولپمينٽ ۾ هڪ اختياري

ڪوٽلن ۾ RxSwift ۽ ڪوروٽينز - AGIMA ۽ GeekBrains کان موبائل ڊولپمينٽ ۾ هڪ اختياري

علم سٺو آهي، صرف عظيم. پر مشق پڻ ضروري آهي ته توهان حاصل ڪيل ڊيٽا استعمال ڪري سگهو ٿا، انهن کي "غير فعال اسٽوريج" جي حيثيت کان "فعال استعمال" جي حيثيت ۾ منتقل ڪري سگهو ٿا. ڪابه ڳالهه ڪيتري نه سٺي نظرياتي تربيت آهي، ڪم "فيلڊ ۾" اڃا به گهربل آهي. مٿي ڄاڻايل تقريبن ڪنهن به شعبي جي مطالعي تي لاڳو ٿئي ٿو، بشمول، يقينا، سافٽ ويئر ڊولپمينٽ.

هن سال، GeekBrains، آن لائن يونيورسٽي GeekUniversity جي موبائيل ڊولپمينٽ فيڪلٽي جي حصي جي طور تي، ڪم ڪرڻ شروع ڪيو انٽرايڪٽو ايجنسي AGIMA، جنهن جي ٽيم پروفيشنل ڊولپرز آهي (اهي پيچيده تيز لوڊ پروجيڪٽ، ڪارپوريٽ پورٽلز ۽ موبائل ايپليڪيشنون ٺاهيندا آهن، بس اهو ئي آهي). AGIMA ۽ GeekBrains موبائيل ايپليڪيشن ڊولپمينٽ جي عملي مسئلن ۾ گہرے غوطه لاءِ هڪ اختياري ٺاهيا آهن.

ٻئي ڏينهن اسان Igor Vedeneev، هڪ iOS ماهر، ۽ اليگزينڊر ٽزڪ سان ڳالهايو، جيڪو Android ۾ ماهر آهي. انهن جي مهرباني، موبائل ڊولپمينٽ تي اختياري عملي سان مالا مال ڪيو ويو RxSwift فريم ورڪ تي خاص ڪورس и ڪوٽلن ۾ ڪوروٽين. هن آرٽيڪل ۾، ڊولپر پروگرامرز لاء هر علائقي جي اهميت بابت ڳالهائي رهيا آهن.

مثال طور RxSwift استعمال ڪندي iOS ۾ رد عمل واري پروگرامنگ

ڪوٽلن ۾ RxSwift ۽ ڪوروٽينز - AGIMA ۽ GeekBrains کان موبائل ڊولپمينٽ ۾ هڪ اختياري
اختياري استاد Igor Vedeneev: "RxSwift سان، توهان جي درخواست اڏامي ويندي"

چونڊ دوران شاگردن کي ڪهڙي معلومات ملي ٿي؟

اسان نه رڳو فريم ورڪ جي صلاحيتن جي باري ۾ ڳالهايون ٿا، پر اهو پڻ ڏيکاري ٿو ته ڪيئن استعمال ڪجي کلاسک MVVM + RxSwift ميلاپ ۾. ڪيترن ئي عملي مثالن تي پڻ بحث ڪيو ويو آهي. حاصل ڪيل ڊيٽا کي گڏ ڪرڻ لاء، اسان هڪ ايپليڪيشن لکندا آهيون جيڪا ممڪن طور تي فيلڊ آپريٽنگ حالتن جي ويجهو هجي. هي استعمال ڪندي ميوزڪ سرچ ايپليڪيشن هوندي iTunes ڳولا API. اتي اسان سڀ بھترين طريقا لاڳو ڪنداسين، گڏوگڏ MVC paradigm ۾ RxSwift استعمال ڪرڻ لاءِ وڌيڪ آسان اختيار تي غور ڪنداسين.

RxSwift - هڪ iOS پروگرامر کي هن فريم ورڪ جي ضرورت ڇو آهي، اهو ڊولپر لاءِ زندگي ڪيئن آسان بڻائي ٿو؟

RxSwift اسٽريم لائنز ايونٽ اسٽريمز ۽ شين جي وچ ۾ رابطن سان ڪم ڪن ٿيون. سڀ کان آسان ۽ سڀ کان وڌيڪ واضح مثال بائنڊنگز آهي: مثال طور، توهان انٽرفيس کي اپڊيٽ ڪري سگهو ٿا صرف هڪ متغير ۾ نيون قيمتون ترتيب ڏيڻ سان viewModel. اهڙيء طرح، انٽرفيس ڊيٽا تي مبني آهي. ان کان علاوه، RxSwift توهان کي سسٽم کي بيان ڪرڻ جي اجازت ڏئي ٿو بياناتي انداز ۾، جيڪو توهان کي توهان جي ڪوڊ کي منظم ڪرڻ ۽ پڙهڻ جي صلاحيت وڌائڻ جي اجازت ڏئي ٿو. هي سڀ ڪجهه وڌيڪ موثر طريقي سان ايپليڪيشنن کي ترقي ڪرڻ ۾ مدد ڪري ٿو.

هڪ ڊولپر لاءِ، فريم ورڪ جو علم پڻ هڪ ريزوم تي هڪ سٺو پلس آهي، ڇو ته رد عمل واري پروگرامنگ جي سمجھ، ۽ خاص طور تي RxSwift سان تجربو، مارڪيٽ ۾ قابل قدر آهي.

ٻين تي هن خاص فريم ورڪ کي ڇو چونڊيو؟

RxSwift ۾ سڀ کان وڏي ڪميونٽي آهي. اهو آهي، اتي هڪ وڏو موقعو آهي ته اهو مسئلو جيڪو ڊولپر کي منهن ڏئي رهيو آهي اڳ ۾ ئي ڪنهن جي طرفان حل ڪيو ويو آهي. پڻ دٻي کان ٻاهر بائنڊنگ جو هڪ وڏو تعداد. ان کان علاوه، RxSwift ReactiveX جو حصو آهي. هن جو مطلب آهي ته Android لاء هڪ اينالاگ آهي، مثال طور (RxJava، RxKotlin)، ۽ ورڪشاپ ۾ ساٿي هڪ ٻئي سان ساڳي ٻولي ڳالهائي سگهن ٿا، ان حقيقت جي باوجود ته ڪجهه iOS سان ڪم ڪن ٿا، ٻيا Android سان.

فريم ورڪ کي مسلسل اپڊيٽ ڪيو ويندو آهي، ننڍا ڪيڙا درست ڪيا ويندا آهن، سوفٽ جي نون ورزن مان فيچرز لاءِ سپورٽ شامل ڪئي ويندي آهي، ۽ نيون پابنديون شامل ڪيون وينديون آهن. جيئن ته RxSwift کليل ذريعو آهي، توهان سڀني تبديلين جي پيروي ڪري سگهو ٿا. ان کان سواء، اهو ممڪن آهي ته انهن کي پنهنجو پاڻ کي شامل ڪرڻ لاء.

RxSwift ڪٿي استعمال ڪيو وڃي؟

  1. پابنديون. ضابطي جي طور تي، اسان UI بابت ڳالهائي رهيا آهيون، UI کي تبديل ڪرڻ جي صلاحيت، ڄڻ ته ڊيٽا جي تبديلين تي رد عمل، ۽ واضح طور تي انٽرفيس کي نه ٻڌايو ته اهو تازه ڪاري ڪرڻ جو وقت آهي.
  2. اجزاء ۽ عملن جي وچ ۾ تعلق. صرف هڪ مثال. اسان کي نيٽ ورڪ مان ڊيٽا جي هڪ فهرست حاصل ڪرڻ جي ضرورت آهي. حقيقت ۾، هي هڪ اهڙو سادو آپريشن ناهي. هن کي ڪرڻ لاء، توهان کي هڪ درخواست موڪلڻ جي ضرورت آهي، جواب کي نقشي جي شين جي صف ۾، ان کي ڊيٽابيس ۾ محفوظ ڪريو ۽ ان کي UI ڏانهن موڪليو. ضابطي جي طور تي، مختلف اجزاء انهن عملن کي انجام ڏيڻ جا ذميوار آهن (اسان اصولن سان پيار ۽ پيروي ڪندا آهيون حلال؟). RxSwift جهڙو اوزار هٿ ۾ هئڻ ڪري، اهو ممڪن ٿي سگهي ٿو بيان ڪرڻ ته سسٽم ڇا ڪندو، ۽ ڪيئن ڪندو اهو ٻين هنڌن تي ٿيندو. اهو ئي سبب آهي ته ڪوڊ جي بهتر تنظيم حاصل ڪئي وئي آهي ۽ پڙهڻ جي صلاحيت وڌائي ٿي. نسبتا ڳالهائڻ، ڪوڊ مواد جي جدول ۽ ڪتاب پاڻ ۾ ورهائي سگهجي ٿو.

ڪوٽلن ۾ ڪارٽون

ڪوٽلن ۾ RxSwift ۽ ڪوروٽينز - AGIMA ۽ GeekBrains کان موبائل ڊولپمينٽ ۾ هڪ اختياري
اختياري ڪورس استاد اليگزينڊر ٽزڪ: "جديد ترقي کي جديد ٽيڪنالاجي ذريعن جي ضرورت آهي"

ڇا سيکاريو ويندو GeekBrains فيڪلٽي ۾ برانڊ ٿيل چوٿين جي حصي طور؟

نظريو، ٻين طريقن سان مقابلو، خالص ڪوٽلن ۾ عملي مثال ۽ Android ايپليڪيشن ماڊل ۾. عملي طور تي، شاگردن کي هڪ ايپليڪيشن ڏيکاري ويندي جنهن ۾ هر شي ڪوروٽين سان ڳنڍيل آهي. حقيقت اها آهي ته سڀ کان وڌيڪ ايپليڪيشنون مڪمل طور تي هم وقت سازي ۽ متوازي ڪمپيوٽنگ آهن. پر ڪوٽلن ڪوروٽين اجازت ڏين ٿا مونجهاري، متضاد يا تمام گهڻو پيچيده ۽ ڪارڪردگي جي گهرج واري ڪوڊ کي گهٽائي هڪ واحد، آسان سمجھڻ واري انداز ۾، صحيح عمل ۽ ڪارڪردگي ۾ فائدا حاصل ڪرڻ.

اسان ڪوروٽينز ۾ محاوري ڪوڊ لکڻ سکنداسون جيڪو عملي مسئلن کي حل ڪري ٿو ۽ پهرين نظر ۾ سمجھ ۾ اچي ٿو جيتوڻيڪ ان جي گهڻي ڄاڻ کان سواءِ ته ڪوروٽينز ڪيئن ڪم ڪن ٿيون (جيڪي لائبريرين جهڙوڪ RxJava بابت نٿا چئي سگهجن). اسان اهو پڻ سمجھندا سين ته وڌيڪ پيچيده تصورن کي ڪيئن استعمال ڪجي، جهڙوڪ اداڪار ماڊل، وڌيڪ پيچيده مسئلن کي حل ڪرڻ لاء، جهڙوڪ ڊيٽا گودام MVI تصور ۾.

رستي ۾، وڌيڪ سٺي خبر. جڏهن اختياري رڪارڊ ڪيو پيو وڃي، ڪوٽلن ڪوروٽينز لائبريري ۾ هڪ تازه ڪاري جاري ڪئي وئي، جنهن ۾ ڪلاس ظاهر ٿيو Flow - قسمن جي analogue Flowable и Observable RxJava کان. اپڊيٽ بنيادي طور تي ڪوروٽين جي خصوصيت کي ايپليڪيشن ڊولپر جي نقطي نظر کان مڪمل ڪري ٿي. سچ، اڃا به بهتري لاءِ گنجائش موجود آهي: ان حقيقت جي باوجود ته ڪوٽلن/آبائي ۾ ڪوروٽين جي مدد جي مهرباني، اهو اڳ ۾ ئي ممڪن آهي ته ڪوٽلن ۾ ملٽي پليٽ فارم ايپليڪيشنون لکڻ ۽ RxJava يا خالص Kotlin ۾ اينالاگز جي گهٽتائي کان متاثر نه ٿين، kotlin/native ۾ ڪوروٽين لاءِ سپورٽ اڃا مڪمل نه ٿي آهي. مثال طور، اداڪار جو ڪو تصور ناهي. عام طور تي، Kotlin ٽيم سڀني پليٽ فارمن تي وڌيڪ پيچيده اداڪارين کي سپورٽ ڪرڻ جو منصوبو آهي.

Kotlin Coroutines - اهي ڪيئن مدد ڪندا ڪوٽلن ڊولپر جي؟

Coroutines هڪ بهترين موقعو مهيا ڪن ٿا ڪوڊ لکڻ جو جيڪو پڙهي سگهجي ٿو، برقرار رکڻ لائق، ۽ محفوظ، هم وقت ساز، ۽ اتفاق سان. توهان پڻ ٺاهي سگهو ٿا اڊاپٽر ٻين هم وقت ساز فريم ورڪ لاءِ ۽ طريقا جيڪي اڳ ۾ ئي ڪوڊ بيس ۾ استعمال ڪيا ويندا.

ڪوروٽين ڪيئن مختلف آهن موضوعن کان؟

ڪوٽلن ٽيم ڪوروٽينز کي هلڪو وزن وارو سلسلو سڏيندو آهي. ان سان گڏ، هڪ ڪوروٽين ڪجهه قدر واپس ڪري سگهي ٿو، ڇاڪاڻ ته، ان جي بنيادي طور تي، هڪ ڪوروٽين هڪ معطل ڪيل حساب آهي. اهو سڌو سنئون سسٽم جي سلسلي تي منحصر نه آهي؛ موضوع صرف ڪوروٽين تي عمل ڪندا آهن.

Coroutine استعمال ڪندي ڪھڙا عملي مسئلا حل ڪري سگھجن ٿا، جن کي ”خالص“ ڪوٽلين استعمال ڪندي حل ڪرڻ مشڪل يا مشڪل نه آھي؟

ڪو به هم وقت ساز، متوازي، ”مقابلي وارو“ ڪم ڪوروٽينز استعمال ڪندي چڱيءَ طرح حل ڪيا ويا آهن - ڇا اهو صارف جي ڪلڪن تي عمل ڪرڻ، آن لائن وڃڻ، يا ڊيٽابيس مان تازه ڪارين جي رڪنيت حاصل ڪرڻ.

خالص ڪوٽلن ۾، اهي مسئلا ساڳيءَ طرح حل ڪيا ويا آهن جيئن جاوا ۾ - هزارين فريم ورڪ جي مدد سان، جن مان هر هڪ جا پنهنجا فائدا ۽ نقصان آهن، پر انهن مان ڪنهن کي به ٻوليءَ جي سطح تي سهڪار نه آهي.

نتيجي طور، اهو چوڻ جي قابل آهي ته ٻئي اختياري (۽ مکيه ڪورس پڻ) خارجي حالتن ۾ تبديلين جي مطابق اپڊيٽ ڪيا ويا آهن. جيڪڏهن اهم تازه ڪاريون ٻولين يا فريم ورڪ ۾ ظاهر ٿين ٿيون، استاد هن کي حساب ۾ وٺن ۽ پروگرام کي تبديل ڪن. هي سڀ توهان کي توهان جي آڱر کي ترقي جي عمل جي نبض تي رکڻ جي اجازت ڏئي ٿي، تنهنڪري ڳالهائڻ لاء.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو