RxSwift እና coroutines በ Kotlin - ከAGIMA እና GeekBrains በሞባይል ልማት ውስጥ ተመራጭ

RxSwift እና coroutines በ Kotlin - ከAGIMA እና GeekBrains በሞባይል ልማት ውስጥ ተመራጭ

እውቀት ጥሩ ነው, ብቻ ጥሩ ነው. ነገር ግን የተቀበለውን ውሂብ ለመጠቀም ከ "ተለዋዋጭ ማከማቻ" ሁኔታ ወደ "ንቁ አጠቃቀም" ሁኔታ በማስተላለፍ መለማመድም ያስፈልጋል. የንድፈ ሃሳቡ ስልጠና ምንም ያህል ጥሩ ቢሆንም "በመስክ ላይ" መስራት አሁንም ያስፈልጋል. ከላይ ያለው ማንኛውም የትምህርት ዘርፍ ማለት ይቻላል ተግባራዊ ይሆናል, እርግጥ ነው, ሶፍትዌር ልማት ጨምሮ.

በዚህ አመት, GeekBrains, የመስመር ላይ ዩኒቨርሲቲ GeekUniversity የሞባይል ልማት ፋኩልቲ አካል ሆኖ, መስተጋብራዊ ኤጀንሲ AGIMA ጋር መስራት ጀመረ, የማን ቡድን ሙያዊ ገንቢዎች ነው (ውስብስብ ከፍተኛ ጭነት ፕሮጀክቶች, የኮርፖሬት መግቢያዎች እና የሞባይል መተግበሪያዎች ይፈጥራሉ, ያ ብቻ ነው). AGIMA እና GeekBrains የሞባይል መተግበሪያ ልማት ተግባራዊ ጉዳዮችን በጥልቀት ለመጥለቅ ተመራጭ ፈጥረዋል።

በሌላ ቀን ከ Igor Vedeneev፣ የiOS ልዩ ባለሙያ እና አሌክሳንደር ቲዚክ ጋር በአንድሮይድ ላይ ልዩ ባለሙያተኛን አነጋግረናል። ለእነሱ ምስጋና ይግባውና በሞባይል ልማት ላይ ያለው ምርጫ በተግባራዊ የበለፀገ ነበር። በ RxSwift ማዕቀፍ ላይ ልዩ ኮርስ и ኮርቲኖች በ Kotlin. በዚህ ጽሑፍ ውስጥ ገንቢዎች ስለ እያንዳንዱ አካባቢ ለፕሮግራም አድራጊዎች አስፈላጊነት ይናገራሉ.

RxSwiftን እንደ ምሳሌ በመጠቀም በ iOS ውስጥ ምላሽ ሰጪ ፕሮግራሚንግ

RxSwift እና coroutines በ Kotlin - ከAGIMA እና GeekBrains በሞባይል ልማት ውስጥ ተመራጭ
ተመራጭ መምህር ኢጎር ቬዴኔቭ፡ “በ RxSwift፣ ማመልከቻዎ ይበርራል”

በምርጫ ወቅት ተማሪዎች ምን መረጃ ያገኛሉ?

ስለ ማዕቀፉ ችሎታዎች ብቻ ሳይሆን በሚታወቀው MVVM + RxSwift ጥምር ውስጥ እንዴት እንደሚጠቀሙበት እንነጋገራለን. በርካታ ተግባራዊ ምሳሌዎችም ተብራርተዋል። የተገኘውን መረጃ ለማጠናከር, የመስክ የስራ ሁኔታዎችን በተቻለ መጠን ቅርብ የሆነ መተግበሪያ እንጽፋለን. ይህ በመጠቀም የሙዚቃ ፍለጋ መተግበሪያ ይሆናል። ITunes ፍለጋ API. እዚያ ሁሉንም ምርጥ ልምዶችን እንተገብራለን, በተጨማሪም RxSwiftን በ MVC ፓራዲም ውስጥ ለመጠቀም ቀላል አማራጭን ያስቡ.

