கோட்லினில் உள்ள RxSwift மற்றும் coroutines - AGIMA மற்றும் GeekBrains வழங்கும் மொபைல் டெவலப்மெண்ட்

கோட்லினில் உள்ள RxSwift மற்றும் coroutines - AGIMA மற்றும் GeekBrains வழங்கும் மொபைல் டெவலப்மெண்ட்

அறிவு நல்லது, சிறந்தது. ஆனால் நடைமுறையும் தேவை, எனவே நீங்கள் பெறப்பட்ட தரவைப் பயன்படுத்தலாம், அவற்றை "செயலற்ற சேமிப்பகம்" நிலையிலிருந்து "செயலில் பயன்படுத்துதல்" நிலைக்கு மாற்றலாம். கோட்பாட்டு பயிற்சி எவ்வளவு நன்றாக இருந்தாலும், "துறையில்" வேலை இன்னும் தேவைப்படுகிறது. மேற்கூறியவை, நிச்சயமாக, மென்பொருள் மேம்பாடு உட்பட, ஏறக்குறைய எந்தவொரு ஆய்வுத் துறைக்கும் பொருந்தும்.

இந்த ஆண்டு, GeekBrains, ஆன்லைன் பல்கலைக்கழக GeekUniversity இன் மொபைல் மேம்பாட்டு பீடத்தின் ஒரு பகுதியாக, ஊடாடும் நிறுவனமான AGIMA உடன் பணிபுரியத் தொடங்கியது, அதன் குழு தொழில்முறை டெவலப்பர்கள் (அவர்கள் சிக்கலான உயர்-சுமை திட்டங்கள், கார்ப்பரேட் போர்ட்டல்கள் மற்றும் மொபைல் பயன்பாடுகளை உருவாக்குகிறார்கள், அவ்வளவுதான்). AGIMA மற்றும் GeekBrains மொபைல் அப்ளிகேஷன் மேம்பாட்டின் நடைமுறைச் சிக்கல்களில் ஆழ்ந்து மூழ்குவதற்கான விருப்பத்தை உருவாக்கியுள்ளன.

மற்ற நாள் நாங்கள் Igor Vedeneev, iOS நிபுணர் மற்றும் அலெக்சாண்டர் டிசிக், ஆண்ட்ராய்டில் நிபுணத்துவம் பெற்றவர் ஆகியோருடன் பேசினோம். அவர்களுக்கு நன்றி, மொபைல் டெவலப்மெண்ட் குறித்த தேர்வு நடைமுறையில் செறிவூட்டப்பட்டது RxSwift கட்டமைப்பின் சிறப்பு பாடநெறி и கோட்லினில் உள்ள கரோட்டின்கள். இந்த கட்டுரையில், டெவலப்பர்கள் புரோகிராமர்களுக்கான ஒவ்வொரு பகுதியின் முக்கியத்துவத்தைப் பற்றி பேசுகிறார்கள்.

IOS இல் RxSwift ஐ எடுத்துக்காட்டாகப் பயன்படுத்தி எதிர்வினை நிரலாக்கம்

கோட்லினில் உள்ள RxSwift மற்றும் coroutines - AGIMA மற்றும் GeekBrains வழங்கும் மொபைல் டெவலப்மெண்ட்
தேர்ந்தெடுக்கப்பட்ட ஆசிரியர் இகோர் வேடனீவ்: "RxSwift உடன், உங்கள் விண்ணப்பம் பறக்கும்"

தேர்வின் போது மாணவர்கள் என்ன தகவல்களைப் பெறுகிறார்கள்?

கட்டமைப்பின் திறன்களைப் பற்றி மட்டுமல்ல, கிளாசிக் MVVM + RxSwift கலவையில் அதை எவ்வாறு பயன்படுத்துவது என்பதையும் நாங்கள் பேசுகிறோம். பல நடைமுறை எடுத்துக்காட்டுகளும் விவாதிக்கப்படுகின்றன. பெறப்பட்ட தரவை ஒருங்கிணைக்க, புல இயக்க நிலைமைகளுக்கு முடிந்தவரை நெருக்கமாக இருக்கும் ஒரு பயன்பாட்டை நாங்கள் எழுதுகிறோம். இது ஒரு இசை தேடல் பயன்பாடாக இருக்கும் iTunes தேடல் API. அங்கு நாங்கள் அனைத்து சிறந்த நடைமுறைகளையும் பயன்படுத்துவோம், மேலும் MVC முன்னுதாரணத்தில் RxSwift ஐப் பயன்படுத்துவதற்கான எளிய விருப்பத்தை பரிசீலிப்போம்.

