Mzaliwa au la? Hadithi nne kuhusu maendeleo ya jukwaa-mtambuka. Ukuzaji wa utumaji maombi ya jukwaa-mbali kwa wanaoanza Hii ina maana kwamba uendelezaji wa jukwaa mtambuka ni mbaya

Ukuzaji wa jukwaa la msalaba hukuruhusu kuunda programu ya rununu ambayo itafanya kazi wakati huo huo katika iOS na Android. Hii ni njia mbadala ya gharama nafuu ya kuunda programu kwa kila mfumo wa uendeshaji tofauti.

Vipengele vya maendeleo ya jukwaa la msalaba

Kutengeneza programu moja kwa majukwaa tofauti ni nzuri na mbaya kwa wakati mmoja. Nzuri, kwa sababu inaweza kufanyika kwa kasi na kwa bei nafuu zaidi kuliko maombi kadhaa kwa kila mfumo wa uendeshaji. Na hii ni mbaya, kwa sababu maelewano huathiri uendeshaji wa maombi.

Vipengele hivi lazima zizingatiwe kabla ya kuanza mradi:

  • Katika mazingira ya jukwaa la msalaba, msimbo umeandikwa mara moja. Ili kufanya programu ifanye kazi kwenye mfumo mwingine wa uendeshaji, msimbo hutafsiriwa katika lugha nyingine ya programu. Wakati na pesa zinazotumika katika maendeleo ni mara 1.5 chini.
  • Huenda programu zisifanye kazi ipasavyo. Katika maendeleo ya jukwaa la msalaba, haiwezekani kuzingatia nuances yote ya kufanya kazi na usanifu wa kila mfumo wa uendeshaji, hivyo maombi yanaweza kukimbia polepole zaidi kuliko yale yaliyotengenezwa mahsusi kwa iOS au Android.
  • Mahitaji ya kiolesura na muundo wa kipengele hutofautiana kati ya mifumo ya uendeshaji. Kwa mfano, iOS haina kitufe cha Nyuma kama Android inavyo. Wakati wa kuunda muundo wa umoja, hatua hii lazima izingatiwe: katika iOS, kifungo kitabaki, lakini haitafanya kazi, au italazimika kukatwa kwa mikono, ambayo inamaanisha kazi ya ziada na nambari.

Makosa mengi wakati wa kuhama kutoka jukwaa moja hadi nyingine yanaweza kutatuliwa kwa mikono, lakini haiwezekani kutatua kabisa matatizo ya kukabiliana na mfumo wa uendeshaji "usio wa asili".

Kwa hivyo maendeleo ya jukwaa ni mbaya?

Hapana, ukuzaji wa jukwaa-mbali ni sawa mradi hauitaji zaidi kutoka kwake kuliko inavyoweza kutoa.

Chaguo hili linaweza kuchaguliwa katika kesi zifuatazo:

  • Fidia mifumo yote ya uendeshaji kwa bajeti ndogo. Ikiwa hadhira inayolengwa inatumia kikamilifu iOS au Android, unaweza kuanza na programu asilia ya mfumo mmoja wa uendeshaji. Ikiwa chanjo ya juu ni muhimu mara moja, ni bora kuchagua chaguo la jukwaa la msalaba.
  • Angalia niche. Ikiwa kuna wazo la kuahidi, lakini huna uhakika kwamba litafanya kazi, mara moja kuwekeza bajeti kubwa katika maendeleo ni hatari. Inaleta maana kuanza na ukuzaji wa jukwaa-msingi, kusoma maoni ya watumiaji na kufanya maamuzi ya kimkakati kulingana na hii.
  • Programu haitumii uhuishaji changamano na haifanyi mahesabu. Shughuli hizi hupakia kifaa kwa umakini, na programu-tumizi ya jukwaa-msingi haijaboreshwa kwa matumizi kamili ya rasilimali za jukwaa fulani.
  • Programu hutumia tu kazi za msingi za kifaa. Onyesha habari, pakia faili, tumia eneo la mahali, weka agizo - programu ya jukwaa-msingi inaweza kushughulikia haya yote. Ujumuishaji wa kina wa uwezo wa kifaa unahitajika - itabidi uchague ukuzaji wa asili.
  • Maombi ya ushirika kwa wafanyikazi. Ikiwa programu imetengenezwa kwa kazi nyembamba za ndani na watu watafanya kazi nayo kupitia vifaa vya kibinafsi, maombi ya jukwaa la msalaba itakuwa chaguo bora zaidi.

Hakuna jibu la jumla kwa swali la kama suluhu za jukwaa-msingi zinaweza kutumika kwa mradi wako. Jaza fomu hapa chini: tutajifunza mradi wako na kuchagua chaguo bora zaidi kwa utekelezaji wake.

Maombi ya jukwaa la msalaba - kuwa au kutokuwa? Swali si rahisi, kwa kuwa kila biashara ina malengo yake na mahitaji ya maombi ya simu. Lakini leo tutagundua ni maendeleo gani yanafaa kwako.

Je! ni maombi gani ya jukwaa la msalaba?

Programu-tumizi za jukwaa-mbali ni programu ambazo hutengenezwa na kisha kuendeshwa kwenye Android na iOS. Kiini cha ukuzaji ni kwamba msimbo wa chanzo wa programu hutafsiriwa kwa asili, ambayo ni, inayoeleweka kwa kifaa maalum cha rununu. Matokeo yake, programu inaweza kuingiliana na mfumo wa uendeshaji uliowekwa juu yake.

Hebu tukumbushe: maombi ya asili, tofauti na yale ya jukwaa, yameandikwa kwa OS maalum.

Faida za maendeleo ya jukwaa la msalaba

  • upanuzi wa msingi wa mtumiaji kutokana na kuonekana kwa programu katika maduka kadhaa wakati huo huo;
  • Msimbo wa chanzo kimoja huondoa hitaji la kuajiri watengenezaji wengi kwa kila jukwaa;
  • 75% ya msingi wa msimbo wa programu-msingi inaweza kutumika tena, kuirekebisha kwa miradi mipya.

Hasara za maendeleo ya jukwaa la msalaba

1. Utegemezi mkubwa kwenye kifaa cha mkononi

Programu za majukwaa tofauti kwa kawaida hazifanyi kazi nje ya mtandao. Kwa hivyo, uwezo wao unategemea sana mtumiaji kuwa na muunganisho thabiti wa Mtandao. Toleo la mfumo wa uendeshaji na mfano wa kifaa pia ni muhimu. Programu ya mfumo mtambuka inakaribia kuhakikishiwa kupunguza utendakazi wa kifaa ambacho ni cha zaidi ya mwaka mmoja au miwili. Wakati programu ya asili itafanya kazi kwa utulivu hata kwenye gadget ya kale na firmware ya zamani. Kwa hivyo ikiwa hutaki wateja wako wasome hakiki zenye hasira kuhusu jinsi programu yako hatimaye "ilimaliza" simu mahiri ya mtu fulani, chagua ukuzaji asilia.