RxSwift - ለምን የ iOS ፕሮግራመር ይህን ማዕቀፍ ያስፈልገዋል፣ እንዴት ለገንቢ ህይወትን ቀላል ያደርገዋል?

RxSwift ዥረቶች ከክስተት ዥረቶች እና በእቃዎች መካከል ያሉ ግንኙነቶች ይሰራሉ። በጣም ቀላሉ እና በጣም ግልጽው ምሳሌ ማያያዣዎች ነው-ለምሳሌ ፣በእይታModel ውስጥ በተለዋዋጭ ውስጥ በቀላሉ አዲስ እሴቶችን በማቀናበር በይነገጹን ማዘመን ይችላሉ። ስለዚህ, በይነገጹ በመረጃ ላይ የተመሰረተ ይሆናል. በተጨማሪም, RxSwift ስርዓቱን በአሳታፊ ዘይቤ እንዲገልጹ ያስችልዎታል, ይህም ኮድዎን እንዲያደራጁ እና ተነባቢነትን እንዲጨምሩ ያስችልዎታል. ይህ ሁሉ መተግበሪያዎችን በብቃት ለማዳበር ይረዳል.

ለገንቢ፣ የማዕቀፍ እውቀት በሪፖርት ላይ ጥሩ ፕላስ ነው፣ ምክንያቱም ምላሽ ሰጪ ፕሮግራሚንግ እና በተለይም ከ RxSwift ጋር ያለው ልምድ በገበያ ውስጥ ዋጋ ያለው ነው።

ለምንድነው ይህን ልዩ ማዕቀፍ ከሌሎች ይልቅ ይምረጡ?

RxSwift ትልቁ ማህበረሰብ አለው። ያም ማለት ገንቢው እየገጠመው ያለው ችግር በአንድ ሰው የተፈታበት ትልቅ እድል አለ. እንዲሁም ከሳጥኑ ውስጥ ብዙ ቁጥር ያላቸው ማያያዣዎች። ከዚህም በላይ RxSwift የ ReactiveX አካል ነው. ይህ ማለት አንድሮይድ ለምሳሌ (RxJava, RxKotlin) አናሎግ አለ, እና በአውደ ጥናቱ ውስጥ ያሉ ባልደረቦች አንዳቸው ከሌላው ጋር አንድ አይነት ቋንቋ መናገር ይችላሉ, ምንም እንኳን አንዳንዶች ከ iOS, ሌሎች ከ Android ጋር ቢሰሩም.

ክፈፉ ያለማቋረጥ ይዘምናል፣ ጥቃቅን ስህተቶች ተስተካክለዋል፣ ከአዲስ የስዊፍት ስሪቶች ባህሪያት ድጋፍ ይታከላል እና አዲስ ማሰሪያዎች ይታከላሉ። RxSwift ክፍት ምንጭ ስለሆነ ሁሉንም ለውጦች መከተል ይችላሉ። ከዚህም በላይ እራስዎ መጨመር ይቻላል.