RxSwift - ஒரு iOS புரோகிராமருக்கு ஏன் இந்த கட்டமைப்பு தேவை, டெவலப்பருக்கு இது எப்படி வாழ்க்கையை எளிதாக்குகிறது?

RxSwift ஸ்ட்ரீம்லைன்கள் நிகழ்வு ஸ்ட்ரீம்கள் மற்றும் பொருள்களுக்கு இடையிலான இணைப்புகளுடன் வேலை செய்கின்றன. எளிமையான மற்றும் மிகத் தெளிவான உதாரணம் பிணைப்புகள்: எடுத்துக்காட்டாக, வியூமாடலில் ஒரு மாறியில் புதிய மதிப்புகளை அமைப்பதன் மூலம் இடைமுகத்தைப் புதுப்பிக்கலாம். இதனால், இடைமுகம் தரவு சார்ந்ததாக மாறுகிறது. கூடுதலாக, RxSwift கணினியை ஒரு அறிவிப்பு பாணியில் விவரிக்க உங்களை அனுமதிக்கிறது, இது உங்கள் குறியீட்டை ஒழுங்கமைக்கவும் வாசிப்புத்திறனை அதிகரிக்கவும் அனுமதிக்கிறது. இவை அனைத்தும் பயன்பாடுகளை மிகவும் திறமையாக உருவாக்க உதவுகிறது.

ஒரு டெவலப்பருக்கு, வினைத்திறன் நிரலாக்கத்தைப் பற்றிய புரிதல் மற்றும் குறிப்பாக RxSwift உடனான அனுபவம் சந்தையில் மதிப்புமிக்கதாக இருப்பதால், கட்டமைப்பைப் பற்றிய அறிவும் ஒரு ரெஸ்யூமில் ஒரு நல்ல பிளஸ் ஆகும்.

மற்றவர்களை விட இந்த குறிப்பிட்ட கட்டமைப்பை ஏன் தேர்வு செய்ய வேண்டும்?

RxSwift மிகப்பெரிய சமூகத்தைக் கொண்டுள்ளது. அதாவது, டெவலப்பர் எதிர்கொள்ளும் பிரச்சனை ஏற்கனவே யாரோ ஒருவரால் தீர்க்கப்பட்டிருக்க அதிக வாய்ப்பு உள்ளது. மேலும் பெட்டிக்கு வெளியே அதிக எண்ணிக்கையிலான பிணைப்புகள். மேலும், RxSwift ReactiveX இன் ஒரு பகுதியாகும். இதன் பொருள் ஆண்ட்ராய்டுக்கு ஒரு அனலாக் உள்ளது, எடுத்துக்காட்டாக (RxJava, RxKotlin), மற்றும் பட்டறையில் உள்ள சக ஊழியர்கள் ஒருவருக்கொருவர் ஒரே மொழியைப் பேச முடியும், சிலர் iOS உடன் வேலை செய்கிறார்கள், மற்றவர்கள் Android உடன் வேலை செய்கிறார்கள்.

கட்டமைப்பானது தொடர்ந்து புதுப்பிக்கப்படுகிறது, சிறிய பிழைகள் சரி செய்யப்படுகின்றன, Swift இன் புதிய பதிப்புகளின் அம்சங்களுக்கான ஆதரவு சேர்க்கப்படுகிறது, மேலும் புதிய பிணைப்புகள் சேர்க்கப்படுகின்றன. RxSwift திறந்த மூலமாக இருப்பதால், நீங்கள் எல்லா மாற்றங்களையும் பின்பற்றலாம். மேலும், அவற்றை நீங்களே சேர்க்கலாம்.