2. Kiolesura kisicho cha kirafiki cha mtumiaji

Watumiaji huzoea mwonekano na utendakazi wa vifaa vyao hivi kwamba wanatarajia mwitikio wa juu zaidi kutoka kwa programu zilizosakinishwa juu yao. Wanataka kuwa na uhakika kwamba kila kitufe kitakuwa mahali pake panapofaa, kwamba ukurasa utasogea kwa kasi inayofaa kwao, na kwamba hatua yoyote watakayochukua itafuatwa na jibu la haraka. Programu za jukwaa la msalaba kawaida huwa na ugumu wa kuzoea kifaa, na haziwezi kujivunia utendakazi.

Tatizo ni kwamba kwa ajili ya maendeleo ya jukwaa la msalaba hakuna miongozo - viwango vya maendeleo kutoka kwa waundaji wa OS. Kwa hivyo, programu ya jukwaa la msalaba iliyotengenezwa "kwa Android" haitakuwa rahisi kwa mtumiaji wa iOS, na kinyume chake. Unaweza, bila shaka, kuunda miundo tofauti kwa kila jukwaa, lakini kwa suala la gharama za kazi hii itakuwa sawa na kuunda programu mbili tofauti, ingawa kwa lugha moja.

3. Mapambano ya ukuu miongoni mwa zana za maendeleo

Katika soko la suluhu za maendeleo ya majukwaa mtambuka, ushindani unazidi kuwa mgumu kila siku. Kufikia sasa, React Native na Xamarin ndio maarufu zaidi kati ya wasanidi programu, lakini wanaweza kuzidiwa, kwa mfano, na Vue Native. Katika kesi hiyo, viongozi wa zamani wa mbio watapoteza faida yao muhimu zaidi - usaidizi wa kanuni za uendeshaji. Na hii inaweza kutokea kwa chombo chochote cha jukwaa la msalaba.

Maendeleo ya asili haogopi shida kama hiyo. Kuanzishwa kwa zana mpya hutokea hatua kwa hatua, na ujuzi wa lugha kadhaa za programu, ambayo ni ya lazima kwa mtaalamu, itamruhusu kuelewa haraka ubunifu wote. Kwa kuongezea, kuna jamii kubwa za wataalamu karibu na kila mfumo wa kufanya kazi, kama matokeo ambayo ugumu wowote unaotokea hutatuliwa kwa kutafuta shida kama hiyo kwenye vikao, ambapo maelfu ya watu wako tayari kupendekeza na kusaidia kutatua.

Je, ni maombi gani yanafaa kwa biashara yako?

Kabla ya kujibu swali hili, ni muhimu kuchambua biashara yako. Sehemu za watumiaji, thamani ya rasilimali za wakati na pesa, kina kinachohitajika cha ujumuishaji wa programu na vifaa vya watumiaji, pamoja na malengo yaliyowekwa wazi ya muda mrefu - kiwango cha chini ambacho chaguo lako litategemea. Lakini tutafanya iwe rahisi ikiwa utajibu maswali muhimu hivi sasa.

1. Watazamaji wako hutumia nini?

Ikiwa unajua kuwa uwiano wa watumiaji wa iOS na Android kati ya wateja wako unakaribia 50/50, chagua usanidi asili. Hii itaonyesha kuwa unaheshimu mahitaji ya wateja wako wote kwa usawa, bila kujali kiwango cha mapato yao.

Muunganisho kati ya chaguo la kifaa cha mkononi na kiwango cha uwezo wa kulipia ulithibitishwa tena na App Annie. Utafiti wa idadi ya upakuaji na mauzo ya programu za simu kwenye Google Play na App Store kwa robo ya kwanza ya 2018 ulibaini kuwa watumiaji wa simu mahiri za Android walipakua programu kwa 135% zaidi kuliko wanaotembelea duka la iOS. Wakati huo huo, Duka la Programu lilileta wamiliki wake mapato 85% zaidi ya Google Play.

Njia ya mafanikio ni dhahiri: cheza kwenye nyanja mbili mara moja. Kwa usahihi, katika maduka mawili. Hesabu tu ni ipi kati yao programu inapaswa kuonekana kwanza. Bila shaka, isipokuwa kutolewa kwa wakati mmoja ni sehemu ya mkakati wako wa dijiti).

2. Una muda gani wa maendeleo?

Gharama za kifedha za mradi hutegemea jibu la swali hili. Ukweli ni kwamba kutoka kwa mtazamo wa muda uliotumika kwenye maendeleo, maombi ya jukwaa la msalaba inaonekana tu kuwa suluhisho la faida zaidi. Kwa kweli, kuirekebisha kwa majukwaa kunaweza kuchukua muda mrefu kama kuunda programu mbili asilia, kwani wasanidi watalazimika kuandika vipande vya ziada vya nambari kwa maeneo ya shida.

Ukiwa na programu asilia hakika hakutakuwa na shida kama hizo, ambayo ni muhimu sana kwa kubakiza hadhira ambayo haivumilii makosa na mende. Kulingana na takwimu kutoka kwa Compuware, 79% ya watumiaji wako tayari kuanzisha upya programu ikiwa haikufanya kazi ipasavyo wakati wa uzinduzi wa kwanza, lakini ni 16% pekee wanaokubali kuipa nafasi nyingine. Wengine wataondoa programu tu.

3. Je, unapanga kutumia vipengele vipi vya kifaa?

Tayari tumezungumza juu ya ukweli kwamba maombi ya asili tu yana uwezo wa kuzaliana picha nzito haraka na bila upotezaji wa ubora. Lakini faida za kiufundi za maendeleo ya asili sio mdogo kwa hili. Chukua programu ya Facebook kama mfano. Shukrani kwa kutolewa kwa matoleo tofauti ya Android na iOS, kusogeza imekuwa laini, nyakati za upakiaji wa picha zimepunguzwa, na shida zote za kache zimetatuliwa.


Zaidi ya hayo, programu asili zina ufikiaji wa moja kwa moja kwa huduma zote za kifaa, huku kuruhusu kupata maelezo kuhusu mahali alipo mtumiaji au orodha yake ya anwani. Programu-tumizi za jukwaa-tofauti zinapaswa kutumia programu-jalizi maalum asilia, ambazo huathiri vibaya kasi ya uhamishaji data na kupakia RAM ya kifaa.

4. Je, unajitahidi kupata matokeo gani?

Mkakati wa kidijitali ni orodha ya malengo ambayo kampuni yako inaweza kufikia kwa kutumia zana za kidijitali. Uchaguzi wa mwisho kwa kiasi kikubwa inategemea faida unayotaka kupata mwishoni.


Vunja mchakato kutoka kwa wazo hadi matokeo hatua kwa hatua, kwa kuzingatia rasilimali zote zilizopo. Ugunduzi unaweza kuwa usiotarajiwa zaidi.

