په کوټلین کې RxSwift او کورټینز - د AGIMA او GeekBrains څخه د ګرځنده پرمختیا کې یو انتخابي

په کوټلین کې RxSwift او کورټینز - د AGIMA او GeekBrains څخه د ګرځنده پرمختیا کې یو انتخابي

پوهه ښه ده، یوازې عالي. مګر تمرین ته هم اړتیا ده ترڅو تاسو ترلاسه شوي ډیټا وکاروئ ، د "غیر فعال ذخیره" حالت څخه "فعال کارونې" حالت ته یې لیږدئ. مهمه نده چې تیوریکي روزنه څومره ښه وي ، "په ساحه کې" کار لاهم اړین دی. پورته د مطالعې نږدې هرې برخې باندې پلي کیږي، په شمول، البته، د سافټویر پراختیا.

سږکال، GeekBrains، د آنلاین پوهنتون GeekUniversity د ګرځنده پراختیا پوهنځي د یوې برخې په توګه، د متقابلې ادارې AGIMA سره کار پیل کړ، چې ټیم یې مسلکي پراختیا کونکي دي (دوی پیچلي لوړ بار پروژې، کارپوریټ پورټلونه او ګرځنده غوښتنلیکونه جوړوي، دا ټول دي). AGIMA او GeekBrains د ګرځنده غوښتنلیک پراختیا عملي مسلو کې د ژورې غوطې لپاره یو انتخاب رامینځته کړی.

بله ورځ موږ د ایګور ویدینیف سره خبرې وکړې، د iOS متخصص، او الکساندر تیزیک، په Android کې تخصص لري. د دوی څخه مننه، د ګرځنده پرمختیا انتخاب د عملي سره بډایه شوی د RxSwift چوکاټ کې ځانګړی کورس и په کوټلین کې کورټینونه. په دې مقاله کې، پراختیا کونکي د پروګرام کونکو لپاره د هرې سیمې اهمیت په اړه خبرې کوي.

په iOS کې د عکس العمل برنامه کول د مثال په توګه د RxSwift په کارولو سره

په کوټلین کې RxSwift او کورټینز - د AGIMA او GeekBrains څخه د ګرځنده پرمختیا کې یو انتخابي
انتخابي ښوونکی ایګور ویدینیف: "د RxSwift سره، ستاسو غوښتنلیک به الوتنه وکړي"

زده کونکي د انتخاب په جریان کې کوم معلومات ترلاسه کوي؟

موږ نه یوازې د چوکاټ وړتیاوو په اړه خبرې کوو، بلکې دا هم وښایه چې څنګه یې د کلاسیک MVVM + RxSwift ترکیب کې کارول کیږي. څو عملي مثالونه هم تر بحث لاندې نیول شوي دي. د ترلاسه شوي معلوماتو د یوځای کولو لپاره، موږ یو غوښتنلیک لیکو چې د ساحې عملیاتي شرایطو ته د امکان تر حده نږدې وي. دا به د میوزیک لټون غوښتنلیک په کارولو سره وي د iTunes لټون API. هلته به موږ ټول غوره تمرینونه پلي کړو، او د MVC پاراډاګم کې د RxSwift کارولو لپاره یو ساده اختیار په پام کې ونیسو.

RxSwift - ولې د iOS پروګرامر دې چوکاټ ته اړتیا لري، دا څنګه د پراختیا کونکي لپاره ژوند اسانه کوي؟

RxSwift streamlines د پیښې جریانونو او د شیانو ترمینځ اړیکو سره کار کوي. ترټولو ساده او خورا څرګند مثال بانډونه دي: د مثال په توګه ، تاسو کولی شئ په ویو موډل کې په یو متغیر کې په ساده ډول د نوي ارزښتونو تنظیم کولو سره انٹرفیس تازه کړئ. په دې توګه، انٹرفیس د معلوماتو لخوا پرمخ وړل کیږي. سربیره پردې ، RxSwift تاسو ته اجازه درکوي سیسټم په اعلاناتي سټایل کې تشریح کړئ ، کوم چې تاسو ته اجازه درکوي خپل کوډ تنظیم کړئ او د لوستلو وړتیا زیاته کړئ. دا ټول د غوښتنلیکونو په اغیزمنه توګه پراختیا کې مرسته کوي.

