Huawei: Gigant i na području razvoja softvera

Huawei: Gigant i na području razvoja softvera

Huawei i razvoj softvera

Mobilni uređaji, pametni satovi, softver u oblaku...

Prosječnom konzumentu elektroničkih uređaja na spomen riječi Huawei obično padnu na pamet popularni pametni satovi s kvalitetnim materijalima izrade i poprilično dugim trajanjem baterije, odnosno mobilni uređaji s vrlo kvalitetnim hardverom (pogotovo onim povezanim s fotografiranjem) za koje „eto, nažalost, nema baš puno aplikacija“. Zato ih često izbjegavaju kupovati, jer nemaju pristup Android ili Apple online trgovinama. Koliko je točan takav stav u pogledu softvera, probat ćemo pojasniti u tekstu koji upravo čitate, te vas njime zapravo uvesti u svijet razvoja softvera kako ga vidi Huawei.

Većini čitatelja je sigurno poznato da je Huawei 2019. godine dobio zabranu korištenja Googleovih servisa i aplikacija, što bi za veliku većinu tvrtki bilo pogubno. Kako uopće prodavati pametne telefone za koje nema aplikacija? Međutim, za Huawei predaja nije bila opcija, nego su razvili svoju vlastitu online trgovinu softvera, da bi korak po korak do danas postali pravi gigant na području razvoja softvera. Ako ste programer, uopće nije nezanimljiva i suluda varijanta da svoju budućnost zamislite u kontekstu razvoja softvera povezanog s Huaweijem.

Nije riječ samo o mobilnim aplikacijama

Iako bi se na temelju prethodno napisanog moglo olako zaključiti da je većina toga u pogledu razvoja softvera u Huaweiju povezana s izradom mobilnih aplikacija za vlastite telefone, istina je sasvim drugačija. Huawei je vrlo ozbiljan igrač i na drugim područjima.

Na primjer, Huawei Cloud nudi praktično sve mogućnosti kao i drugi slični servisi tvrtki Amazon, Microsoft ili Google. Tu se misli na različite servise povezane s korištenjem baza podataka, spremišta podataka, AI servisa i svega ostalog. Što je sve uključeno u ponudu, možete vidjeti na pratećim slikama uz tekst.

Za sada je jedini problem s ovim servisima to što još uvijek nisu baš globalno dostupni (kao kod prije spomenute konkurencije), iako ih sam Huawei označava kao međunarodne. Ali to „međunarodno“ zapravo označava samo područja Kine (kao posebno izdvojene), Azije i Južne Amerike. Što, naravno, ne znači da ovisno o planovima proizvođača, zaista uskoro ne mogu postati stvarno globalno dostupni.

Kao i konkurencija, tako i Huawei nudi različite varijante korištenja servisa (tvrtke, sveučilišta i pojedinci), detaljnu dokumentaciju, školovanje, pa čak i program certificiranja. Ponovo nalik na konkurenciju, dostupne su tri razine certifikata – slično kao kod Microsoft Azure platforme.

Postoje i druga područja razvoja softvera na kojima je Huawei prilično jak (AI), ali u nastavku teksta držat ćemo se onoga u čemu je „najjači“ – razvoju aplikacija za svoje (i tuđe) mobilne uređaje i pametne satove.

 

huawei-softver-Slika01.jpg

Huawei Cloud: Primjer dostupnih resursa na području spremišta podataka

 

Razvojni alati i tehnologije za programere

Kad pišemo o razvoju aplikacija za mobilne i druge slične uređaje, to se uvijek može promatrati bar na dvije razine. Jedna je sam razvoj aplikacija za mobilne uređaje, a drugi je odgovarajuća podrška za dodatne servise na strani servera – od online trgovine softvera do različitih servisa poput naplate, dobivanja trenutne lokacije i slično.

U tom smislu se ovo područje može podijeliti na dva bitna dijela: HMS Core i Huawei AppGallery.

HMS Core

HMS Core je dio koji predstavlja infrastrukturu na strani clouda s podrškom za brojne servise potrebne kod razvoja modernih aplikacija. Svi dostupni servisi mogu se podijeliti u nekoliko kategorija: App Service, Smart Device, Graphics, AI, Security, Media i System. Svaka od nabrojenih kategorija obuhvaća bar nekoliko sastavnih dijelova. Na primjer, najveća „App Service“ trenutno sadrži dvadesetak potkategorija. Podjela na potkategorije te izbor njihovih naziva napravljeni su tako da programeri mogu odmah uočiti što im je potrebno za rad na vlastitom projektu. Nije potrebno prvo pretraživati i proučavati čitave kategorije kako bi se stiglo do očekivanog rezultata.