RxSwift எங்கு பயன்படுத்த வேண்டும்?

  1. பிணைப்புகள். ஒரு விதியாக, நாங்கள் UI பற்றி பேசுகிறோம், UI ஐ மாற்றும் திறன், தரவு மாற்றங்களுக்கு எதிர்வினையாற்றுவது போலவும், புதுப்பிக்க வேண்டிய நேரம் இது என்று இடைமுகத்தை வெளிப்படையாகக் கூறவில்லை.
  2. கூறுகள் மற்றும் செயல்பாடுகளுக்கு இடையிலான உறவு. ஒரு உதாரணம். நெட்வொர்க்கில் இருந்து தரவுகளின் பட்டியலைப் பெற வேண்டும். உண்மையில், இது அவ்வளவு எளிதான செயல் அல்ல. இதைச் செய்ய, நீங்கள் ஒரு கோரிக்கையை அனுப்ப வேண்டும், பதிலைப் பொருள்களின் வரிசையில் வரைபடமாக்க வேண்டும், அதை தரவுத்தளத்தில் சேமித்து UI க்கு அனுப்ப வேண்டும். ஒரு விதியாக, இந்த செயல்பாடுகளைச் செய்வதற்கு வெவ்வேறு கூறுகள் பொறுப்பாகும் (நாங்கள் கொள்கைகளை விரும்புகிறோம் மற்றும் பின்பற்றுகிறோம் திட?). RxSwift போன்ற ஒரு கருவியை கையில் வைத்திருப்பதால், கணினி என்ன செய்யும் என்பதையும், அது எப்படிச் செய்யும் என்பதையும் மற்ற இடங்களில் விவரிக்க முடியும். இதன் காரணமாக, குறியீட்டின் சிறந்த அமைப்பு அடையப்படுகிறது மற்றும் வாசிப்புத்திறன் அதிகரிக்கிறது. ஒப்பீட்டளவில், குறியீட்டை உள்ளடக்க அட்டவணை மற்றும் புத்தகமாக பிரிக்கலாம்.

கோட்லினில் உள்ள கரோட்டின்கள்

கோட்லினில் உள்ள RxSwift மற்றும் coroutines - AGIMA மற்றும் GeekBrains வழங்கும் மொபைல் டெவலப்மெண்ட்
தேர்வு பாட ஆசிரியர் அலெக்சாண்டர் டிசிக்: "நவீன வளர்ச்சிக்கு நவீன தொழில்நுட்ப வழிமுறைகள் தேவை"

பிராண்டட் காலாண்டின் ஒரு பகுதியாக GeekBrains ஆசிரியத்தில் என்ன கற்பிக்கப்படும்?

கோட்பாடு, மற்ற அணுகுமுறைகளுடன் ஒப்பீடுகள், தூய கோட்லின் மற்றும் ஆண்ட்ராய்டு பயன்பாட்டு மாதிரியில் நடைமுறை எடுத்துக்காட்டுகள். பயிற்சியைப் பொறுத்தவரை, மாணவர்களுக்கு ஒரு பயன்பாடு காண்பிக்கப்படும், அதில் எல்லாம் கரோட்டின்களுடன் இணைக்கப்பட்டுள்ளது. உண்மை என்னவென்றால், பெரும்பாலான பயன்பாடுகள் முற்றிலும் ஒத்திசைவற்ற மற்றும் இணையான கம்ப்யூட்டிங் ஆகும். ஆனால் கோட்லின் கரோட்டின்கள் குழப்பமான, பன்முகத்தன்மை கொண்ட அல்லது அதிக சிக்கலான மற்றும் செயல்திறன்-தேவையான குறியீட்டை ஒற்றை, எளிதில் புரிந்துகொள்ளக்கூடிய பாணியாகக் குறைக்க அனுமதிக்கின்றன, சரியான செயல்படுத்தல் மற்றும் செயல்திறனில் பலன்களைப் பெறுகின்றன.

நடைமுறைச் சிக்கல்களைத் தீர்க்கும் மற்றும் முதல் பார்வையில் புரிந்து கொள்ளக்கூடிய, coroutines எவ்வாறு செயல்படுகின்றன என்பதைப் பற்றிய ஆழமான அறிவு இல்லாமல் (RxJava போன்ற நூலகங்களைப் பற்றி சொல்ல முடியாது) coroutines இல் idiomatic code எழுத கற்றுக்கொள்வோம். MVI கான்செப்டில் உள்ள தரவுக் கிடங்கு போன்ற சிக்கலான சிக்கல்களைத் தீர்க்க நடிகர் மாதிரி போன்ற மிகவும் சிக்கலான கருத்துகளை எவ்வாறு பயன்படுத்துவது என்பதையும் நாங்கள் புரிந்துகொள்வோம்.