RxSwift የት ጥቅም ላይ መዋል አለበት?

  1. ማሰሪያዎች. እንደ ደንቡ፣ ስለ ዩአይዩ እየተነጋገርን ያለነው፣ UI ን የመቀየር ችሎታ፣ ለውሂብ ለውጦች ምላሽ እንደሚሰጥ እና በይነገጹ የሚዘመንበት ጊዜ እንደሆነ በግልፅ አለመናገር ነው።
  2. በክፍሎች እና በአሠራሮች መካከል ያለው ግንኙነት. ምሳሌ ብቻ። ከአውታረ መረቡ የውሂብ ዝርዝር ማግኘት አለብን. እንደ እውነቱ ከሆነ, ይህ ቀላል ቀዶ ጥገና አይደለም. ይህንን ለማድረግ ጥያቄን መላክ፣ ምላሹን ወደ ተለያዩ ነገሮች ካርታ መላክ፣ ወደ ዳታቤዙ ማስቀመጥ እና ወደ UI መላክ ያስፈልግዎታል። እንደ አንድ ደንብ, እነዚህን ስራዎች ለማከናወን የተለያዩ አካላት ሃላፊነት አለባቸው (እኛ እንወዳለን እና መርሆችን እንከተላለን SOLID?) እንደ RxSwift ያለ መሳሪያ በእጃችን ሲኖር ስርዓቱ ምን እንደሚሰራ እና እንዴት እንደሚሰራ መግለጽ ይቻላል በሌሎች ቦታዎች። በዚህ ምክንያት የኮዱ የተሻለ አደረጃጀት የተገኘበት እና የማንበብ ችሎታ ይጨምራል. በአንጻራዊነት, ኮዱ ወደ የይዘት ሠንጠረዥ እና መጽሐፉ እራሱ ሊከፋፈል ይችላል.

ኮትሊን ውስጥ Coroutines

RxSwift እና coroutines በ Kotlin - ከAGIMA እና GeekBrains በሞባይል ልማት ውስጥ ተመራጭ
የተመረጠ የኮርስ መምህር አሌክሳንደር ቲዚክ "ዘመናዊ ልማት ዘመናዊ ቴክኒካዊ መንገዶችን ይፈልጋል"

የምርት ስያሜው ሩብ አካል ሆኖ በGekBrains ፋኩልቲ ምን ትምህርት ይሰጣል?

ጽንሰ-ሀሳብ, ከሌሎች አቀራረቦች ጋር ማነፃፀር, ተግባራዊ ምሳሌዎች በንጹህ Kotlin እና በአንድሮይድ መተግበሪያ ሞዴል. እንደ ልምምድ፣ ተማሪዎች ሁሉም ነገር ከኮሮቲን ጋር የተቆራኘበት መተግበሪያ ይታያል። እውነታው ግን አብዛኛዎቹ አፕሊኬሽኖች ሙሉ በሙሉ ያልተመሳሰሉ እና ትይዩ ኮምፒውተሮች ናቸው። ነገር ግን ኮትሊን ኮርቲኖች ግራ የሚያጋቡ፣ የተለያየ ወይም ከመጠን በላይ ውስብስብ እና አፈጻጸምን የሚጠይቅ ኮድ ወደ አንድ፣ ለመረዳት ቀላል የሆነ ዘይቤ እንዲቀንሱ፣ በትክክለኛ አፈጻጸም እና አፈጻጸም ላይ ጥቅማጥቅሞችን እንዲያገኙ ያስችላቸዋል።

ተግባራዊ ችግሮችን የሚፈታ እና መጀመሪያ ላይ በጨረፍታ ኮሮቲን እንዴት እንደሚሰራ ጥልቅ ዕውቀት ባይኖርም (እንደ RxJava ያሉ ስለ ቤተ-መጽሐፍት ሊነገር የማይችል) ፈሊጥ ኮድን በኮሮቲን ውስጥ መፃፍ እንማራለን። እንደ ተዋንያን ሞዴል ያሉ ውስብስብ ፅንሰ-ሀሳቦችን እንዴት መጠቀም እንዳለብን እንገነዘባለን።

