Më shumë gjëra për të mbajtur mend gjatë krijimit të aplikacioneve celulare.

Ky postim është një vazhdim i "A po e ndërtoni siç duhet aplikacionin tuaj?" Nëse nuk e keni lexuar atë, ju rekomandoj ta kaloni fillimisht:



Tani që jeni kapur të gjithë, le të zhytemi përsëri në atë që ju nevojitet për të ndërtuar një aplikacion të shkëlqyeshëm.

1. Grafika

Nje pikture vlen sa nje mije fjale

Shumica e aplikacioneve në këtë kohë dhe epokë drejtohen nga grafika. Ilustrimet e zgjuara grafike dhe elementet vizuale në produkte i bëjnë ato të këndshme për t'u përdorur.

Rrëfim: Unë ndonjëherë luaj Chrome's Downasaur (lloji chrome://dino/) edhe kur kam internet 😅.

Kjo do të thotë që ne duhet t'i kushtojmë vëmendje shtesë ilustrimeve tona dhe të konfigurojmë një infrastrukturë të mirë për dërgimin e imazheve në aplikacion. Një CDN është i detyrueshëm për këtë qëllim - për t'u siguruar që përdoruesit t'i shohin këto imazhe sa më shpejt të jetë e mundur.

Meqenëse shumica e aplikacioneve shfaqin një pamje paraprake përpara se të shfaqin një imazh të plotë, është gjithashtu e dobishme që të ruhen në memorie disa variante të një imazhi të vetëm bazuar në madhësi të ndryshme si miniaturë, si dhe versione të vogla, të mesme dhe të mëdha. Përndryshe, mund të përdorni diçka më të sofistikuar - si një shërbim manipulimi imazhi të bazuar në URL.

Mjete të dobishme: Amazon S3, Amazon CloudFront, Cloudinary, ImageKit, etj.

2. Versionimi i aplikacionit

Ndërsa aplikacionet evoluojnë vazhdimisht, versionimi bëhet jashtëzakonisht i rëndësishëm dhe ndihmon që të ketë një konventë të veçantë që nga fillimi i aplikacionit. Versionet e aplikacionit duhet të përcjellin lehtësisht shkallën e ndryshimeve midis përditësimeve të aplikacionit. Në Gojek, ne përdorim Semantic Versioning dhe emri i versionit duket kështu

v3.32.0 [MAJOR.MOR.PATCH]

Siç sugjeron emri:

  • rritet MAJORkur bëni ndryshime të papajtueshme të API-së ose ndryshime drastike - si rishkrimi i bazës së kodit ose rregullimet e dizajnit.
  • rrit MINOR kur shton funksionalitet që është i përputhshëm me prapavijën — si p.sh. prezantimi i një veçorie të re.
  • rritni PATCH kur bëni korrigjime të shpejta që janë të përputhshme me prapavijën - si rregullimi i një defekti në një veçori të sapo lëshuar.

3. Përhapja e aplikacionit

Çdo version i aplikacionit duhet të shpërndahet në mënyrë strategjike në vend që ta lëshojë atë në prodhim për të gjithë përdoruesit në një foto.

Këtu "cikli i jetës së lëshimit" luan një rol të rëndësishëm.

Meqenëse Gojek është një #SuperApp që përbëhet nga një mori produktesh që po ndërtohen nga ekipe të ndryshme, ne ndjekim diçka të quajtur Treni i lëshimit të softuerit për të lëshuar përditësime të aplikacioneve çdo dy javë.

Ne kemi ndërtesa të natës që dalin çdo ditë të cilat përdoren nga zhvilluesit dhe QA.

Pasi të krijohet një kandidat për lëshim nga baza e kodeve për një version të caktuar, ai testohet nga QA dhe ne e ngarkojmë atë në App Store vetëm kur QA-të japin një hap përpara.

Aplikacioni më pas ngarkohet në App Store, por lëshohet vetëm për përdoruesit tanë Alpha (të cilët do të na durojnë nëse diçka prishet).

Pasi, aplikacioni provon të jetë i qëndrueshëm në këtë fazë, ne e promovojmë aplikacionin në prodhim, por vazhdojmë me një prezantim me faza. Kjo përfshin rritjen graduale të përqindjes së disponueshmërisë së përditësimit derisa të jetë 100%.

4. Njoftimet

Përvetësimi i përdoruesit është i vështirë. Mbajtja e përdoruesit është më e vështirë.

Angazhimi i përdoruesit është një pjesë thelbësore e çdo produkti që dëshiron të mbajë përdoruesit dhe të arrijë/të mbajë një numër të lartë DAU/MAU. Njoftimet e aplikacioneve janë një mjet i shkëlqyeshëm për të angazhuar përdoruesit tuaj dhe për të ndihmuar në mbajtjen e tyre. Por, është një thikë me dy tehe.