Kwa mfano, unaweza kupata kuwa ni gharama kubwa sana kutengeneza tovuti yako inayojibu, ambayo imepakiwa na vipengele na vipengele shirikishi, kuwa programu ya majukwaa mtambuka kama ulivyotaka awali. Au hatimaye hakikisha kuwa tovuti ya simu ya mkononi inapoteza kila mara kwa programu ya simu, kama vile uendelezaji wa majukwaa mtambuka unavyopoteza kwa maendeleo asilia. Na kati ya sababu utapata hizo tulizoelezea hapo juu.

Hitimisho: utumaji wa jukwaa la msalaba ni wa faida katika kesi moja tu - unaunda toleo la onyesho la programu, ambalo lina wakati mdogo, pesa na wataalamu waliobobea sana. Katika visa vingine vyote, programu asilia itakupa faida mara nyingi zaidi, kwani ni kiwango tofauti cha maendeleo.

Soko la maombi ya simu ni zaidi ya miaka kumi, lakini bado linaendelea kwa kasi. Mahitaji kutoka kwa makampuni yanakua daima na bado yanazidi kwa kiasi kikubwa ugavi, ambayo inasababisha ongezeko la mara kwa mara la gharama ya maendeleo. Suluhisho moja la kupunguza gharama ya mchakato huu ni uundaji wa jukwaa la msalaba, wakati msimbo sawa unatumiwa kwenye majukwaa yote.

Mara ya mwisho tuligusia ukuzaji wa programu ya rununu ya jukwaa la msalaba na mengi yamebadilika tangu wakati huo. Ni wakati wa kuzungumza juu ya mbinu na zana tena.

Hebu kwanza tupitie istilahi tena.

Asili

Ikiwa watengenezaji, katika mchakato wa kuandika programu, wanatumia lugha ya programu iliyopitishwa kwa jukwaa maalum, iwe Lengo-C na Swift kwa iOS au, programu hiyo itaitwa asili (kutoka kwa asili ya Kiingereza - asili, asili).

Manufaa ya maombi ya asili:

  • kasi na majibu ya kiolesura. Programu hujibu mibofyo papo hapo, hakuna ucheleweshaji wowote katika uhuishaji, kusogeza, kupokea na kutoa data;
  • ufikiaji wazi na rahisi wa kazi za kifaa na vitambuzi. Kwa msanidi programu, kufanya kazi na geolocation, arifa za kushinikiza, kuchukua picha na video kupitia kamera, sauti, accelerometer na sensorer nyingine sio tatizo;
  • uwezo wa kufanya kazi kwa kina na kazi za smartphone. Kama ilivyo katika aya iliyotangulia, vitu kama vile uhuishaji, uundaji wa miingiliano tata na utendakazi wa mitandao ya neva moja kwa moja kwenye vifaa hutekelezwa, labda sio tu, lakini kwa kutabirika;
  • . Programu asilia kawaida hufanya kazi na violesura vya "jukwaa": menyu, urambazaji, fomu na vipengele vingine vyote vya muundo huchukuliwa kutoka kwa mfumo wa uendeshaji na kwa hiyo vinafahamika na kueleweka kwa mtumiaji.

Kuna kikwazo kimoja tu - gharama kubwa ya maendeleo na usaidizi, ikiwa ni pamoja na kwa sababu unahitaji kuandika msimbo wako kwa kila jukwaa.

Pamoja na ukuaji wa soko la programu za simu, watengenezaji wamekuwa sio tu ghali, lakini ghali sana, na maendeleo ya asili sio kitu ambacho kila mmiliki wa biashara anaweza kumudu. Lakini kutotengeneza programu ya simu kunaweza kukugharimu zaidi katika siku zijazo. Kuandika Papo Hapo kunaweza kukusaidia kuokoa pesa - eleza wazo lako na uonyeshe kadirio la bajeti unayotaka kutimiza, katika .

Na sio jamaa

Programu za majukwaa mtambuka huandikwa kwa majukwaa kadhaa mara moja katika lugha moja isipokuwa ile ya asili. Nambari kama hiyo inawezaje kufanya kazi kwenye vifaa tofauti? Pia kuna mbinu mbili hapa.

Ya kwanza ni kwamba katika hatua ya kuandaa programu ya kuchapishwa, inageuzwa kuwa ya asili kwa jukwaa maalum kwa kutumia transpiler. Kwa kweli, lugha moja ya programu ya jukwaa "inatafsiriwa" hadi nyingine.

Ya pili ni kwamba wrapper fulani huongezwa kwa msimbo unaosababisha, ambao, tayari unafanya kazi kwenye kifaa, kwenye kuruka hutafsiri simu kutoka kwa msimbo usio wa asili hadi kazi za mfumo wa asili.

Inachukuliwa kuwa zaidi ya kanuni hii inaweza kuhamishwa kati ya majukwaa - ni dhahiri kwamba, kwa mfano, mantiki ya kufanya manunuzi, kuokoa bidhaa kwenye gari, kuhesabu njia ya teksi, kuandika ujumbe katika mjumbe haibadilika. kulingana na kama mteja ana Android au iOS. Tunahitaji tu kuboresha UI na UX kwa majukwaa, lakini sasa, ndani ya mipaka fulani, hata hii inaweza kuunganishwa - kwa mfano, orodha ya hamburger inatumika kikamilifu kwenye Android na iOS. Kwa hivyo hata kufanya masahihisho kwenye kiolesura ili programu ikidhi roho na barua ya jukwaa linalotakiwa ni suala la tamaa, kasi inayohitajika na ubora wa maendeleo.

Manufaa:

  • gharama na kasi ya maendeleo. Kwa kuwa msimbo mdogo unahitaji kuandikwa, gharama ya kazi imepunguzwa;
  • uwezo wa kutumia rasilimali za ndani za kampuni. Kama tutakavyoonyesha baadaye, ukuzaji wa programu-msingi mara nyingi unaweza kufanywa na watayarishaji wako waliopo.

Mapungufu:

  • interface isiyo ya asili au, kwa kiwango cha chini, haja ya kufanya kazi na interface ya kila jukwaa tofauti. Kila mfumo una mahitaji yake ya muundo wa vitu na wakati mwingine ni wa kipekee. Hii lazima izingatiwe wakati wa maendeleo;
  • matatizo katika kutekeleza kazi ngumu au matatizo iwezekanavyo kufanya kazi hata kwa taratibu rahisi kutokana na makosa katika mifumo ya maendeleo yenyewe. Mazingira ya jukwaa la msalaba hutafsiri tu maombi kwa simu za mfumo na miingiliano katika muundo ambao mfumo unaelewa, na kwa hiyo katika hatua hii matatizo yote ya kuelewa na makosa yanaweza kutokea ndani ya mfumo yenyewe;
  • kasi ya kazi. Kwa kuwa mazingira ya jukwaa la msalaba ni "superstructure" juu ya msimbo (sio mara zote, lakini katika hali fulani), ina ucheleweshaji wake na inasimama katika usindikaji wa vitendo vya mtumiaji na kuonyesha matokeo. Hii ilionekana sana miaka michache iliyopita kwenye simu mahiri ambazo zilikuwa chini kwa nguvu ikilinganishwa na za leo, lakini sasa, pamoja na kuongezeka kwa utendaji wa vifaa vya rununu, hii inaweza tayari kupuuzwa.