மூலம், இன்னும் நல்ல செய்தி. தேர்வு பதிவு செய்யப்படும்போது, ​​கோட்லின் கரோட்டின்ஸ் நூலகத்திற்கான புதுப்பிப்பு வெளியிடப்பட்டது, அதில் வகுப்பு தோன்றியது. Flow - வகைகளின் அனலாக் Flowable и Observable RxJava இலிருந்து. ஆப்ஸ் டெவலப்பரின் பார்வையில் இந்த புதுப்பிப்பு கரோட்டின் அம்சத்தை முழுமையாக்குகிறது. உண்மை, மேம்பாட்டிற்கு இன்னும் இடமிருக்கிறது: kotlin/native இல் coroutines இன் ஆதரவின் காரணமாக, Kotlin இல் பல இயங்குதளப் பயன்பாடுகளை எழுதுவது ஏற்கனவே சாத்தியம் மற்றும் தூய Kotlin இல் RxJava அல்லது அனலாக்ஸின் பற்றாக்குறையால் பாதிக்கப்படுவதில்லை. kotlin/native இல் கரோட்டின்களுக்கான ஆதரவு இன்னும் முழுமையடையவில்லை. உதாரணமாக, நடிகர்கள் என்ற கருத்து இல்லை. பொதுவாக, அனைத்து தளங்களிலும் மிகவும் சிக்கலான நடிகர்களை ஆதரிக்க கோட்லின் குழு திட்டமிட்டுள்ளது.

Kotlin Coroutines - அவர்கள் எப்படி ஒரு கோட்லின் டெவலப்பருக்கு உதவுகிறார்கள்?

படிக்கக்கூடிய, பராமரிக்கக்கூடிய மற்றும் பாதுகாப்பான, ஒத்திசைவற்ற மற்றும் ஒத்திசைவான குறியீட்டை எழுதுவதற்கு Coroutines ஒரு சிறந்த வாய்ப்பை வழங்குகிறது. நீங்கள் ஏற்கனவே கோட்பேஸில் பயன்படுத்தக்கூடிய பிற ஒத்திசைவற்ற கட்டமைப்புகள் மற்றும் அணுகுமுறைகளுக்கான அடாப்டர்களை உருவாக்கலாம்.

கரோட்டின்கள் நூல்களிலிருந்து எவ்வாறு வேறுபடுகின்றன?

கோட்லின் குழு கரோட்டின்களை இலகுரக நூல்கள் என்று அழைக்கிறது. கூடுதலாக, ஒரு கொரூட்டின் சில மதிப்பைத் தரலாம், ஏனெனில், அதன் மையத்தில், ஒரு கொரூட்டின் என்பது இடைநிறுத்தப்பட்ட கணக்கீடு ஆகும். இது நேரடியாக சிஸ்டம் த்ரெட்களை சார்ந்து இல்லை; த்ரெட்கள் கரோட்டின்களை மட்டுமே செயல்படுத்துகின்றன.

"தூய" கோட்லினைப் பயன்படுத்தி தீர்க்க முடியாத அல்லது கடினமாக இருக்கும் கொரூட்டினைப் பயன்படுத்தி என்ன நடைமுறைச் சிக்கல்களைத் தீர்க்க முடியும்?

எந்தவொரு ஒத்திசைவற்ற, இணையான, "போட்டியிடும்" பணிகளும் கரோட்டின்களைப் பயன்படுத்தி நன்கு தீர்க்கப்படுகின்றன - அது பயனர் கிளிக்குகளைச் செயலாக்குவது, ஆன்லைனில் செல்வது அல்லது தரவுத்தளத்திலிருந்து புதுப்பிப்புகளுக்கு குழுசேருவது.

தூய கோட்லினில், இந்த சிக்கல்கள் ஜாவாவில் உள்ளதைப் போலவே தீர்க்கப்படுகின்றன - ஆயிரக்கணக்கான கட்டமைப்புகளின் உதவியுடன், ஒவ்வொன்றும் அதன் சொந்த நன்மை தீமைகளைக் கொண்டுள்ளன, ஆனால் அவை எதற்கும் மொழி நிலை ஆதரவு இல்லை.

ஒரு முடிவாக, வெளிப்புற நிலைமைகளில் ஏற்படும் மாற்றங்களுக்கு ஏற்ப இரண்டு தேர்வுகளும் (மற்றும் முக்கிய படிப்புகளும்) புதுப்பிக்கப்படுகின்றன என்று சொல்வது மதிப்பு. முக்கியமான புதுப்பிப்புகள் மொழிகள் அல்லது கட்டமைப்பில் தோன்றினால், ஆசிரியர்கள் இதைக் கணக்கில் எடுத்து நிரலை மாற்றியமைப்பார்கள். இவை அனைத்தும் வளர்ச்சி செயல்முறையின் துடிப்பில் உங்கள் விரலை வைத்திருக்க உங்களை அனுமதிக்கிறது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்