Kao primjer opisnog imenovanja potkategorija, navedimo nekoliko naziva iz najveće i najopsežnije kategorije App Service (Game Service, Location Kit, Push Kit, Wallet Kit…). O čemu je riječ trebalo bi biti jasno odmah iz naziva, zar ne? Sasvim očekivano, svaka od potkategorija je vrlo detaljno dokumentirana u online uputama. Pogledajmo u nastavku kako to izgleda na primjeru potkategorije Location Kit zadužene za dobivanje trenutne lokacije uređaja. Kod otvaranja odgovarajućeg dijela dokumentacije dostupne na sljedećoj web adresi: https://developer.huawei.com/consumer/en/doc/HMSCore-Guides/introduction-0000001050706106
ravnopravno je opisano korištenje servisa za četiri različite platforme: Android, Harmony OS (Java), iOS (Objective-C) i REST API.

 

huawei-softver-Slika05.jpg

 

Za svaku od platformi navedene su najstarije podržane verzije, te je li potrebno korištenje posebnih HMS Core servisa. Na primjer, u trenutku pisanja ovog teksta, za Android uređaje vlastite proizvodnje potrebno je da taj uređaj sadrži najmanje EMUI 5.0 ili noviji, a za istu platformu, ali uređaje drugih proizvođača, najmanje Android 5.1 - 13 (API Level 22-33).

Budući da se u praksi velik broj programera prije detaljnijeg proučavanja neke tehnologije prvo želi uvjeriti kako ona djeluje u praksi, uz dokumentaciju uvijek idu i odgovarajući primjeri. Android primjer za navedenu potkategoriju dostupan je na web adresi: https://gitee.com/hms-core/hms-location-demo i to ravnopravno za programske jezike Java i Kotlin.

 

Primjer u Javi:

private void getLastLocation() {
try {
  Task<Location> lastLocation = mFusedLocationProviderClient.getLastLocation();
  lastLocation.addOnSuccessListener(new OnSuccessListener<Location>() {
   @Override
   public void onSuccess(Location location) {
     if (location == null) {
        LocationLog.i(TAG, “getLastLocation onSuccess location is null”);
         return;
        }
        LocationLog.i(TAG, “getLastLocation onSuccess location[Longitude,Latitude]:”
             + location.getLongitude() + “,” + location.getLatitude());
         return;
        }
   }).addOnFailureListener(new OnFailureListener() {
      @Override
      public void onFailure(Exception e) {
        LocationLog.e(TAG, “getLastLocation onFailure:” + e.getMessage());
        }
   });
} catch (Exception e) {
  LocationLog.e(TAG, “getLastLocation exception:” + e.getMessage());
   }
  }
 }

 

I isti dio u Kotlinu:

private fun getLastLocation() {
   try {
     val lastLocation =
        mFusedLocationProviderClient.lastLocation
     lastLocation.addOnSuccessListener(OnSuccessListener { location ->
        if (location == null) {
          LocationLog.i(TAG, “getLastLocation onSuccess location is null”)
        return@OnSuccessListener<br< a=""> /> }
          LocationLog.i(
             TAG,
             “getLastLocation onSuccess location[Longitude,Latitude]:${location.longitude},${location.latitude}”
          )
          return@OnSuccessListener<br< a=""> /> }).addOnFailureListener { e: Exception ->
            LocationLog.e(TAG, “getLastLocation onFailure:” + e.message)
          }
      } catch (e: Exception) {
         LocationLog.e(TAG, “getLastLocation exception:${e.message}”)
      }
}

 

HUAWEI AppGallery

Jednom kad osmislite i izradite svoju aplikaciju, potrebno je izvršiti njezino postavljanje u službenu Huawei Online trgovinu pod nazivom „HUAWEI AppGallery“. Osim za samu distribuciju aplikacija i mogućnost njihovog preuzimanja od strane krajnjih korisnika, AppGallery podržava sve faze životnog ciklusa pojedine aplikacije (prateća slika uz tekst).

Prvi korak u tom postupku je registracija osobe (ili tvrtke) koja izrađuje aplikacije. U slučaju da na razvoju aplikacije (kao što je to danas uobičajeno) radi veći broj ljudi, onda ovaj početni korak obuhvaća i dodavanje članova tima te definiranje njihovih uloga u razvoju aplikacije.

U drugom koraku potrebno je kreirati samu aplikaciju. Osim Android aplikacija i aplikacija zasnovanih na operativnom sustavu HarmonyOS, moguće je kreirati i takozvanu Quick App. Riječ je o posebnoj vrsti aplikacija koje podržavaju svi najveći proizvođači mobilnih uređaja iz Kine, a temelji se na korištenju JavaScript i CSS tehnologije. O ovim će aplikacijama možda biti više riječi nekom drugom prilikom, kad ćemo pripremiti jedan primjer takve aplikacije. U okviru ovog koraka definiraju se sve dodatne tehnologije koje će biti korištene u aplikaciji, poput načina korištenja baza podataka, slanja poruka iz aplikacija i slično.