Kama unaweza kuona, njia hizi mbili ni taswira ya kioo ya kila mmoja - ukweli kwamba maendeleo ya maombi ya asili yana faida, maendeleo ya maombi ya jukwaa la msalaba yana hasara, na kinyume chake.

Majukwaa na zana maarufu za ukuzaji wa simu za jukwaa tofauti

Kama tulivyoandika hapo juu, kuna njia mbili - kugeuza nambari kuwa asili katika hatua ya kusanyiko au kuongeza karatasi fulani ambayo hutafsiri simu kwenda na kutoka kwa mfumo.

Cordova na PWA ni zana mbili zinazofanya kazi kwa usahihi katika itikadi ya kanga.


Cordova na HTML5

Moja ya maeneo maarufu zaidi katika programu ya jukwaa la msalaba, ambayo mara nyingi huitwa PhoneGap. Kwa kweli, tovuti ya simu ya mkononi imeundwa, ambayo "imefungwa" katika msimbo mdogo wa jukwaa ambao hupeleka simu kutoka kwa mfumo hadi kwenye programu na nyuma.

Hasara na faida zote zinaonyeshwa hapa kwa uwazi zaidi kuliko mahali popote pengine. Unaweza kutumia wasanidi wa wavuti (HTML, CSS na JavaScript kama teknolojia kuu) na kutengeneza toleo la kwanza la programu katika mwezi mmoja au hata wiki kadhaa kwa pesa kidogo. Ndiyo, itakuwa polepole katika kazi, na inaweza kuwa na geolocation sahihi kabisa, lakini itafanya kazi kwenye vifaa vyote na itawawezesha, kwa kiwango cha chini, kupima mahitaji ya wateja kwenye vifaa vya simu.

Idadi kubwa ya mifumo imeundwa kwa njia hii, lakini yote hufanya kitu sawa. Tofauti kati yao ni kwamba Cordova (PhoneGap) haiweki vizuizi na violezo kwenye mantiki na kiolesura cha mradi wako wa HTML5, na mifumo hiyo inafanya kazi na vipengele vyake vya UI vilivyotengenezwa tayari ambavyo vinaiga majukwaa ya rununu na mantiki yao ya ukuzaji. Mfano wa mbinu hii ni: Mfumo wa Ionic - wrapper; Mfumo7, UI ya Angular ya Simu, Sencha Touch, Kendo UI - mifumo ya kiolesura.

PWA

Teknolojia ya mtindo kutoka kwa Google ni programu zilezile za wavuti, lakini kupitia matumizi ya teknolojia fulani (kimsingi ile inayoitwa Mfanyakazi wa Huduma - hati zinazoendeshwa chinichini, na Manifest ya Programu ya Wavuti - maelezo ya programu ya wavuti katika fomu inayoeleweka kwa simu ya rununu. system ) zinaweza kufanya kazi kama za asili bila kanga ya PhoneGap. Wanaweza kusakinishwa kwenye skrini ya kwanza, kupita duka la programu, kufanya kazi nje ya mtandao, kufanya kazi na arifa zinazotumwa na programu hata wakati huitumii, na kwa vitendaji asili.

Shida ni kwamba sio majukwaa yote hata sasa yanaunga mkono hizi "teknolojia fulani". Hii kimsingi inahusu Apple, ambayo inaonekana haipendi uwezo wa kusambaza programu kwa kupita Hifadhi ya Programu.

Kwa kuzingatia mapungufu yote ya ufumbuzi wa HTML5, makampuni mengi yameunda zana zinazokuwezesha kuandika msimbo kwa lugha moja, isiyo ya asili, na kisha hutafsiriwa kwa asili. Hii inaua ndege wawili kwa jiwe moja: kuna msingi mmoja tu wa nambari, na programu ziko karibu na asili iwezekanavyo.


Xamarin

Jukwaa la Microsoft. Lugha ya kawaida ya upangaji kwa ukuzaji wa Biashara ni C#, na mazingira ya ukuzaji wa majukwaa mtambuka ni Visual Studio. Matokeo ni programu asilia za iOS, Android na Windows. Kweli, kiasi kikubwa kwa ukubwa.

React Native

Jukwaa kutoka - programu zimeandikwa katika JavaScript na kutumia mitindo inayofanana na CSS. Interface inageuka kuwa ya asili, na kanuni inatafsiriwa kwenye jukwaa, ambayo inatoa kubadilika muhimu.

Kwa kuwa jukwaa changa kiasi, React Native bado ni dhahiri (ingawa si ya janga) inakabiliwa na ukosefu wa zana za ukuzaji na hati.

Flutter

Kwa kawaida, mtu mkubwa kama Google hakuweza kupuuza mada ya maendeleo ya jukwaa la programu za Android na iOS. Flutter, ingawa kwa sasa iko kwenye beta pekee, inachukua mbinu tofauti na React Native na Xamarin. Haibadilishi msimbo wa chanzo kuwa msimbo wa asili, ambao unatekelezwa na jukwaa, lakini kwa kweli huchota dirisha kwenye skrini ya smartphone na hutoa vipengele vyote yenyewe. Lugha inayotumika ni Dart ya "miliki", ambayo Google iliunda kama toleo lililoboreshwa la JavaScript.

Hii ina faida zote mbili (kwa mfano, miingiliano ya nje inayofanana) na hasara (kwa mfano, kuchora upya kiolesura kunahitaji kiasi fulani cha kumbukumbu na wakati wa CPU).

Jukwaa linakua haraka na Google inawekeza bidii na pesa nyingi ndani yake. Lakini ikilinganishwa na Flutter, hata React Native inaonekana kama mfumo wa ikolojia ulioimarishwa sana na wa kuvutia.

Nini cha kuchagua

Kichwa chako labda tayari kinazunguka, lakini bado haujui cha kuchagua. Hebu tuwasilishe orodha rahisi ya maswali ili kukusaidia:

  • Inapaswa kufanya kazi kwa njia fulani kwenye kifaa chochote? Chagua HTML kama msingi;
  • Je! una pesa za kutosha, huna haraka na unataka programu ya ubora wa juu zaidi? Una njia ya moja kwa moja maendeleo ya asili;
  • Je, una msanidi wa wavuti "aliyejengewa ndani" au unataka tu kujaribu kwa haraka na kwa urahisi programu ya simu inayofanya kazi? Hapa tunaweza kupendekeza Cordova/HTML au PWA;
  • Je, una mfumo wako wa CRM na msanidi programu wa C# anayeuunga mkono? Chukua Xamarin;
  • wewe "unataka kujaribu", lakini unahitaji kufanya kila kitu kizuri na cha mtindo? Angalia mbali Jibu Asili au Flutter.