• Dërgoni njoftime të rralla dhe përdoruesi mund të çinstalojë aplikacionin për shkak të pasivitetit.
• Bombardojeni përdoruesin me njoftime dhe ai/ajo do të acarohet dhe do ta çinstalojë aplikacionin.

Kjo është ajo ku analitika luan një rol të rëndësishëm. Ju mund të përdorni të dhëna për të dërguar njoftime të synuara te një grup i caktuar. Si përdorues, është gjithmonë e këndshme të marrësh njoftime të personalizuara/të përshtatura.

Kështu, është shumë e rëndësishme të kesh një infrastrukturë të mirë për të mbledhur të dhënat e përdoruesve, për t'i ndarë ato në grupe dhe për të drejtuar fushata për t'i mbajtur ata të angazhuar.

Mjete të dobishme: OneSignal, Pusher, etj.

5. Siguria

Nuk mund ta theksoj mjaftueshëm këtë, siguria e produktit tuaj mund ta bëjë ose ta prishë atë (shikoni DarkNet Diaries, nëse nuk jeni tashmë të bindur). Shumica e kompanive nuk shpenzojnë shumë kohë duke menduar në mënyrë kritike nga aspekti i sigurisë gjatë ndërtimit të produktit të tyre fillimisht, gjë që rezulton të jetë një katastrofë më vonë.

Tani, si zhvillues celularë, ne nuk kemi mendësinë e një inxhinieri sigurie, që do të thotë se nuk mendojmë të shfrytëzojmë një defekt në produkt ndërsa jemi duke e ndërtuar atë. Mënyra më e mirë për të kompensuar këtë është të kesh një ekip të përkushtuar Sigurimi.

Në Gojek, ne kemi një "ekip sigurie" të përkushtuar që shqyrton çdo gjë përpara se të lëshojmë ndonjë gjë në prodhim. Megjithatë, kjo nuk është e realizueshme për zhvilluesit indie ose startup-et e vogla, por kjo nuk do të thotë që ne (zhvilluesit celularë) duhet ta injorojmë plotësisht këtë aspekt ose të fajësojmë menaxhmentin për mungesën e një ekipi të dedikuar.

Ne ende mund të ndjekim udhëzimet bazë të sigurisë për sigurinë e aplikacioneve celulare - duke errësuar kodin, duke mos ruajtur çelësat e ndjeshëm të aksesit në bazën e kodeve (ose kudo në pajisje, për këtë çështje). Mund t'i hidhni një sy OWASP Mobile Security Project për më shumë informacion rreth sigurisë së celularit.

Mjete të dobishme: OWASP Mobile Security Project, GuardSquare, Android Security Guidelines, iOS Security Guidelines.

6. Vdekja e aplikacionit

Produktet ndërpriten gjatë gjithë kohës për arsye të ndryshme. Është e arsyeshme vetëm të ndërtohet një aplikacion duke e mbajtur këtë parasysh, në mënyrë që nëse diçka e tillë ndodh, aplikacioni do të ishte i këndshëm në mohimin e ofertave të produktit pasi të jetë ndërprerë.

Nëse mendoni se kjo nuk mund t'i ndodhë kurrë produktit tuaj sepse është super i lezetshëm - hidhini një sy të gjitha produkteve që Google ka "vrarë" deri më sot.

Kjo është diçka që nuk e kam zbatuar kurrë vetë, as nuk e kam parë në ndonjë nga aplikacionet që janë ndërprerë. Por do të ishte mirë që të kishim një lloj trajtimi të gabimeve në anën e aplikacionit për dështimet e API (me kode gabimi të personalizuara) që do ta njoftonin përdoruesin se dyqani është mbyllur dhe do të mbetet i tillë përgjithmonë.

E vetmja domosdoshmëri për këtë zbatim parandalues ​​është sepse si zhvillues aplikacionesh, ne nuk kemi privilegjin që zhvilluesit e uebit të bëjnë ku mund të bëjnë ndryshime menjëherë dhe bota do të fillojë menjëherë të shohë Bye, World! faqe në vend të faqes kryesore të produktit (si "this" ose "this").

Në rregull, kjo përfundon pikat e rëndësishme që duhen mbajtur parasysh gjatë ndërtimit të aplikacioneve të shkëlqyera. Çfarë mendoni për këtë listë? Mendon se më ka munguar diçka? Më njoftoni në seksionin e komenteve më poshtë. 🙌

Dëshironi që historitë tona më të mira të shfaqen drejtpërdrejt në kutinë tuaj hyrëse? "Regjistrohu për buletinin tonë!"