د پراختیا کونکي لپاره ، د چوکاټ پوهه هم په بیا پیل کې یو ښه پلس دی ، ځکه چې د عکس العمل برنامه پوهه ، او په ځانګړي توګه د RxSwift سره تجربه ، په بازار کې ارزښت لري.

ولې د نورو په پرتله دا ځانګړی چوکاټ غوره کړئ؟

RxSwift ترټولو لویه ټولنه لري. دا دی، ډیر چانس شتون لري چې هغه ستونزه چې پراختیا کونکی ورسره مخ دی لا دمخه د یو چا لخوا حل شوی وي. همدارنګه د بکس څخه بهر د بندیزونو لوی شمیر. سربیره پردې ، RxSwift د ReactiveX برخه ده. دا پدې مانا ده چې د Android لپاره یو انلاګ شتون لري، د بیلګې په توګه (RxJava، RxKotlin)، او په ورکشاپ کې همکاران کولی شي د یو بل سره ورته ژبه خبرې وکړي، سره له دې چې ځینې یې د iOS سره کار کوي، نور یې د Android سره.

چوکاټ په دوامداره توګه تازه کیږي ، کوچني بګونه سم شوي ، د سویفټ نوي نسخو څخه د ب featuresو ملاتړ اضافه کیږي ، او نوي پابندونه اضافه شوي. څرنګه چې RxSwift خلاص سرچینه ده، تاسو کولی شئ ټول بدلونونه تعقیب کړئ. سربیره پردې ، دا امکان لري چې دوی پخپله اضافه کړئ.

RxSwift باید چیرته وکارول شي؟

  1. پابندۍ. د یوې قاعدې په توګه ، موږ د UI په اړه خبرې کوو ، د UI بدلولو وړتیا ، لکه څنګه چې د معلوماتو بدلونونو ته عکس العمل ښودل کیږي ، او په ښکاره ډول انٹرفیس ته نه وایو چې دا د تازه کولو وخت دی.
  2. د اجزاوو او عملیاتو ترمنځ اړیکه. یوازې یو مثال. موږ اړتیا لرو چې د شبکې څخه د معلوماتو لیست ترلاسه کړو. په حقیقت کې، دا دومره ساده عملیات نه دي. د دې کولو لپاره ، تاسو اړتیا لرئ غوښتنه واستوئ ، ځواب د شیانو په لړۍ کې نقشه کړئ ، ډیټابیس ته یې خوندي کړئ او UI ته یې واستوئ. د یوې قاعدې په توګه، مختلف برخې د دې عملیاتو ترسره کولو مسولیت لري (موږ د اصولو سره مینه لرو او تعقیب کوو سولیډ?). په لاس کې د RxSwift په څیر وسیله درلودل، دا ممکنه ده چې تشریح شي چې سیسټم به څه وکړي، او دا به څنګه وکړي په نورو ځایونو کې به وي. دا د دې له امله ده چې د کوډ غوره تنظیم ترلاسه کیږي او د لوستلو وړتیا زیاتوي. په نسبي توګه خبرې کول، کوډ د مینځپانګو په جدول او پخپله کتاب ویشل کیدی شي.

په کوټلین کې کورټینونه

په کوټلین کې RxSwift او کورټینز - د AGIMA او GeekBrains څخه د ګرځنده پرمختیا کې یو انتخابي
د انتخابي کورس ښوونکی الکساندر تیزیک: "عصری پرمختګ عصري تخنیکي وسایلو ته اړتیا لري"

د برانډ شوي ربعې برخې په توګه به د GeekBrains پوهنځي کې څه تدریس شي؟

تیوري، د نورو طریقو سره پرتله کول، په خالص کوټلین او د Android غوښتنلیک ماډل کې عملي مثالونه. لکه څنګه چې د تمرین لپاره، زده کونکو ته به یو غوښتنلیک وښودل شي په کوم کې چې هرڅه د کورټینونو سره تړلي دي. حقیقت دا دی چې ډیری غوښتنلیکونه په بشپړ ډول غیر متناسب او موازي کمپیوټري دي. مګر د کوټلین کوروټینونه ګډوډي، متفاوت یا خورا پیچلي او د فعالیت غوښتنې کوډ ته اجازه ورکوي چې یو واحد، د پوهیدلو اسانه سټایل ته راټیټ شي، په سم اجرا کولو او فعالیت کې ګټې ترلاسه کوي.