Unaweza pia kwenda kutoka upande mwingine. Angalia utendaji utakaohitaji katika programu yako na uende kutoka hapo:

  • programu rahisi ya kadi ya biashara? Chukua React Native au HTML5 na utapata majukwaa mawili kwa bei ndogo;
  • Je, una tovuti iliyo na trafiki nyingi na unahitaji kujaribu uwepo wako kwenye mtandao wa simu? HTML5;
  • programu ngumu na ufikiaji wa kazi zinazohitajika za kifaa? Maendeleo ya asili, Xamarin, React Native.

Ukuzaji wa jukwaa la msalaba sio tiba

Wakati wa kuchagua, unahitaji kuendelea na kazi uliyopewa na rasilimali zilizopo. Ukuzaji wa jukwaa la msalaba ni mwelekeo mzuri na unaoeleweka, lakini kwa faida na hasara zake ambazo zinapaswa kuzingatiwa kabla ya kuzindua mradi. Programu iliyokamilishwa ya jukwaa-msingi ni dhahiri ni bora kuliko ya asili ambayo haijatengenezwa. Unaweza kuikuza kwa haraka na kwa bei nafuu, kuipakia kwenye duka na kuangalia tu mahitaji kutoka kwa watumiaji - ikiwa kuna mtu yeyote anatafuta programu yako, iwe anaisakinisha, ni utendaji gani anaotumia. Kulingana na matokeo ya jaribio kama hilo, itawezekana kuamua hatima ya mwelekeo wa rununu katika kampuni yako na uwekezaji ndani yake.

Je, bado una mashaka na maswali kuhusu utumizi wa jukwaa-msingi? Soma kuhusu jinsi tulivyounda ombi la kupata haraka usajili kwa moja ya taasisi za michezo za jiji na jaribu ombi la kulipia kila aina ya huduma - kutoka kwa huduma za makazi na jamii hadi maagizo kwenye duka za mkondoni. Bora zaidi, jiandikishe kwa mashauriano ya bure, ikionyesha takriban bajeti na maelezo mafupi ya wazo hilo, au wasiliana na meneja wetu Katya kwa simu.

Simu mahiri zinaendelea kupata nafasi zaidi na zaidi kwenye jua, sio tu kama zana ya kutumia picha za paka na video za XXX, lakini pia kama zana ya kufanya kazi. Kwa hiyo, mahitaji ya maendeleo ya simu yanaongezeka. Inakubalika kwa ujumla kuwa leba na baridi ni Objective-C/Swift kwa iOS na Java/Kotlin kwa Android. Bila shaka, ni kazi ngumu na nzuri, lakini kuna idadi kubwa ya matukio halisi ambayo matumizi ya mifumo ya majukwaa ya msalaba ni bora zaidi ikilinganishwa na zana za asili.

Watengenezaji wengine wanatarajia mifumo ya majukwaa mtambuka kusuluhisha shida zao zote za maisha, wakati wengine wanawachukia. "Kambi za vita" zote mbili zina maoni yao potofu yanayosababishwa na ukosefu wa ufahamu wa jinsi na nini hufanya kazi. Hii inaongeza mafuta kwenye moto, kwani hisia hutumiwa badala ya hoja za kiufundi.

Pia kati ya watengenezaji, haswa wanaoanza, kuna hadithi nyingi juu ya mifumo ya rununu ya jukwaa. Katika makala yetu tutachambua maarufu zaidi kati yao. Lakini kwanza, hebu tuangalie maendeleo ya simu kupitia macho ya biashara ambayo hutoa pesa kwa blackjack nzima ya IT.

Kwa nini tunahitaji zana za jukwaa la msalaba?

Kihistoria, daima kumekuwa na ushindani katika soko la kompyuta, na kila mtengenezaji alitoa seti mojawapo ya zana zinazojulikana za asili kwa ajili ya kuendeleza programu za mifumo ya uendeshaji na vifaa vyao.

Zana asili = zinazotolewa na mmiliki wa mfumo ikolojia.

Ishara zingine zote za "asilia" ni SECONDARY - tabia na kiolesura cha programu, ufikiaji wa uwezo wa OS, utendaji, n.k.

Kwa kuongezea, karibu kila mara ikawa kwamba zana za asili haziendani na kila mmoja sio tu katika kiwango cha lugha za maendeleo, makusanyiko yaliyokubaliwa na usanifu, lakini pia katika kiwango cha mifumo ya kufanya kazi na mfumo wa uendeshaji na maktaba. Matokeo yake, kutekeleza algorithms sawa na interfaces, ilikuwa ni lazima kuandika maombi kwa mazingira kadhaa katika lugha tofauti za programu, na kisha kuunga mkono kwa msingi wa "amri moja kwa jukwaa". Wakati huo huo, uwezo na kuonekana kwa programu kwenye majukwaa tofauti ni karibu kila mara 90% sawa. Kwa kujifurahisha tu, linganisha utekelezaji wa programu unazopenda za iOS na Android.

Jambo la pili muhimu ni uwepo wa ujuzi na uzoefu muhimu ndani ya timu: ikiwa hawapo, basi itachukua muda kujifunza.

Ili kutatua shida hizi zote mbili, zana za ukuzaji wa jukwaa la msalaba (sio tu za rununu) zimeonekana kwenye soko kwa muda mrefu, zikitoa:

  • kuongeza msingi wa kanuni za kawaida katika lugha moja ya programu ili bidhaa iwe rahisi kuendeleza na kudumisha;
  • kutumia ujuzi na wataalamu waliopo kutekeleza maombi kwenye majukwaa mapya.

Kwa kuwa sasa kuna lugha nyingi za programu (na mazingira) (na wataalam wanaozungumza lugha hizi), kuna idadi sawa ya zana za ukuzaji wa jukwaa la msalaba. Kwa mfano, tutazingatia maarufu katika eneo letu PhoneGap, Xamarin, React Native na Qt.


Sasa tunaweza kuzungumza juu ya hadithi.

Hadithi 1. Uchawi

Hekaya ya kawaida ambayo inasumbua akili za wasanidi wapya inahusiana na imani katika algoriti kuu (na watayarishaji programu bora walioziunda) ambazo hugeuza programu za majukwaa mtambuka kuwa za asili. Kitu kando ya mistari ya "kubadilisha msimbo wa JavaScript kuwa Swift na kisha kuandaa programu ya Swift." Hadithi hii inachochewa na watengenezaji wa zana za jukwaa la msalaba wenyewe, wakiahidi kuunda "matumizi ya asili" kama matokeo. Na sio kwamba mtu yeyote amelala hapa, lakini mawazo tajiri na kutokuelewana kwa taratibu za msingi wakati mwingine husababisha watengenezaji kufikiri juu ya mbinu za shamanic.