በነገራችን ላይ, የበለጠ መልካም ዜና. ተመራጩ እየተቀዳ ሳለ፣ የ Kotlin Coroutines ቤተ-መጽሐፍት ዝማኔ ተለቀቀ፣ በዚህ ክፍል ውስጥ ክፍሉ ታየ። Flow - የአናሎግ ዓይነቶች Flowable и Observable ከ RxJava. ዝመናው ከመተግበሪያው ገንቢ እይታ አንጻር የኮሮቲን ባህሪን ሙሉ ያደርገዋል። እውነት ነው, አሁንም ለመሻሻል ቦታ አለ: ምንም እንኳን በኮትሊን / ተወላጅ ውስጥ ለኮሮቲኖች ድጋፍ ምስጋና ይግባውና በኮትሊን ውስጥ ባለ ብዙ ፕላትፎርም አፕሊኬሽኖችን መጻፍ እና በ RxJava እጥረት ወይም በአናሎግ በንፁህ ኮትሊን ውስጥ ሊሰቃይ አይችልም. በኮትሊን/ ተወላጅ ውስጥ የኮርኦቲን ድጋፍ ገና አልተጠናቀቀም። ለምሳሌ የተዋንያን ጽንሰ-ሀሳብ የለም. በአጠቃላይ የኮትሊን ቡድን በሁሉም መድረኮች ላይ ውስብስብ ተዋናዮችን ለመደገፍ እቅድ አለው.

Kotlin Coroutines - እንዴት የኮትሊን ገንቢን ይረዳሉ?

Coroutines ሊነበብ የሚችል፣ ሊጠበቅ የሚችል እና ደህንነቱ የተጠበቀ፣ የማይመሳሰል እና የሚመሳሰል ኮድ ለመጻፍ ጥሩ እድል ይሰጣሉ። እንዲሁም ለሌሎች ያልተመሳሰሉ ማዕቀፎች እና አስቀድሞ በኮድ ቤዝ ውስጥ ጥቅም ላይ ሊውሉ የሚችሉ አቀራረቦችን አስማሚ መፍጠር ይችላሉ።

ኮርቲኖች ከክር የሚለዩት እንዴት ነው?

የኮትሊን ቡድን ኮሮቲኖችን ቀላል ክብደት ያላቸውን ክሮች ይላቸዋል። በተጨማሪም ፣ ኮርኦቲን የተወሰነ እሴትን ሊመልስ ይችላል ፣ ምክንያቱም በዋናው ላይ ፣ ኮሮቲን የታገደ ስሌት ነው። እሱ በቀጥታ በስርዓት ክሮች ላይ የተመካ አይደለም ፣ ክሮች ኮርቲኖችን ብቻ ይሰራሉ።

"ንፁህ" ኮትሊንን በመጠቀም መፍታት የማይችሉት ወይም አስቸጋሪ የሆኑትን Corotine በመጠቀም ምን ተግባራዊ ችግሮች ሊፈቱ ይችላሉ?

ማንኛቸውም ያልተመሳሰሉ፣ ትይዩ፣ “ተወዳዳሪዎች” ስራዎች ኮሮቲን በመጠቀም በደንብ ተፈትተዋል - የተጠቃሚ ጠቅታዎችን ማስኬድ፣ መስመር ላይ መሄድ ወይም ከውሂብ ጎታ ዝመናዎችን መመዝገብ።

በንጹህ ኮትሊን, እነዚህ ችግሮች በጃቫ ውስጥ በተመሳሳይ መልኩ ተፈትተዋል - በሺዎች በሚቆጠሩ ማዕቀፎች እገዛ, እያንዳንዳቸው የራሳቸው ጥቅሞች እና ጉዳቶች አሏቸው, ግን አንዳቸውም የቋንቋ ደረጃ ድጋፍ የላቸውም.

እንደ ማጠቃለያ ፣ ሁለቱም ተመራጮች (እና ዋናዎቹ ኮርሶችም) በውጫዊ ሁኔታዎች ለውጦች መሠረት የተሻሻሉ ናቸው ማለት ተገቢ ነው ። አስፈላጊ ዝመናዎች በቋንቋዎች ወይም ማዕቀፎች ውስጥ ከታዩ መምህራን ይህንን ከግምት ውስጥ ያስገባሉ እና ፕሮግራሙን ያሻሽላሉ። ይህ ሁሉ ለመናገር በእድገት ሂደቱ ምት ላይ ጣትዎን እንዲይዙ ያስችልዎታል.

ምንጭ: hab.com

አስተያየት ያክሉ