Naravno, nakon početna dva koraka slijedi treći, a to je razvoj aplikacije. Za razvoj aplikacija možete koristiti neku od razvojnih okolina namijenjenih razvoju Android aplikacija (na primjer, Android Studio), ali se u nju po potrebi mogu uključiti i posebni Huawei dodaci (HMS Toolkit), kako bi se u aplikacije uključila podrška za ranije spomenuti HMS Core. Na sličan način mogu se uključiti i drugi dodaci, također razvijeni od strane Huaweija. Na primjer, Graphics Profiler namijenjen je optimizaciji grafički zahtjevnih aplikacija (čitaj: igre), Huawei Reality Studio se koristi za pripremu različitih 3D sadržaja i slično.

 

huawei-softver-Slika10.jpg

Huawei AppGallery: Podržava cijeli životni vijek aplikacije

 

Kako bi se osiguralo da aplikacija sa što manje grešaka dospije do krajnjeg kupca, AppGallery nudi odgovarajuću infrastrukturu za različite vrste testiranja aplikacije. Na primjer, testiranje u potpuno izoliranom okruženju (takozvano Sandbox testiranje), testiranje na različitim simulacijama mobilnih uređaja u cloud okruženju i slično.

Nakon dovršetka testiranja, aplikacija se može postaviti u online trgovinu tako da bude dostupna svim korisnicima. To obuhvaća podešavanje čitavog niza dodatnih parametara ovisnih o samom karakteru aplikacije. Ako ste ikad pripremali neku aplikaciju za Google Play trgovinu, onda otprilike znate o čemu je riječ. Budući da se u ovom slučaju može pripremati nekoliko različitih vrsta aplikacija (Android, HarmonyOS i Quick App), treba se točno pridržavati smjernica za svaku od njih.

Nakon objave početne verzije aplikacije, pomoću AppGallery mogu se pratiti različiti izvještaji o njezinom preuzimanju i korištenju od strane krajnjih korisnika, kvaliteti rada (broju grešaka tijekom izvođenja i slično). Ako aplikacija zaživi u praksi, onda se pomoću AppGallery mogu objavljivati i njezine dorade, odnosno izvoditi različiti oblici održavanja aplikacije.

Alat za dizajnere

Sve do sada napisano odnosilo se na tehnologije i alate namijenjene programerima. Budući da se za mobilne uređaje i pametne satove mogu pripremati i prodavati drugačiji sadržaji (teme i satovi), u Huaweiju nisu zaboravili ni na poseban alat pripremljen upravo za takvu namjenu. Riječ je alatu Theme Studio koji objedinjava pripremu obje vrste sadržaja. Alat je besplatno dostupan za preuzimanje na web adresi:

https://developer.huawei.com/consumer/en/doc/Tools-Library/theme_download-0000001050424897

Kao razvojno računalo za korištenje možete koristiti bilo koje računalo opremljeno nekom od zadnjih verzija Windowsa ili macOS-a.

Budući da se izradom takvih sadržaja prvenstveno bave dizajneri, a ne programeri, onda je i alat potpuno vizualno orijentiran, bez potrebe za pisanjem nekakvog programskog koda ili nešto slično. Kako izgleda njegovo korištenje u praksi, možete vidjeti na nekoliko pratećih slika uz tekst, ili još bolje, provjeriti sami, ako alat preuzmete i instalirate na svoje računalo.

Kao i kod alata namijenjenih programerima, tako je i Theme Studio popraćen vrlo detaljnom dokumentacijom. Uz pomoć ovog alata svoje rezultate možete također objaviti na odgovarajućim mjestima pripremljenim od strane Huaweija za prodaju takvih sadržaja i početi zarađivati.

 

huawei-softver-Slika12.jpg

Theme Studio: Huaweijev alat namijenjen dizajnerima

 

I financijski poticaji

Kad smo već spomenuli zarađivanje, treba svakako spomenuti i to da Huawei radi promocije vlastitog hardvera, ali i pratećih aplikacija odnosno dizajnerskih sadržaja, redovito objavljuje posebne natječaje za najbolje uratke u različitim kategorijama. Ako zbilja napravite kvalitetnu stvar, osim od krajnjih korisnika, možete pokupiti i dosta lijepu svotu od samog Huaweija.

Na web adresi https://developer.huawei.com/consumer/en/activity/digixActivity/digixList možete pronaći primjere takvih natječaja iz prošlosti i uvjeriti se da je doista riječ o podjeli pozamašne svote na svakom od raspisanih natječaja.

 

Ocijeni sadržaj
(0 glasova)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.