Kanuni kuu ya msingi wa suluhisho la jukwaa ni kugawa nambari katika sehemu mbili:

  • jukwaa la msalaba, wanaoishi katika mazingira ya kawaida na kuwa na upatikanaji mdogo wa uwezo wa jukwaa la lengo kupitia daraja maalum;
  • asili, ambayo hutoa uanzishaji wa programu, usimamizi wa mzunguko wa maisha wa vitu muhimu, na ina ufikiaji kamili wa API za mfumo.


Ili kuunganisha ulimwengu wa "asili" na ulimwengu wa "msalaba-jukwaa", ni muhimu kutumia maalum daraja, ndiye anayeamua uwezo na mapungufu ya mifumo ya majukwaa ya msalaba.

Unapotumia daraja, utendakazi hupunguzwa kila wakati kutokana na ubadilishaji wa data kati ya "ulimwengu", pamoja na ubadilishaji wa simu za API na maktaba.

Kwa hivyo, programu zote za jukwaa lazima ziwe na sehemu ya asili, vinginevyo mfumo wa uendeshaji hautaweza kuziendesha. Kwa hivyo, hebu tuchunguze kwa undani zaidi ni API na mifumo gani ya mfumo inayotolewa na iOS, Android na Windows wenyewe. Wacha tuendelee kwenye hadithi inayofuata.

Hadithi 2. Sio asili!

Kwa hivyo, tunayo sehemu ya jukwaa la maombi ambayo inaishi katika mazingira ya mtandaoni na inaingiliana na mfumo wa uendeshaji kupitia miundombinu ya mfumo na daraja.

Mifumo yote ya uendeshaji: iOS, Android na Windows UWP hutoa ufikiaji wa mifumo ndogo ifuatayo (seti za API za mfumo):

  • Mwonekano wa Wavuti (kivinjari cha wavuti cha ndani ya programu) hutumika katika mashupu zinazotegemea PhoneGap na kimsingi hufanya kama mazingira ya wakati wa kutekelezwa kwa tovuti ya ndani;
  • Injini za JavaScript hutumiwa katika React Native na analogi kwa utekelezaji wa haraka wa msimbo wa JS na ubadilishanaji wa data kati ya Native na JS;
  • OpenGL ES (au DirectX) inatumika katika injini za mchezo na programu kulingana na Qt/QML au analogi za kutoa kiolesura;
  • Mfumo mdogo wa UI unawajibika kwa kiolesura asili cha mtumiaji cha programu, ambacho kinafaa kwa React Native na Xamarin.


Programu za majukwaa mtambuka zina sehemu asilia na ufikiaji kamili sawa wa API za mfumo kama programu asilia. Tofauti ni kwamba njia ya mfumo inaitwa kupitia daraja na miundombinu ya mfumo:

Mwonekano wa Wavuti- programu inaishi katika kivinjari chake cha wavuti, sawa na tovuti ya ukurasa mmoja. Hakuna ufikiaji wa vidhibiti asili (vifungo, orodha, n.k.), kila kitu kinategemea HTML/CSS/JavaScript. Kwa upande mwingine, msanidi wa wavuti atahisi kama samaki nje ya maji.

Injini za JavaScript imekuwa maarufu hivi karibuni, kwani utaratibu kama huo uliongezwa kwa iOS tu katika toleo la 7.0. Moja ya vipengele vinavyostahili kuzingatiwa ni hitaji la kusawazisha miundo changamano ya data iliyohamishwa kati ya JavaScript na mazingira ya Asilia katika JSON. Ili kuelezea kwa ufupi aina hii ya suluhu, msimbo wa JS unaodhibiti programu asilia unatekelezwa katika mazingira ya JavaScript.

OpenGL ES na DirectX ni mifumo ndogo ya kiwango cha chini na hutumiwa kutoa kiolesura cha mtumiaji katika michezo na, kwa mfano, Qt/QML. Hiyo ni, wakati wa kutumia OpenGL/DirectX, watengenezaji wenyewe huchora vidhibiti na uhuishaji, ambavyo vinaweza tu kufanana na asili. Kwa upande mwingine, ni mfumo mdogo wa kiwango cha chini na utendaji wa juu sana, ndiyo sababu pia hutumiwa katika injini za mchezo wa jukwaa.

Programu zote za majukwaa mtambuka zina sehemu asilia, na kwa hivyo kuna uwezekano wa ufikiaji kamili sawa wa API za mfumo kama za asili. Pia, programu za majukwaa mtambuka hujengwa na kufungwa kwa zana asilia katika vifurushi vya usakinishaji asili. Swali kuu ni jinsi mwingiliano kati ya sehemu ya jukwaa-msalaba na ile ya asili imepangwa. Kwa mfano, ndani ya WebView au kutumia Open GL ES / DirectX hakuna njia ya kuunda kiolesura cha mtumiaji na look'n'feel asili kabisa, lakini wakati huo huo kuna ufikiaji kamili wa GPS, Arifa za Push na utendaji mwingine. Na nambari katika JavaScript au C# inaweza kudhibiti kwa uhuru programu asilia na tabia yake, ikitoa mwonekano wa asili kabisa.

Kwa muhtasari, ndiyo, "sio asili" kwa mujibu wa zana za maendeleo zinazotumiwa (sio kutoka kwa Apple, Google). Lakini programu inaweza kuwa ya asili kabisa katika suala la ufikiaji wa API za mfumo na kutoa mwonekano na hisia asili kabisa. Na tunahamia kwenye hadithi inayofuata.

Hadithi 3. Mkongojo kwenye mkongojo

Hapa inafaa kuelewa kuwa API za asili hazizingatiwi magongo kwa chaguo-msingi (ingawa kuna maoni tofauti hapa), kwa hivyo hasira yote inaelekezwa kwenye sehemu ya jukwaa. Ni wazi, mazingira ya utekelezaji (kwa mfano, WebView, JavaScript injini au Mono) pia ni vigumu kuita crutch - ufumbuzi kukomaa na historia ndefu.

Inaonekana kwamba mkongojo ni jinsi sehemu ya jukwaa-msalaba inavyounganishwa na ile ya asili. Ili kuelewa vyema jinsi mifumo tofauti inavyofanya kazi, kwa kutumia mfano wa PhoneGap, Xamarin, Qt na React Native, tutaangalia taratibu hizo za mfumo wa uendeshaji zinazotumiwa kuunganisha sehemu za jukwaa na "asili".

Tutaanza na PhoneGap. Ifuatayo ni usanifu wa kiwango cha juu wa programu kulingana na mfumo huu.



Programu kwenye PhoneGap kwa kweli ni programu asilia inayoonyesha Mwonekano wa Wavuti kama kidhibiti pekee cha UI. Ni kwa njia hiyo kwamba mwingiliano na sehemu ya asili hutokea. Mionekano yote ya kawaida ya Wavuti katika iOS, Android na Windows UWP inasaidia uwezo wa kuongeza vishikilizi vyako vya asili vya sifa na mbinu za JS. Wakati huo huo, nambari ya JS inaishi katika mazingira yake ya pekee na haijui chochote kuhusu sehemu ya asili - inavuta tu mbinu muhimu za JS au kubadilisha mali muhimu ya JS. Kila kitu kiko ndani ya mtandao wa kawaida wa DOM, ambapo vipengele vipya vinavyohusishwa na utekelezaji asilia huongezwa kwa urahisi.



