“Cross-platform” un to nozīme mobilajās ierīcēs

Mūsdienās ir ļoti daudz dažādu platformu un ierīču – Windows, IOS, Android, Linux utt. Gandrīz visas no tām ir savienotas ar internetu, un ierīču ir ļoti daudz. No programmētāja viedokļa tas nozīmē, ka ir ļoti daudz iespēju, bet daudz ērtāk ir lietot rīkus un programmatūru, pie kuriem vai pie kurām mēs esam pieraduši.

Ko “cross-platform” tehnoloģijas nozīmē programmētājam? Ja visas lietotnes katrai platformai būtu jāprogrammē no sākuma, tad ļoti daudz laika un enerģijas “aizietu”, lai iemācītos katrai operatājsistēmai nepieciešamās specifiskās zināšanas. Tas nav efektīvi, ja ir maz laika, turklāt ir vērts piebilst, ka no biznesa viedokļa tas ir ļoti neizdevīgi, jo izstrāde izmaksā daudz vairāk. Tāpēc ir izveidotas tehnoloģijas, lai varētu lietot daļu vai visu uzrakstīto kodu vairākām operātājsistēmām. Ļoti populāri ir veidot lietotnes tieši mobilajam telefonam, tāpēc to arī apskatīsim šajā rakstā.

Tātad rodas jautājums, kurā brīdī ir nepieciešams lietot “cross-platform” mobilā telefona lietotnes un kurā brīdī lietot platformai specifiskas tehnoloģijas? Kurš variants ir labāks? Atbilde ir – tas ir atkarīgs no konkrētā gadījuma. Pārāk daudz cilvēku, pat pieredzējuši programmētāji, strīdas par to, kura programmēšanas valoda un kura tehnoloģija ir labāka. Bet uz programmēšanas valodām ir jāskatās kā uz rīkiem, kurus izmantot tad, kad tas ir jādara.

Tātad, kādi ir plusi un mīnusi šāda tipa tehnoloģijām?

Liels pluss ir laiks, kurā lietotne tiek nogādāta klientam. Jo laiks tiek ietaupīts, ja visa lietotne vai pat tikai daļa no koda ir jāizstrādā vienreiz un kodu var izmantot atkārtoti (ne katru reizi no sākuma, atkarībā no platformas). Ne velti ir teiciens “laiks ir nauda”. Tas ir vēl svarīgāk, ja ir jāsacenšas ar konkurentiem, izstrādājot kādu maksas produktu.
Ir vieglāk lietotni uztaisīt līdzīgu vairākām platformām nekā tad, ja būtu jāizstrādā vairākas lietotnes. Cilvēkiem patīk lietot rīkus, ko viņi pazīst.
Tā kā tiek ietaupīts laiks, izstrādājot vienu lietotni nevis vairākas, izmaksas sarūk. Tāpēc, ja nav nepieciešamības piekļūt specifiskām funkcijām, var droši lietot “cross-platform” rīkus.

Diemžēl, kā jau visām lietām šajā pasaulē, “Cross-platformai” ir arī savi mīnusi.Ja ir nepieciešams piekļūt sarežģītākām funkcijām kā sensori utt, vieglāk ir lietot tehnoloģijas, kas ir specifiskas konkrētai platformai. Par spīti tam, ka ir paplašinājumi, kas palīdz izmantot šīs tehnoloģijas, arī “cross-platform” tehnoloģijās, tie tomēr nav ar tik plašām iespējām kā platformām specifiskie (“native”) rīki.
Viens no lielākajiem trūkumiem ir veiktspēja. Jo lielāks ir ierīču daudzums, kas atbalsta jūsu rakstīto programmu, jo mazāk specifiska tā ir, kā rezultātā samazinās veiktspēja (jeb, “tā iet lēnāk”). Jo tālāk mūsu risinājums ir no ierīces, jo lielāka abstrakcija, jo sliktāka veiktspēja. Kā to risināt un uzlabot? Mūsdienās ierīces paliek labākas un jaudīgākas, un ar laiku veiktspēja ar “cross-platform” lietotnēm uzlabojas.

Kādi rīki ir pieejami? Populārākie ir tādi kā “Cordova” vai “Xamarin”.

Ar ko sākt? Tas ir atkarīgs no jūsu prasmēm. Ja vairāk ir iepatikusies “back-end” programmēšana WEB lapām vai kādu lietotņu programmēšana, būtu ieteicams sākt ar “Xamarin”. Tai ir ļoti laba dokumentācija, kur ir aprakstītas visas specifiskās lietas, kuras ir nepieciešams darbam ar to, un diezgan plašas iespējas. Īpaši ērti tas būs Riga Coding School kursu beidzējiem, jo tiek lietots C# un “visual studio”. Vairāk informācijas par “Xamarin” var meklēt šeit- https://docs.microsoft.com/en-us/xamarin/#pivot=platforms&panel=XamarinForms .

Kā sākt ar “Cordova”? Lai izmantotu to būtu jābūt prasmēm ar “front end” WEB lapu izstrādi, jo tieši html, css un javascript tiks lietots, lai izstrādu “Apache Cordova” lietotnes. Arī tehnoloģija, kas būs ērta Riga Coding School kursu beidzējiem, jo “programmēšanas pamatu” kursā tiek apskatītas arī šīs izstrādes tehnoloģijas. Šajā saitā var atrast informāciju- https://cordova.apache.org/ .

“Cordova” lietotnēs ir ļoti svarīgi apskatīt kādi paplašinājumi ir pieejami, to var izdarīt šeit: https://cordova.apache.org/plugins/. Te var atrast paplašīnājumus sensoru lietošanai vai wi-fi moduļu izmantošanai un ļoti ērti ir tas, ka var izmantot vienu un to pašu kodu gan IOS mobilajām lietotnēm, gan Android. Tiesa, jāpatur prātā, ka tās būs mazāk “jaudīgas” kā platformai specifiskas tehnoloģijas.
Nobeigumā – galvenais ir atcerēties, ka vajag apdomāt kāda būs lietotnes specifika un nebaidīties mācīties jaunas tehnoloģijas un lietot to, kas būs ērtāks un ātrāks.

* Autors – Rīgas Programmēšanas skolas pasniedzējs Mārtiņš Leitarts.

* Autora citus rakstus var lasīt: http://techbear.org/ 

KAS NOTIEK MŪSU SKOLĀ?

Reģistrācija
Kontakti