RxSwift اسٽريم لائنز ايونٽ اسٽريمز ۽ شين جي وچ ۾ رابطن سان ڪم ڪن ٿيون. سڀ کان آسان ۽ سڀ کان وڌيڪ واضح مثال بائنڊنگز آهي: مثال طور، توهان انٽرفيس کي اپڊيٽ ڪري سگهو ٿا صرف هڪ متغير ۾ نيون قيمتون ترتيب ڏيڻ سان viewModel. اهڙيء طرح، انٽرفيس ڊيٽا تي مبني آهي. ان کان علاوه، RxSwift توهان کي سسٽم کي بيان ڪرڻ جي اجازت ڏئي ٿو بياناتي انداز ۾، جيڪو توهان کي توهان جي ڪوڊ کي منظم ڪرڻ ۽ پڙهڻ جي صلاحيت وڌائڻ جي اجازت ڏئي ٿو. هي سڀ ڪجهه وڌيڪ موثر طريقي سان ايپليڪيشنن کي ترقي ڪرڻ ۾ مدد ڪري ٿو.
هڪ ڊولپر لاءِ، فريم ورڪ جو علم پڻ هڪ ريزوم تي هڪ سٺو پلس آهي، ڇو ته رد عمل واري پروگرامنگ جي سمجھ، ۽ خاص طور تي RxSwift سان تجربو، مارڪيٽ ۾ قابل قدر آهي.
ٻين تي هن خاص فريم ورڪ کي ڇو چونڊيو؟
RxSwift ۾ سڀ کان وڏي ڪميونٽي آهي. اهو آهي، اتي هڪ وڏو موقعو آهي ته اهو مسئلو جيڪو ڊولپر کي منهن ڏئي رهيو آهي اڳ ۾ ئي ڪنهن جي طرفان حل ڪيو ويو آهي. پڻ دٻي کان ٻاهر بائنڊنگ جو هڪ وڏو تعداد. ان کان علاوه، RxSwift ReactiveX جو حصو آهي. هن جو مطلب آهي ته Android لاء هڪ اينالاگ آهي، مثال طور (RxJava، RxKotlin)، ۽ ورڪشاپ ۾ ساٿي هڪ ٻئي سان ساڳي ٻولي ڳالهائي سگهن ٿا، ان حقيقت جي باوجود ته ڪجهه iOS سان ڪم ڪن ٿا، ٻيا Android سان.
فريم ورڪ کي مسلسل اپڊيٽ ڪيو ويندو آهي، ننڍا ڪيڙا درست ڪيا ويندا آهن، سوفٽ جي نون ورزن مان فيچرز لاءِ سپورٽ شامل ڪئي ويندي آهي، ۽ نيون پابنديون شامل ڪيون وينديون آهن. جيئن ته RxSwift کليل ذريعو آهي، توهان سڀني تبديلين جي پيروي ڪري سگهو ٿا. ان کان سواء، اهو ممڪن آهي ته انهن کي پنهنجو پاڻ کي شامل ڪرڻ لاء.
RxSwift ڪٿي استعمال ڪيو وڃي؟
پابنديون. ضابطي جي طور تي، اسان UI بابت ڳالهائي رهيا آهيون، UI کي تبديل ڪرڻ جي صلاحيت، ڄڻ ته ڊيٽا جي تبديلين تي رد عمل، ۽ واضح طور تي انٽرفيس کي نه ٻڌايو ته اهو تازه ڪاري ڪرڻ جو وقت آهي.
اجزاء ۽ عملن جي وچ ۾ تعلق. صرف هڪ مثال. اسان کي نيٽ ورڪ مان ڊيٽا جي هڪ فهرست حاصل ڪرڻ جي ضرورت آهي. حقيقت ۾، هي هڪ اهڙو سادو آپريشن ناهي. هن کي ڪرڻ لاء، توهان کي هڪ درخواست موڪلڻ جي ضرورت آهي، جواب کي نقشي جي شين جي صف ۾، ان کي ڊيٽابيس ۾ محفوظ ڪريو ۽ ان کي UI ڏانهن موڪليو. ضابطي جي طور تي، مختلف اجزاء انهن عملن کي انجام ڏيڻ جا ذميوار آهن (اسان اصولن سان پيار ۽ پيروي ڪندا آهيون حلال؟). RxSwift جهڙو اوزار هٿ ۾ هئڻ ڪري، اهو ممڪن ٿي سگهي ٿو بيان ڪرڻ ته سسٽم ڇا ڪندو، ۽ ڪيئن ڪندو اهو ٻين هنڌن تي ٿيندو. اهو ئي سبب آهي ته ڪوڊ جي بهتر تنظيم حاصل ڪئي وئي آهي ۽ پڙهڻ جي صلاحيت وڌائي ٿي. نسبتا ڳالهائڻ، ڪوڊ مواد جي جدول ۽ ڪتاب پاڻ ۾ ورهائي سگهجي ٿو.
ڪوٽلن ۾ ڪارٽون
اختياري ڪورس استاد اليگزينڊر ٽزڪ: "جديد ترقي کي جديد ٽيڪنالاجي ذريعن جي ضرورت آهي"
نظريو، ٻين طريقن سان مقابلو، خالص ڪوٽلن ۾ عملي مثال ۽ Android ايپليڪيشن ماڊل ۾. عملي طور تي، شاگردن کي هڪ ايپليڪيشن ڏيکاري ويندي جنهن ۾ هر شي ڪوروٽين سان ڳنڍيل آهي. حقيقت اها آهي ته سڀ کان وڌيڪ ايپليڪيشنون مڪمل طور تي هم وقت سازي ۽ متوازي ڪمپيوٽنگ آهن. پر ڪوٽلن ڪوروٽين اجازت ڏين ٿا مونجهاري، متضاد يا تمام گهڻو پيچيده ۽ ڪارڪردگي جي گهرج واري ڪوڊ کي گهٽائي هڪ واحد، آسان سمجھڻ واري انداز ۾، صحيح عمل ۽ ڪارڪردگي ۾ فائدا حاصل ڪرڻ.
اسان ڪوروٽينز ۾ محاوري ڪوڊ لکڻ سکنداسون جيڪو عملي مسئلن کي حل ڪري ٿو ۽ پهرين نظر ۾ سمجھ ۾ اچي ٿو جيتوڻيڪ ان جي گهڻي ڄاڻ کان سواءِ ته ڪوروٽينز ڪيئن ڪم ڪن ٿيون (جيڪي لائبريرين جهڙوڪ RxJava بابت نٿا چئي سگهجن). اسان اهو پڻ سمجھندا سين ته وڌيڪ پيچيده تصورن کي ڪيئن استعمال ڪجي، جهڙوڪ اداڪار ماڊل، وڌيڪ پيچيده مسئلن کي حل ڪرڻ لاء، جهڙوڪ ڊيٽا گودام MVI تصور ۾.
رستي ۾، وڌيڪ سٺي خبر. جڏهن اختياري رڪارڊ ڪيو پيو وڃي، ڪوٽلن ڪوروٽينز لائبريري ۾ هڪ تازه ڪاري جاري ڪئي وئي، جنهن ۾ ڪلاس ظاهر ٿيو Flow - قسمن جي analogue Flowable и Observable RxJava کان. اپڊيٽ بنيادي طور تي ڪوروٽين جي خصوصيت کي ايپليڪيشن ڊولپر جي نقطي نظر کان مڪمل ڪري ٿي. سچ، اڃا به بهتري لاءِ گنجائش موجود آهي: ان حقيقت جي باوجود ته ڪوٽلن/آبائي ۾ ڪوروٽين جي مدد جي مهرباني، اهو اڳ ۾ ئي ممڪن آهي ته ڪوٽلن ۾ ملٽي پليٽ فارم ايپليڪيشنون لکڻ ۽ RxJava يا خالص Kotlin ۾ اينالاگز جي گهٽتائي کان متاثر نه ٿين، kotlin/native ۾ ڪوروٽين لاءِ سپورٽ اڃا مڪمل نه ٿي آهي. مثال طور، اداڪار جو ڪو تصور ناهي. عام طور تي، Kotlin ٽيم سڀني پليٽ فارمن تي وڌيڪ پيچيده اداڪارين کي سپورٽ ڪرڻ جو منصوبو آهي.
Coroutines هڪ بهترين موقعو مهيا ڪن ٿا ڪوڊ لکڻ جو جيڪو پڙهي سگهجي ٿو، برقرار رکڻ لائق، ۽ محفوظ، هم وقت ساز، ۽ اتفاق سان. توهان پڻ ٺاهي سگهو ٿا اڊاپٽر ٻين هم وقت ساز فريم ورڪ لاءِ ۽ طريقا جيڪي اڳ ۾ ئي ڪوڊ بيس ۾ استعمال ڪيا ويندا.
ڪوروٽين ڪيئن مختلف آهن موضوعن کان؟
ڪوٽلن ٽيم ڪوروٽينز کي هلڪو وزن وارو سلسلو سڏيندو آهي. ان سان گڏ، هڪ ڪوروٽين ڪجهه قدر واپس ڪري سگهي ٿو، ڇاڪاڻ ته، ان جي بنيادي طور تي، هڪ ڪوروٽين هڪ معطل ڪيل حساب آهي. اهو سڌو سنئون سسٽم جي سلسلي تي منحصر نه آهي؛ موضوع صرف ڪوروٽين تي عمل ڪندا آهن.
Coroutine استعمال ڪندي ڪھڙا عملي مسئلا حل ڪري سگھجن ٿا، جن کي ”خالص“ ڪوٽلين استعمال ڪندي حل ڪرڻ مشڪل يا مشڪل نه آھي؟
ڪو به هم وقت ساز، متوازي، ”مقابلي وارو“ ڪم ڪوروٽينز استعمال ڪندي چڱيءَ طرح حل ڪيا ويا آهن - ڇا اهو صارف جي ڪلڪن تي عمل ڪرڻ، آن لائن وڃڻ، يا ڊيٽابيس مان تازه ڪارين جي رڪنيت حاصل ڪرڻ.
خالص ڪوٽلن ۾، اهي مسئلا ساڳيءَ طرح حل ڪيا ويا آهن جيئن جاوا ۾ - هزارين فريم ورڪ جي مدد سان، جن مان هر هڪ جا پنهنجا فائدا ۽ نقصان آهن، پر انهن مان ڪنهن کي به ٻوليءَ جي سطح تي سهڪار نه آهي.
نتيجي طور، اهو چوڻ جي قابل آهي ته ٻئي اختياري (۽ مکيه ڪورس پڻ) خارجي حالتن ۾ تبديلين جي مطابق اپڊيٽ ڪيا ويا آهن. جيڪڏهن اهم تازه ڪاريون ٻولين يا فريم ورڪ ۾ ظاهر ٿين ٿيون، استاد هن کي حساب ۾ وٺن ۽ پروگرام کي تبديل ڪن. هي سڀ توهان کي توهان جي آڱر کي ترقي جي عمل جي نبض تي رکڻ جي اجازت ڏئي ٿي، تنهنڪري ڳالهائڻ لاء.