Wakati wa kuunda programu katika React Native, msanidi karibu kila wakati atahitaji kutekeleza sehemu asili katika Objective-C, Java au C#, na usimamizi wa programu asili yenyewe utatoka kwa JavaScript. Kwa kweli, injini ya JavaScript ni kipengele cha WebView ambacho kinapatikana tofauti. Mwingiliano hutokea kupitia daraja sawa la JS kama ilivyo kwa PhoneGap. Walakini, katika React Native, nambari ya JS haidhibiti mti wa wavuti wa DOM, lakini programu asilia.

Tafadhali kumbuka kuwa kwa sababu ya mapungufu ya iOS (hakuna njia ya kutekeleza JIT), msimbo wa JavaScript unafasiriwa kwa kuruka, badala ya kukusanywa. Kwa ujumla, hii haina athari kubwa juu ya utendaji katika programu halisi, lakini inafaa kukumbuka.

Sasa hebu tuangalie Xamarin.iOS ya kawaida na Xamarin.Android, kwa kuwa Xamarin.Forms (ambayo inasaidia Windows UWP) ni nyongeza kwao.



Xamarin hutumia maktaba ya Mono kuingiliana na mfumo wa uendeshaji unaolengwa, ambao hukuruhusu kupiga msimbo asilia kwa kutumia utaratibu wa P/Invoke. Pia hutumiwa kuwasiliana na API asili katika iOS/Android. Hiyo ni, kwa njia zote za API za asili za umma, vifuniko huundwa katika C #, ambayo, kwa upande wake, huita API za mfumo. Kwa njia hii, unaweza kufikia API zote za mfumo kutoka kwa programu yako ya Xamarin.

Na hatimaye, hebu tuangalie Qt, kwa kuwa kuna maswali mengi kuhusu hilo kutoka kwa watengenezaji wenye ujuzi.



Qt ni "jambo lenyewe", hii ina faida na mapungufu. Maktaba za Qt huunganishwa kwa urahisi na API za mfumo wa C++ zinazopatikana kwenye mifumo yote ya uendeshaji. Ili kutoa kiolesura cha mtumiaji, mbinu za kiwango cha chini hutumiwa, lakini injini yake ya michoro hutumia mtindo asilia. Katika kesi hii, kwenye Android unapaswa kufikia API ya Java kupitia daraja maalum (daraja la JNI), na kwa Windows UWP, tumia kibadilishaji cha simu cha Open GL ES kwa DirectX, kwani Open GL haipatikani kwa UWP.

Kwa muhtasari: mifumo yote ya majukwaa mtambuka hutumia uwezo asilia wa kawaida wa mifumo ya uendeshaji, imekomaa, na imeundwa na timu zenye uzoefu na jumuiya huria kwa usaidizi wa makampuni makubwa ya tasnia ya TEHAMA. Na hatimaye, ni wakati wa hoja "yenye nguvu".

Hadithi 4. Polepole

Turufu muhimu ambayo watu wanapenda kutumia katika mizozo kuhusu mifumo ya majukwaa mtambuka ni utendakazi wa chini. Tena, inategemea kile cha kulinganisha na nini parrots kuhesabu.

Tukumbuke kwamba upekee wa utumizi wa majukwaa mtambuka ni kuwepo sambamba kwa dunia mbili zilizounganishwa na daraja:

  • PhoneGap: HTML/JS na Native Java / Objective-C / C#;
  • React Native: JS na Native Java / Lengo-C / C #;
  • Xamarin: Mono na Java ya Asili/Lengo-C;
  • Qt: C++ na Native Java / Lengo-C.

Kwa hivyo, wakati wa kulinganisha utendaji, mtu lazima azingatie kasi ya operesheni:

  • sehemu ya jukwaa la msalaba;
  • sehemu ya asili;
  • daraja.

Ukiandika katika mtambo wa kutafuta, kwa mfano, kuitikia utendakazi asilia dhidi ya utendakazi mwepesi, unaweza kuangalia majaribio mengi tofauti, na mengi ya hayo yanabainisha kuwa utendakazi hushuka sana kwa kutumia daraja, ikiwa ni pamoja na utumiaji wa UI kutoka kwa njia ya kupita kiasi. msimbo wa jukwaa. Kwa Xamarin, hali inaonekana sawa - sehemu ya jukwaa la msalaba ni ya haraka sana na inalinganishwa na asili katika usindikaji wa data, lakini wakati wa kutumia daraja, utendaji unaweza kushuka. Qt kwa ujumla hufanya kazi katika kiwango cha C++, ambacho ni haraka yenyewe. Ikiwa tutazingatia masuluhisho kulingana na PhoneGap, basi utendakazi utategemea sana WebView, lakini bado hupaswi kubadilisha kikamilifu UI katika msimbo wa JavaScript au kufanya hesabu za kisayansi.

Polepole? Ndiyo, matone ya utendaji yanawezekana kutokana na mwingiliano usiofaa na mfumo wa uendeshaji kupitia daraja. Walakini, walimwengu wa majukwaa yenyewe ni haraka kama wale wa asili.

Programu za rununu zimekuwa rafiki asiyebadilika wa maisha yetu. Kwa msaada wao, hatuwezi tu kujifurahisha na kurahisisha maisha yetu, kufanya ununuzi au kuagiza huduma fulani mtandaoni, lakini pia kukuza biashara yetu, kuongeza wateja wetu, na hivyo kuongeza faida. Na ikiwa hakuna mtu anayeweza kutilia shaka hitaji la kuunda programu kwa biashara yao, basi shida zingine zinaweza kutokea na uchaguzi wa aina ya programu ya rununu.

Maombi yote ya kisasa ya vifaa vya rununu yanaweza kugawanywa katika asili na jukwaa la msalaba, na kila moja ya vikundi hivi viwili ina nguvu zake na hasara zake.

Programu asilia ni zile zilizotengenezwa mahususi kwa ajili ya jukwaa mahususi katika lugha ifaayo ya programu. Kwa hivyo, wakati wa kuunda programu ya Android, Java hutumiwa, na kwa programu za iOS - Lengo-c au Swift. Wakati wa kuunda miradi kama hiyo, wataalamu huzingatia vipengele vyote vya majukwaa, wakilipa kipaumbele maalum kwa muundo wa UI/UX, mahitaji/mapendekezo ya watengenezaji wa mfumo wa uendeshaji, pamoja na mitindo ya hivi karibuni katika tasnia ya simu. Mtaalamu mmoja hawezi kufahamu kikamilifu lugha zote zilizo hapo juu, kwa hiyo, kuendeleza bidhaa moja ya asili kwa majukwaa tofauti, ni muhimu kuhusisha watengenezaji tofauti, na hii ni gharama ya ziada, na wakati wa maendeleo utakuwa wa kushangaza. Lakini wakati huo huo, maombi "yatatengenezwa" kwa jukwaa maalum, itapata rasilimali za ndani na kazi za kifaa na itafanya kazi kwa ufanisi iwezekanavyo.