موږ به په کورټینونو کې د محاورې کوډ لیکل زده کړو چې عملي ستونزې حل کوي او په لومړي نظر کې د پوهیدو وړ دي حتی د ژورې پوهې پرته چې کورټینونه څنګه کار کوي (کوم چې د RxJava په څیر د کتابتونونو په اړه نشي ویل کیدی). موږ به په دې هم پوه شو چې څنګه د ډیرو پیچلو مفاهیمو کارول لکه د اداکار ماډل، د ډیرو پیچلو ستونزو حل کولو لپاره، لکه د MVI مفهوم کې د معلوماتو ګودام.

په هرصورت، ډیر ښه خبرونه. پداسې حال کې چې انتخابی ثبت شوی و، د کوټلین کورټینز کتابتون ته یو تازه خپور شو، په کوم کې چې ټولګی ښکاره شو Flow - د ډولونو انلاګ Flowable и Observable د RxJava څخه. اوسمهال د اپلیکیشن پراختیا کونکي له نظره د کورټین فیچر بشپړوي. ریښتیا ، لاهم د پرمختګ لپاره خونه شتون لري: سره له دې چې په کوټلین / اصلي کې د کورټینونو ملاتړ څخه مننه ، دا دمخه امکان لري چې په کوټلین کې د څو پلیټ فارم غوښتنلیکونه ولیکئ او په خالص کوټلین کې د RxJava یا انلاګونو نشتوالي سره مخ نه شئ ، په کوټلین/نیټیو کې د کورټینونو ملاتړ لاهم بشپړ شوی نه دی. د مثال په توګه، د لوبغاړو هیڅ مفهوم شتون نلري. په عموم کې، د کوټلین ټیم پالن لري چې په ټولو پلیټونو کې د ډیرو پیچلو لوبغاړو ملاتړ وکړي.

کوټلین کورټینز - دوی څنګه د کوټلین پراختیا کونکي سره مرسته کوي؟

کوروټینونه د کوډ لیکلو لپاره عالي فرصت چمتو کوي چې د لوستلو وړ ، ساتلو وړ او خوندي ، غیر متناسب او همغږي وي. تاسو کولی شئ د نورو غیر متناسب چوکاټونو او طریقو لپاره اډاپټرونه هم رامینځته کړئ چې ممکن دمخه په کوډبیس کې کارول شوي وي.

کورټینونه د تارونو څخه څنګه توپیر لري؟

د کوټلین ټیم کورټینز سپک وزن لرونکي تارونه بولي. برسیره پردې، کوروټین کولی شي یو څه ارزښت بیرته راستانه کړي، ځکه چې په اصلي توګه، کوروټین یو تعلیق شوی حساب دی. دا په مستقیم ډول د سیسټم تارونو پورې اړه نلري؛ تارونه یوازې کورټینونه اجرا کوي.

کومې عملي ستونزې د کورټین په کارولو سره حل کیدی شي ، کوم چې د "خالص" کوټلین په کارولو سره حل کول ستونزمن ندي؟

هر ډول غیر متناسب، موازي، "رقابتي" دندې د کورټینونو په کارولو سره په ښه توګه حل کیږي - که دا د کاروونکو کلیکونو پروسس کولو، آنلاین کولو، یا د ډیټابیس څخه تازه معلوماتو ته ګډون کول وي.

په خالص کوټلین کې، دا ستونزې د جاوا په څیر حل کیږي - د زرګونو چوکاټونو په مرسته، چې هر یو یې خپل ګټې او زیانونه لري، مګر هیڅ یو یې د ژبې په کچه ملاتړ نلري.

د پایلې په توګه، دا د ویلو وړ ده چې دواړه انتخابونه (او اصلي کورسونه هم) د بهرنیو شرایطو بدلونونو سره سم نوي شوي. که مهم تازه معلومات په ژبو یا چوکاټونو کې څرګند شي، ښوونکي دا په پام کې نیسي او پروګرام تعدیل کوي. دا ټول تاسو ته اجازه درکوي د پرمختګ پروسې نبض باندې خپله ګوته وساتئ، نو د خبرو کولو لپاره.

سرچینه: www.habr.com

Add a comment