Licha ya orodha kubwa ya faida za maendeleo ya asili, wateja hawataki kila wakati kutumia muda na pesa katika maendeleo yao, wakihusisha wataalamu kadhaa katika mchakato wa uumbaji. Chaguo bora katika hali kama hizi ni maendeleo ya jukwaa la msalaba, ambayo hukuruhusu kuunda programu kwa jukwaa lolote kwa kutumia teknolojia za kawaida za wavuti. Katika kesi hii, maendeleo yanaweza kufanywa na mtu mmoja aliye na ujuzi muhimu na uzoefu katika kufanya kazi na HTML5, JavaScript na CSS3. Maendeleo ya jukwaa tofauti yanaweza kukusanywa kuwa faili ya .apk ya Android na faili ya .ipa ya IOS. Kwa hivyo, kwa kuzingatia maendeleo moja, unaweza kupata maombi mawili ya mifumo maarufu ya uendeshaji, ukitumia muda kidogo na pesa juu yake. Hata hivyo, maendeleo hayo pia yana vikwazo vyake, kwa hiyo inashauriwa sana kukabiliana na kila kesi maalum na kuchagua chaguo linalofaa zaidi - maendeleo ya asili au ya msalaba-jukwaa.

Sehemu za mteja na seva za programu

Maombi makubwa zaidi yana sehemu ya mteja wao, ambayo mara nyingi huitwa frontend, na sehemu ya seva - backend. Sehemu ya mbele inawajibika kwa kile unachokiona kwenye skrini ya kifaa chako cha rununu, ambayo ni, uwasilishaji mzima wa kuona wa programu, pamoja na muundo, saizi na eneo la windows, menyu, vifungo, mishale na vitu vingine vyovyote. Sehemu ya mbele pia inawajibika kwa majibu ya programu kwa vitendo fulani vya mtumiaji vinavyolenga kuhamia sehemu tofauti za programu, kupiga menyu mpya, na kadhalika.

Nyuma ya nyuma ni sehemu ya seva ya programu na iko kwenye seva ya mbali, ambayo inaweza kupatikana popote na kusimamiwa kwa kutumia zana mbalimbali za programu. Uhusiano kati ya mteja na sehemu za seva unafanywa shukrani kwa API (kiolesura cha programu ya programu). Kwa maneno mengine, API ni aina ya mpatanishi kati ya sehemu ya mbele na ya nyuma, ambayo hutuma maombi kutoka kwa upande wa mteja hadi kwa seva, kurudisha data ambayo mtumiaji anahitaji.

Maendeleo ya mbele

Sehemu ya mteja ya programu ni muhimu sana, kwani ni pamoja na kwamba mtumiaji mwenyewe atashughulika na uelewa wake wa jumla wa uendeshaji wa programu utategemea urahisi wa sehemu ya mbele. Inaweza kutengenezwa kwa mikono, lakini kwa hili unahitaji kuwa na ufahamu mzuri wa HTML5, CSS3 na java-script, au kutumia kinachojulikana mifumo. Katika kesi ya kwanza, mazingira ya maendeleo ya Apache Cordova, ambayo pia hujulikana kama PhoneGap, hutumiwa mara nyingi. Kwa kutumia mazingira haya, unaweza kuunda programu kwa jukwaa lolote kwa kutumia teknolojia za wavuti, ambazo Cordova hubadilisha kuwa msimbo unaoeleweka kwa jukwaa maalum. Cordova hufungua uwezekano usio na kikomo kwa wasanidi wa wavuti ambao hawahitaji kujifunza Objective-C au Swift, Java au Kotlin ili kuunda programu za mifumo maalum ya uendeshaji.

Ingawa Cordova haina vikwazo katika UI na mantiki, mifumo hutoa suluhu za violezo vilivyotengenezwa tayari. Kwa upande mmoja, hii inaharakisha kwa kiasi kikubwa na kurahisisha mchakato wa maendeleo, kwa kuwa mtaalamu anaweza kutumia vifungo vilivyotengenezwa tayari, orodha, mashamba ya pembejeo, kadi na vipengele vingine vya UI. Kwa upande mwingine, mtaalamu anaweza kutumia kwa ajili ya maendeleo zana hizo tu na vipengele vinavyopatikana katika mfumo uliochaguliwa. Maarufu zaidi kati yao ni Ionic, ambayo hukuruhusu kuunda maombi ya jukwaa la msalaba kwa kila ladha. Mfumo huu una mkusanyiko mkubwa wa vipengele vya kawaida vilivyojengwa ambavyo vinaiga programu za asili, lakini muundo wao unaweza kubadilishwa ikiwa ni lazima. Wakati huo huo, msanidi programu anaweza kuunganisha programu-jalizi nyingi za ziada ambazo zinapanua uwezo wa mfumo wa ionic, na mradi iliyoundwa kwenye mfumo huu unaweza kuzinduliwa moja kwa moja kwenye dirisha la kivinjari na kutathmini jinsi programu iliyoundwa itaonekana na kufanya kazi bila hitaji la kufanya hivyo. tumia emulator au usakinishe kwenye simu mahiri.

Maendeleo ya nyuma

Ingawa upande wa mteja unashughulikiwa na wabunifu na watengenezaji wenye ujuzi wa HTML, CSS, JS na mifumo, mazingira ya nyuma yanashughulikiwa na watayarishaji programu wa wasifu tofauti. Ili kusanidi seva, lugha tofauti za programu na zana zinaweza kutumika; jambo kuu ni kusanidi vizuri uendeshaji wao na mwingiliano na sehemu ya mteja. Hapa inahitajika kutumia mifumo inayofaa ya usimamizi wa hifadhidata. Hii inaweza kuwa MySQL ya kitamaduni, Redis, PostgreSQL, au hifadhidata nyingine yoyote (kwa mfano, MongoDB) ambayo inafaa kwa utekelezaji wa mradi mahususi na ambamo msanidi programu anaufahamu vyema. Ili kuunda upande wa seva wa programu, watengenezaji wanaweza kutumia PHP, NodeJS, C#, Ruby, Python, Java na lugha zingine za programu.

Wataalamu wa studio za rununu za KitApp wanashughulikia suala la kutengeneza sehemu za mbele na za nyuma kwa ukamilifu na kwa kuwajibika iwezekanavyo. Watengenezaji wetu watakuundia utumizi wa jukwaa la ugumu wowote na kuzingatia haraka na kwa ufanisi iwezekanavyo! Wasiliana nasi, na wataalamu wetu watakushauri mara moja kwa maswali yako yote!