FlutterFlow: egy új Low-code eszköz, ami mobil app kódot generál
Muszáj megoldani a növekvő szakemberhiányt

A FlutterFlow low-code igérete
forrás: www.flutterflow.io

Idén visszatért a Google nagyszabású éves eseménye, a Google I/O. Május 18 és 20-a között rendezték, ezúttal az online térben. Ezt azonban már megszoktuk. Újdonságokból nem volt hiány, debütált a FlutterFlow nevű online eszköz, ami egy low-code (kevés kódolást igénylő) eszköz. Kipróbáltam, ennek osztom meg a tapasztalatait.

A low-code eszközöket nyomon követem, és kipróbálom, mert ezek már most is pótolják az IT-ban jelen lévő szakemberhiányt. Írtam már a UICode megoldásáról, ami a Figma designerek és az app fejlesztők táborát közelíti egymáshoz.

Ide fogok eljutni a FlutterFlow példával

Egy egyszerű példán keresztül néztem meg, hogy mit tud. Ez a végeredmény. Jelen esetben a Chrome böngészőben indítottam el, mert a Flutter Web-es támogatása első osztályú. Mobilon ugyan így nézne ki.

A végeredmény elkészült.

Előkészületek a FlutterFlow kipróbálásához

Az online eszköz a www.flutterflow.io oldalán érhető el, ahova egy Google accounttal regisztrálva máris hozzáfértem a felülethez.

Egyből végigvezet egy projekt beállításán, ami egy név megadásából áll. Adjunk neki egy nevet, és már kezdhetjük is a felületek kialakítását. Előtte még felajánlja, hogy már egy meglévő sablon alapján készítsen elő egy megoldást, vagy teljesen szabad kezet kapva, egy üressel kezdjünk.

Én a példában egy üres projekttel kezdtem, mert kíváncsi voltam, hogy mennyire bonyolult a játszadozás vele. Természetesen elérhetőek a tanuló videók, amik nagyban segítenek, ha elakadnánk.

A bal oldali menüben láthatjuk a választható widget-ek (kis grafikai komponensek) listáját. Van belőlük bőven, kedvemre válogathattam.

Csak fogd-és-vidd technikával be kell húzni a komponenst az előre elkészített Home screen-re. Ide én egy olyan listát adtam meg, aminek minden eleme egy termék képe és a neve.

A kezdőképernyő a listával.
Képernyőkép szerkesztése nagyon egyszerűen.

Ezután létrehoztam egy másik képernyőképet, hasonlóan egyszerűen, ahova akkor navigál az app, amikor rákattintunk egy sorra.

Ez lett a Részletek képernyő. A tetején van egy nagy kép, alatta különböző formázásokkal a neve, leírása, származási ország, ára. A formázások a megszokott kényelmes beállításokkal működik: betűméret, vastagítás, döntés, színe, igazítás. Egyszerű.

A termék részletek képernyő
A termék részletek képernyője.

Amiben nagyot tud az FlutterFlow low-code

Eddig mondhatnánk, hogy nem rossz, de azért mutasson valami igazán menőt!

Ez nem más, mint az, hogy a meglévő szerverünket (BackEnd) hozzá tudjuk kapcsolni. Lehet ez saját, meglévő interfész, vagy akár a Google Firebase cloud megoldása. A példában a Firebase integrációt próbáltam ki, ami ugyan igényel némi hozzáértést, de nem lehetetlen küldetés. Tulajdonképpen a szokásos beállításokat kell végigcsinálni, és nekem elsőre működött.

Nem írom le a lépéseket, de a lényeg, hogy meg tudjuk adni, hogy az adatok milyen szerkezetben érkeznek a szerverünkről. Ehhez egy adattípust készítünk el, és a későbbiekben ezt használjuk mindenhol.

A kezdő képernyőn a listát feltöltjük a szerverről jövő adatokkal. A termék kép címét, és nevét már ebből az adattípusból vesszük. Ha kiválasztunk egy elemet, akkor megjegyezzük, hogy melyik volt az, és a részletező képernyőn pedig bővebb infókat jelenítünk meg róla. Ennyire egyszerű. Mindezt úgy, hogy ugyan nem árt, ha láttunk már kódot, de nem kell kódot írnunk. Inkább csak táblázatokat töltünk ki hozzá.

Nagyon sok minden van a FlutterFlow alap eszköztárában, pl. hogy előnézetben egy kattintható drótvázat (wireframe) kapunk, ami arra jó, hogy legyen egy érzetünk a végtermékről. Sokszor már ez is elegendő a felhasználóknak, hogy kiderüljön, hogy mit csinál az app.

A gyorsan növekvő IT szakember hiány számos területen nehezíti a projektek indulását vagy befejezését. A low-code, no-code, vagy a kereszt-platformos (cross-platform) megoldások ezeket a terheket enyhíthetik. Ezekkel pótolhatóak fejlesztői pozíciók, amikre esetleg éveket kellene várnia egy cégvezetőnek.

Ingyenes vagy fizetős?

Kezdtem az ingyenes részével, ahol kipróbálhattam a fő funkcióját, hogy elkészíthettem a képernyőket. Ezután le akartam tölteni a kódot, hogy kipróbáljam.

Havi 30 USD-ért megkapjuk a kódot, ami azt jelenti, hogy sok órányi kódolástól mentesülünk.

A Pro-ban már havi 70 USD-t kell fizetnünk érte, ami jól jöhet egy mobil app fejlesztő stúdiónak.

Minden esetre az első 14 nap ingyenes, így el tudjuk dönteni, hogy áldoznánk-e rá?

Egyelőre még egy friss, első verzióról van szó, tehát sok hiba lehet benne.

Konklúzió

Összegzésként a FlutterFlow low-code webalkalmazásról elmondható, hogy érdemes volt kipróbálnom. Sok funkciót tud már most is, ami várhatóan hamarosan még tovább bővülnek.

Ennek, és számos, a közelmúltban útjára indult az eszköznek a megjelenése egyértelműen bizonyítja, hogy nagy jövő előtt áll a Flutter UI keretrendszer. Nem csupán mobil, de a web és asztali platformokat is meghódítja.

Ha további kérdésed lenne erről az eszközről, vagy magáról a mobil app fejlesztésről, a kapcsolati oldalamon vagy LinkedIN-en elérhető vagyok.

(PWA) 2021-ben hódítanak a Progresszív Web Alkalmazások

PWA jól működik a természetben is, offline.
forrás: Unsplash.com / Nature Mobile

A Progresszív Web Alkalmazás, röviden PWA, olyan megoldás, ami a weblap és a mobil app között helyezkedik el. Részben tartalmazza azokat a funkciókat, amiket egy mobil app tud, de kényelmesebb egy weblapnál. Ebben a cikkben ennek részleteit gyűjtöttem össze.

Mi egy PWA pontosan?

A PWA nem más, mint egy weboldal (HTML, CSS) technológiájára épülő mobil alkalmazás. Ennél persze többről van szó!

Az előző gondolat egy leegyszerűsített értelmezés, de kétség kívül ez az alapja. Alex Russell és Frances Berriman fogalmazták meg azt a 9 ismérvet, amit egy PWA -nak tudnia kell.

  1. Reszponzív: bármelyik kijelzőn jól mutat
  2. Kapcsolat független: internet kapcsolat nélkül is használható
  3. App-szerű használat: a mobil app-okban megszokott módon navigálhatunk benne
  4. Naprakész: egy un. Service Worker automatikusan figyeli, hogy mindig a legfrissebb verziót használjuk
  5. Biztonságos: TLS kapcsolatot használ, ami gondoskodik róla, hogy a forgalmat ne lehessen lehallgatni
  6. Könnyen megtalálható: egy megfelelően kitöltött un. Manifest írja le a tartalmat, amit a keresők gyorsan megtalálhatnak és indexelhetnek
  7. Elköteleződés: hozzáfér az operációs rendszer újbóli elköteleződést (re-engagement) segítő beállításaihoz, pl. Push Notification
  8. Telepíthető: Kitűzhető a mobilunk kezdőképernyőjére, hogy kézre essen a következő használatkor
  9. Linkelhető: egy linken érhető el az első használathoz, ezért könnyedén elérhető, megosztható másokkal

Hol lehet hasznos egy PWA?

A 2020-as évben beköltöztünk az online térbe egycsapásra. Naponta nyíltak (először csak kényszerből) a webshop-ok. Akinek addig nem létezett üzlete vagy vállalkozása, azok is felismerték az online vásárlás erejét. Ez felerősítette, hogy tovább bővüljenek az online vásárlások.

Nem minden webshop volt felkészülve a mobilra optimalizált megoldásokkal, ami gyors oldal elhagyást jelent a konkurencia javára. Ebből látszott, hogy a fizikai boltok szinte teljesen megszűntek, akinek nem volt online megoldása, az komoly gondba került (nagyon sokan bezártak végleg).

Egy mobilos felhasználói élményt javíthat a PWA:

  • Push Notification-k és értesítések küldése
  • Gyorsan lehet bejelentkezni a Facebook vagy Google felhasználónkkal
  • Internet nélkül is lehet vásárolni, gyűjtögetni a kosárba
  • Egyedi analitika nyomonkövetése
  • Könnyített mobil fizetési módok

Egy PWA jó belépő lehet akkor, ha nem akarjuk a felhasználót rákényszeríteni egy újabb app telepítésére, viszont a vállalkozásunkat pörgetni akarjuk.

Egy fodrászat, műkörmös időpontfoglalása egyszerűsödik. Mindenki magának intézheti, kényelmesen. A fodrásznak sem kell a hajas kezével, az ügyfelét késlekedve telefonokat bonyolítania. Ehelyett egy naptárat lát, aki szeretne menni, megadhatja a frizura típusát, így ez alapján becsülhető az idő. Elegendő az időpontra érkezni, ami csökkenti a sorbanállást.

A turisztikai app-ok töretlen sikernek örvendenek. A korlátozott utazások miatt egyéb, eddig nem ismert megoldásokat igényelnek a kirándulók.

A webshop-okról már volt szó, előnyük egyértelmű.

Meg kell jelenni az online térben, különben nem létezik az a vállalkozás, amelyik nem így tesz. Az egyszerű, tájékoztató jellegű, céges honlapok ideje lejárt.

A cégek berendezkedve a hibrid munkavégzésre, a munkaerőnek új szolgáltatásokat szeretne biztosítani. A Home Office elterjedésével már jóval túlmutat ez az egyszerű munkaidő regisztrálásán. Egy feladatkezelő könnyedén naprakészen tartja, hogy ki-mikor-mit végez? Céges eseményekről lehet értesíteni a dolgozókat. Visszajelzéseket kérni a felhasználóktól, hogy csak egy pár példát említsek.

A fentiek inkább a mobiltelefonos felhasználását hangsúlyozták, azonban van egy fontos terület még: az asztali számítógépen való használat. Egy ügyviteli rendszer, egy webshop adminisztrációs felület ugyan olyan jól kialakítható vele, mint egy mobil app. Véd a váratlan internet kapcsolat megszakadása ellen, és tovább tudunk dolgozni a programmal.

A PWA hátrányai

Azáltal, hogy nem az alkalmazás áruházakból (Google Play vagy App Store) telepítjük őket a telefonjainkra, elveszítjük annak a mérésnek a lehetőségét, hogy feltárjuk a célközönségünket. Ezek némileg kiküszöbölhetőek más analitikai megoldásokkal. Lényegében nem biztos, hogy az fontos számunkra, hogy mikor telepítették, és kik, hanem hogy valóban hozott-e forgalom növekedést. Minden esetre ez egy olyan tényező, amit SEO szempontjából érdemes figyelembe venni.

Bár egy PWA jobban kihasználja egy mobil képességeit, bizonyos funkciókhoz nem biztos, hogy hozzáférünk. Ilyen lehet a Bluetooth kapcsolat, vagy a GPS adatok. Főleg az Apple az iPhone-okon korlátozza ezek telepítését. Mérlegelni kell, hogy a fenti funkciókra valóban szükségünk van-e, és ha tényleg elengedhetetlen, akkor választani egy natív megoldást, ami ezt megoldja.

Alapvetően a telefonunkon lévő böngésző szab gátat a telefonon elérhető funkcionalitások kihasználásához, de néhány trükkel ezek bizonyos mértékig tágíthatóak. Azonban fontolóra kell venni, hogyha egy speciális képesség kell a telefonunkról, akkor a PWA szűk lesz egy idő után, és a natív irányba kell elmozdulnunk.

Mit kapunk a pénzünkért?

Azok a jó megoldások, amik belátható beruházások mellett a megtérülést szem előtt tartva valósulnak meg. Jó szempont az, ha kicsiben indulunk, és az igények növekedésével tudjuk fejleszteni a terméket.

Ma már van rá lehetőség, hogy a prototípustól (Figma), egy PWA-n keresztül el tudunk jutni egy natív app-ig. Közben nem kell mindig az elejéről kezdeni a fejlesztést. Ha ugyan az a csapat, a későbbiekben onnan tudja folytatni, ahol abbamaradt a fejlesztés, azzal sok idő és pénz takarítható meg.

Megoldások

A Flutter Web-es megoldása kínál olyan PWA megoldást, ami a későbbiekben natív Android vagy iOS applikációkká bővíthető. Ennek tetejében a két platformra egyszerre készül el a program. A Flutter keretrendszerről írtam korábban, ami nagyon jó megoldást kínál egy PWA vagy SPA (Single-Page Application) kiadásához.

Amennyiben nem vagy biztos benne, hogy merre indulj el, keress meg bizalommal, hogy beszéljünk a személyre szabott megoldásodról!

További Flutter-ről szóló cikkjeimet érdemes elolvasni.

A cikk megírásához a www.coredna.com hasonló posztjából szemezgettem.

Low-code: A templatek hódítanak a mobil app fejlesztésben is

forrás: docs.getwidget.dev/gf-avatar/

A 2021-es év a low-code templatek jegyében indul. Egyre több eszköz jelenik meg, ami a digitális termékek előállítói életét megkönnyíti. Azt már megszokhattuk, hogy a Flutter csomagok között biztosan találunk olyat, ami megfelelő lesz számunkra. Itt van egy ingyenes, közösségi megoldás, ami egy egész csomagot ajánl.

A GetWidget oldala szerint egy “free” és “open source” megoldásról van szó. Tehát nyugodtan kipróbálhatjuk. Olyan könyvtárgyűjteményt kapunk, ami készen tartalmazza a beépíthető komponenseket.

Nem mindenki kedveli a készen kapott dolgokat. Ráadásul a Flutter pont arról ismeretes, hogy könnyen alakíthatóak ki új widget-ek benne. Minden esetre egy gyors Mock-up-ra, mint annak idején aminek a Bootstrap is indult, kiválóak.

Nézzük néhányat ezek közül, amik említésre méltóak.

Az Avatar ikonok

Minden valamire való app első számú összetevője. Ennek szerepe az egyediség érzetét kelti, és emiatt a ragaszkodás is jobb az alkalmazáshoz. Látjuk, hogy ez a “miénk”.

GW Avatar változatok a low-code templatek között
GW Avatar változatok

Kártyák (tile)

A Flutter alap beépített ListTile nem kellően testreszabható. Ezt érezték meg a szerzők, és több változatot készítettek belőle, ami low-code templatek formájában elérhetőek. Számos paraméterezhető beállítással.

GW Tiles a low-code templatek között
A title komponensek divatos formában

Sticky header

Van egy komponens rendszer a Flutterben, a Slivert. Ez a komponens működése ezt implementálja, csak jóval egyszerűbb beállítani.

Ha nem ismered ezt a fajta UI elemet, akkor érdemes megnézni működés közben.

Stick header a low-code templatek között
Slivert, egyszerűsítve a Sticky headers-ben

Shimmer effekt

A közösségi app-ok kedvelt vizuális megjelnítése. Töltés közben, amíg nem kapunk tartalmat, helykitöltők jelennek meg a képernyőn, és pár másodpercig nem az üres, fehér kijelzőt kell bámulnunk. Helyette egy pulzáló felületet, és jön a tartalom. Ez tipikusan egy olyan a low-code templatek közül, ami sok munkával lenne csak meg, itt viszont készen kapjuk.

Erről van szó.

On-boarding készen

Az első használatkor meg kell kedveltetni az alkalmazásunkat a felhasználóval. Erre van az on-boarding, vagy magyarul a bevezető folyamata. Az ehhez tartozó komponenst itt találjuk.

Ezek a low-code templatek, amik megragadták a figyelmemet. Remélhetőleg a csomag tovább fejlődik. Eddig ígéretes.

Ha még nem tetted meg, csatlakozz a Flutter (Dart) Hungary LinkedIn csoporthoz, ahol érdekes közösséggel beszélgetünk hasonló témákról.

Low-code témában a UICode Figma plugin-jéről korábban írtam.

Útjára indult a Flutter (Dart) Hungary csoport a LI-en

A Flutter Dart Hungary LI csoport logója

Útjára indult a Flutter (Dart) Hungary csoport a LinkedIn-en.

Csatlakozz, hogy érdekes cikkeket és beszélgetéseket olvashass a modern mobil-, és webalkalmazás fejlesztésekről!

Gondoltunk a CEO-kra, döntéshozókra, designerekre, fejlesztőkre, hogy mindenki megtalálja a számára ideális tartalmat.

Várok mindenkit szeretettel a csoportban. (A jelentkezés kéréshez kötött.)

Ha csak kapcsolódnál velem, akkor azt itt tudod megtenni.

LinkedIn logo

UICode Low-code: egy Figma plugin, ami Flutter kódot generál
Terjedőben a Low-code megoldások

Tetszetős szlogen: mindenki azt végezze, amihez ért!

A UICode egy olyan low-code Figma plugin, ami képes elég jó Flutter kódot generálni. A mai UI tervezők a Figma online eszközt használják, ami kitűnő prototípus építésre, wireframe építésre. Tovább finomítva, egy bemutatható alkalmazást adhatunk a célcsoportunk kezébe. A UICode ezen túlment, és a népszerű Flutter keretrendszerhez készített egy plugin-t, amivel már kódot is tudunk generálni. Az, hogy mire elegendő, megnéztem.

A Flutter 2.0 alig pár hete, március 3-án debütált. Nagyon várta a közösség, hiszen olyan fantasztikus funkciókat kapott, hogy a Web végre stable, azaz éles környezetben is bevethető. Ezen kívül 3 desktop OS-re is megkapta ugyan ezt a státuszt: Linux, Windows, macOS.

Előkészületek

Nem célom most a Figma lehetőségeit taglalni. Ezeket jól ismerjük. Én személy szerint nagyon szeretem, mert gyorsan lehet vele haladni. Kitűnő intuitív funkcionalitásával az ingyenes verzió bőven kielégíti a szükségleteimet. De a havi 12 USD sem drága érte, ha valaki komolyan gondolja.

Elkészítettem az alábbi két egyszerű képernyőt, hogy ezen teszteljem a lehetőségeket. Szándékosan nem vittem túlzásba, hiszen alap dolgokat akartam megnézni a UICode low-code lehetőségeivel.

Figma egyszerű prototípus
Két egyszerű képernyő a Figmában

Mit tud a UICode Low-code plugin-ja?

Telepítsük a UICode low-code plugin-t. Ez innen telepíthető a Figma-ba. Nekem Google Chrome-ban működött jól, Firefox-ban például meg sem szólalt.

Ezután, hogy egy valós alkalmazás érzetét keltsem, beállítottam néhány kattintható gombot, és áttűnést tettem hozzá.

Figma prototípus bedrótozása
Navigáció a képernyők között

Ezután a Figmában a Menü -> Plugins -> UICode pont alatt érhető el, és nyílik meg ez a képernyő. Először rákérdez, hogy a tervünkből melyik képernyőket szeretnénk használni. Ezeket bejelölve néhány automatikus csoportosítást elvégez.

A UI Elements fülön kiválasztva a Frame 1-et megtalálja a szövegeket, és a gombokat. A gombokat az alapján sorolja oda, hogy van-e interakció vele. De ha nem ismerné fel, ez előfordul, akkor az Edit button-nal tudtam hozzáadni másikat.

Az Assets-ben a képeket tudjuk belistáztatni vele. Általában elsőre megtalálja őket.

UICode low-code beállítások
A UICode low-code plugin elvégzi a rendszerezést helyettünk

Ha ezekkel megvagyunk, akkor jöhet a kódgenerálás! A Frames tabon kattintsunk a Download project gombra. Elkészíti az állományokat. Még egyszer a Download gombra kell kattintani, hogy le is töltse. Nem mellesleg becslést ad, hogy hány órát spóroltunk meg ezzel. Mégha nem is pontos, de minden esetre elgondolkoztató. Nem is beszélve a sokkal összetettebb kinézeteknél.

UICode letöltés
Projekt file-ok elkészítése és letöltése

Egy ZIP állományt kapunk, amit csak bepattintunk az Android Studióba, és már indíthatjuk is a build-et. Mivel a Web már elérhető, ezért én inkább a Chrome-ban néztem meg.

A kész munka
A megtervezett kinézetet jól visszaadja

A végeredmény

Átnézve a kódot, felemás az érzetem. Sajnos Stack és Padding elemekkel operál. Ez nem túl szerencsés a különböző képernyőméretekre nézve. Konkrét pixelekben adja meg a szélességeket, távolságokat a képernyő tetejétől.

Jobban megnézve a használt csomagokat, a reszponzív méretezéshez a Flutter ScreenUtil csomagot használja. Ez viszont már egy jobb megoldásnak mondható. A csomag készítői nem mondanak kevesebbet, minthogy elfogadható kinézetet (“resonable layout”) készít a képernyőnkhöz és a betűkhöz. Valóban, amikor átméretezésre kerül a képernyő, vele együtt a kinézet is elfogadható marad. Természetesen akkor, ha az eredeti képernyő arányok közelében maradunk.

A keletkezett kód nem kellően struktúrált. Felismeri a képernyőket, és megfelelően elnevezi. Viszont az egyes komponenseket ömlesztve hozza létre a kódban. (Láttam ennél sokkal rosszabb megoldást az Adobe XD-ben, ahol minden SVG volt. A kód emiatt kellőképpen átláthatatlan.)

A kérdés, hogy ez használható-e kiindulásként? Úgy gondolom, hogy egy próbát megér, bár talán nem ebben a verziójában. Kezdésnek biztató, de a Flutter pont attól nagyon jó, hogy viszonylag komplex felületeket (widget) gyorsan lehet létrehozni benne.

Letölthető példák:

A web-es példát kicsomagolva, egy Python webszerveren könnyedén futtatható böngészőben:

Python 2 — python -m SimpleHTTPServer 8000

Python 3 — python -m http.server 8000

Böngészőben a http://localhost:8000 címen tudjuk megnyitni.

Konklúzió

A UICode egy low-code megoldást hozott, de még nem tökéletes.

Amennyiben sikerül megoldani, hogy:

  • alap architekturális megoldásokat bevezet az elemek rendszerezésére
  • a gombokat, összetett komponenseket (Component) ki tudja renderelni
  • színkódokat kiszervezi
  • a lehető legújabb verziójú csomagokat (package) és keretrendszert használják

ez egy jó kezdeményezés lesz.

A produktivitást nagyban növeli, ha egy designer elkészített művészi megoldását a lehető leghűbben tovább tudja folytatni egy fejlesztő. Nem kell kidobni vagy újrakezdeni a munkát, hanem ahol az egyikük befejezte, a másik onnan folytatja.

Ha további kérdésed lenne erről az eszközről, vagy magáról a mobil app fejlesztésről, a kapcsolati oldalamon vagy LinkedIN-en elérhető vagyok.

Ha tetszett az írásom, ajánlom figyelmedbe a további érdekességeket is:

Lemaradtál? Megérkezett az új verzió: Flutter 2 (2021)

A Flutter erősségei: szép, gyors, productív, nyílt.
forrás: YouTube – Flutter Engage event 2021

Itt a tavasz, megújul a természet, nincsen ez másként a Goolge háza táján sem. A hónapokkal ezelőtt beharangozott Flutter Engage show hatalmas bejelentés hozott. Megérkezett a Flutter 2, ahogyan a Flutter UI kit ökoszisztémáját emlegetik. Nézzük a fontosabb bejelentéseket.

A keynote-ot Tim Sneath (Director, Flutter & Dart, Google) prezentálta, ezekből emeltem ki néhány érdekesebb részt. Írásom a technológia és üzletfejlesztés között kalandozik.

Web élesítve

A mai bejelentéssel egyidőben a honlapjukon is elérhetőek az SDK Release verziói, ahol feltűnik a Flutter 2 verziószám. A főverzióban való ugrás mindig nagy előrelépést sejtet. A Flutter 2 esetén sincsen másképp.

4 platformon lépett Beta státuszból Stable csatornára a keretrendszer: Windows, Linux, macOS, Web. Ezzel elérte, hogy 6 platformot támogat egy kódbázissal (95%-ban módosítás nélkül).

Ezek közül számomra a Web, ami a legizgalmasabb, lévén mobil app fejlesztő vagyok. A webhez eddig akkor nyúltam, ha muszáj volt. Ezek után viszont azt jelenti, hogy szép, gyors és hatékony kódot tudok írni. Ugyan a Web Beta változatát már korábban használtam. Éles termékekben meglepően jó tapasztalattal, de az, hogy a stabil pecsétet megkapta, mindenképpen fontos lépés.

Természetesen nem mindenhova való, de ami alkalmazás-központú megoldás, oda jó választás. Úgy, mint PWA (Progressive Web App), SPA (single page app) esetében.

Érdekesség, hogy az Ubuntu Linux-on a Snapcraft marketen könnyedén kiadhatóak és telepíthetőek az alkalmazásaink.

Hirdetések az alkalmazásban

Az alkalmazásokban mindig jelen voltak a hirdetések. Erre kínál megoldása a “Google Mobile Ads SDK for Flutter” plugin. Észrevétlenül épül be a UI témájába. Bárhova elhelyezhető hirdetési bannerek. A riportban a zenei kiadó cég 350%-os impression és 43%-os CTR növekedésről számolt be. Bár extrémnek tűnik, érdemes próbálkozni vele.

(Null)Safety First!

“Első a biztonság!” mondhatnánk. A modern nyelvekben elvárás, hogy a stabil üzleti logikát védjük a hibáktól. Ismeretes, hogy minél később veszünk észre egy bugot, annál magasabbra rúgnak a javítás költségei.

Bob Nystrom mutatta be a Dart nyelvben bevezetett nullsafety, azaz null-vizsgálatot. Ezzel a nyelvi szerkezettel már a kód írásakor a fordító ellenőrzi, hogy nem lesz-e végzetes hiba futás során. Tehát nem futás idejű, hanem már fordítási időben tudni fogjuk, hogy helyes-e a kódunk.

Ez persze egy kis része a kódhelyességnek, azonban nem véletlenül erre helyezi sok nyelv a hangsúlyt. Ez egy olyan tipikus hiba, amit nehéz megtalálni, azonban jó tervezéssel un. ellenőrző pontokat tehetünk ezáltal a kódunkba. Ezzel is jobban kifejezve a szándékunkat, hogy a munkatársunk is értesüljön róla. Hiszen térben, és időben kell szinkronban hozni a termék életciklusát, nagy létszámú csapattal.

Emellett a beszédéből kiderült, hogy a sok null-ellenőrzés 2-3x annyi munkát ad a CPU-nak, aminek költségvonzata van. Ezzel a nyelvi megoldással ezen faraghatunk el.

Dupla képernyős mód

Elnézve a Flutter stratégiáját, minden létező képernyőt meg akar hódítani. A Microsofttal együtt működve a Surface Duo Android operációs rendszeren fut. Erre elkészült a Flutter 2 kiadásban a támogatás, hogy az összehajtható képernyőkhöz változatos módon lehessen a tartalmat kiszolgálni. Erre többféle UI patternt dolgoztak ki, amik a szükséges módon szolgálják ki a napi feladatainkat.

A Microsoft Surface Duo Android támogatással érkezik
forrás: www.microsoft.com Surface Duo

Aki ki szeretné próbálni, jó hír, hogy elérhető a Surface Duo emulátor formájában.

Hatékonyság a fejlesztő kezében

Fejlesztés közben nagyban felgyorsítja a munkát, hogy a másodperc törtrésze alatt tudjuk a kinézet módosítását ellenőrizni a kijelzőn (Stateful hot reload). Ez nem újdonság egy webfejlesztőnek, viszont elérhető Flutterben is. Ez akár 10-15%-kal is meggyorsíthatja a napi 8 órás munkavégzést. Nem beszélve a várakozás miatti frusztráció csökkenéséről.

Kenzie Schmoll négy területet mutatott be, ami a fejlesztőkörnyezet frissítését hozta magával. Megjegyzem, a Flutter csapat az elejétől fogva nagy hangsúlyt fektetett a megfelelő eszközök elérhetőségére.

  • flutter fix: automatikus kód karbantartó
  • null-safety migration: automatikus nullsafety ellernőzés és javítás a biztonságért
  • Flutter Inspector: a UI-on keletkezett hibák feltárására és javítására
  • app méret ellenőrzés, hogy optimális legyen a felhasználói élmény

Az esemény videói visszanézhetőek a YouTube csatornáján.

Az elmúlt 2 évben, amióta a látókörömbe került a Flutter, számos újdonsággal szolgált hónapról hónapra. Ez a jövő mobil és web platformja, talán nem túlzó ezt kijelenteni.

Korábbi írásaimért nézz szét a blog bejegyzéseimben.

Az új élmény: Adaptive eXperience (AX) (2021)
Új év, új kihívások 2021-re

Az elmúlt 2020-as év számos új alkalmazást adott nekünk, amiket meg kellett tanulnunk. Voltak olyanok, amik a semmiből tűntek fel. Mások letűntek, és vesztesként kikoptak a napi használatból. A számos új felület megtanított alkalmazkodni, naponta újat tanulni. Belemerülni a digitális világba. Olyanoknak is, akik eddig viszolyogtak az okos eszközöktől. Vajon az Adaptive experience segíthet ezen?

Hangzatos neveket hozott az elmúlt 10-15 év, amikor sorra jelentek meg az okos képernyők. Olyan felületeket kellett készíteniük a designereknek, amik intuitívak. Ezen a téren sokat köszönhetünk az Apple-nek, ahol mindig is fontos volt a jó kezelhetőség. Mára etalonnak számítanak az iránymutatásaik. Nyugodt szívvel támaszkodhatunk a vizuális megjelenítési rendszereikre. A színek, formák, mozgások kognitív hatásaival sokat kísérleteztek, hogy tökéletes élményt nyújtsanak.

Megismertünk foglamakat UX (User Experience), CX (Customer Experience), ami mind azt szolgálta, hogy a felhasználó minél jobban része legyen egy termékenek, és a termék szolgálja ki az igényeit. Minél egyszerűbb módon. Ez jóval korábbra nyúlik vissza, a II. világháború időszakára.

Vannevar Bush az 1930-es években a “memex” ötletével állt elő, ami tuljadnoképpen egy személyes könyvtár (tároló) víziója volt. 1945-ös publikációja utána azonban hamar felismerte, hogy az emberi elme nehezen fog megbírkózni a rendelkezésre álló elképesztő méretű adatmennyiséggel. Élete során azon dolgozott, hogy az ember-gép minél természetesebb harmóniáját, és együttműködését megalkossa. Egy ilyen következmény volt az egér.

Mi az Adaptive experience?

A termékek, felületek tervezői sok ezer munkaórát töltenek el vele, hogy felhasználóbaráttá, szerethetővé tegyék azt a majdani felhasználóknak. A szoftverek előnyben vannak a fizikai társaikhoz képest, hiszen aránylag könnyen módosíthatóak. Fizikai terméknél jó példa a személyre szabhatóságnak, amikor pl. az autó színét mi válaszhatjuk ki. A kárpitozást. Milyen extrák legyenek az autónkban. Úgy érezhetjük, hogy van beleszólásunk. Valamelyest egyedivé tehetjük. Ezért még fizetünk is többletet. Tehát igény van a testreszabhatóságra.

A szoftverek terén ez valamelyes könnyebb. A Google keresőnk megtanulja a témáinkat, és azokat helyezi előbbre a találati listában. Olyan cikkeket kapunk, ami az érdeklődési körünknek megfelel. A chat alkalmazásunk háttérszínét beállíthatjuk.
Ezek alig észrevehető apróságok, de mégis megszemélyesítik az igényeinket.

Az kevésbé látható trend, hogy egy alkalmazás felületét szabhatnám a magam igényeire. Annyi felülettel kell már kapcsolatba lépnünk. Csak beszélgetésre van 5-6 db, amit használok magam is. Naptárak. Képszerkesztők, stb.


Eljön-e az idő, hogy az engem érdeklő funkciókat tegyem fel egy felületre, a többit pedig rejtsem el?
Az alkalmazások között váltva ugyan ott találjam meg a kedvenc funkciómat, amit minden alkalmazásban ugyan onnan érek el?
Át tudom-e mozgatni az ikonokat? Az ismerőseim listáját magam rendezhetem, hogy mit lássak?


Ezek ugyan ellent mondanak a tervezők terveinek, hogy egyedi felületet készítsenek. Mégis, felismerhető legyen a funkció, egyértelmű legyen.

A funkció szempontú megközelítés

Tovább boncolgatva az Adaptive experience kérdését, az ilyen újításnak a célját kell megvizsgálni. Mit ad ez hozzá az élményhez? Egyszerűsít? Könnyít bármit is? A Virtual Reality vagy Augmented Reality kifejezetten egy ilyen terület.

Van-e igény olyan eszközre, ahova be van kötve az összes pl. chat alkalmazás. Én nem feltétlenül azt akarom megmondani, hogy melyikkel érem el az ismerősömet, csak hogy küldjek neki üzenetet. Lehet-e valamilyen szempont alapján a legrelevánsabb csatornán elküldeni?

Vagy pl. a képeim szerkesztése. Minden app egy kicsit egyedi, mindegyik másban erős. Tudom-e úgy használni ezeket a funkciókat, hogy összesíti egy felületen a beállításokat az összes telepített app közül? Hogy melyik tud vicces szemüveget rátenni, vagy a hátterét megváltoztatni, nem lényeges. Valamelyik végezze el nekem.

Az, hogy egy ilyen gondolkozás elindul-e, nem tudom. A 2021-es év viszont további kihívásokat fog tartogatni számunkra, hogy a virtuális világban elmerülve hogyan fogunk tudni könnyedén eligazodni. Nem a húszonéves korosztályról van csak szó. Gondolni kell a korosztályok skálájának másik végére is. Ne elidegenedés, hanem egyre jobb bevonásuk legyen a kitűzött cél. Létezik erre W3C ajánlás, amit érdemes lesz 2021 során egyre szorosabban követni és beépíteni, hiszen új felhasználókat nyerhetünk meg általa.

Harmony OS: mi lesz ezután az alkalmazásainkkal?
Felértékelődik a cross-platformos fejlesztői tudás

A Huawei a Harmony OS bétaverziójával kezdi meg hosszú távú átmenetét az Androidról egyes okostelefonokhoz és táblagépekhez
forrás: xda-developers.com

A Huawei és az USA hegemóniájának egyik mellékterméke, hogy a Huawei már egy éve az új Harmony OS operációs rendszer kifejlesztésén munkálkodik. Ez a legújabb mobilokon már béta fejlesztői fázisba érkezett. A kérdés azonban adódik a fejlesztő cégeknek, hogy használhatjuk a már megszerzett keresztplatformos ismereteinket az új Hongmeng OS-en is?

Mi az a Harmony OS?

2019 augusztusában jött a hír, hogy a Huawei saját operációs rendszert fejleszt Harmony OS néven (kezdetben a Hongmeng OS nevet kapta, kb. “őskáosz”). Ezt először IoT (Internet of Things) eszközökre szánta hivatalosan. A 2.0-ás verzió pedig egy évre rá, 2020 szeptemberében hivatalosan is megjelent (watch, smart TV, head unit mellett) okostelefonokra. Az első hivatalos mobilok 2021-ben várhatóak szériában.

Lényegében hosszútávon az körvonalazódik, hogy az Android rendszert leváltja. Ami sok kérdést vet fel a szorosan összefonódó ökoszisztéma miatt. Bár a versenyképes minőség csak idő kérdése.

Melyik modellek kaphatják meg először?

Az xda-developers.com alapján a Harmony OS 2.0 developer béta verzióját ezek a készülékek kaphatják meg:

  • Huawei P40 (ANA-AN00)
  • Huawei P40 Pro (ELS-AN00)
  • Huawei Mate 30 (TAS-AL00)
  • Huawei Mate 30 5G (TAS-AN00)
  • Huawei Mate 30 Pro (LIO-AL00)
  • Huawei Mate 30 Pro 5G (LIO-AN00)
  • Huawei MatePad Pro (MRX-AL19)
  • Huawei MatePad Pro 5G (MRX-W09)
  • Huawei MatePad Pro Wi-Fi (MRX-AN19)

Ez egy frissítéssel kérkezhet meg az arra elszánt fejlesztőkhöz.

A fejlesztők élete

A cikk kitér arra is, hogy a kódot Java nyelven, és a UI képernyőket XML-ben lehet megírni. A Huawei ezzel azt reméli, hogy a fejlesztők körében népszerű lesz, és könnyűvé teszi az áttérést. Erre szükség is van, hogy a népszerű alkalmazások minél előbb átkerüljenek a saját Huawei App Galery-be. Az App Galery egy építőkockája a HMS (Huawei Mobile Services) ökoszisztémának. Ez a GMS (Google Mobile Services) huawei-es alternatívája.

2020 márciusában 50 000 alkalmazás volt elérhető, szemben a Google Play Store 3 milllió app-jával. Van hova fejlődni.

Lesz-e támogatás rá Flutter-ben?

A kérdés a Flutter hivatalos hibalistáján a #38437-es számot kapta, amiben aktív közösségi érdeklődés mutatkozik, hogy vajon lesz-e támogatás?

A Flutter hivatalos package repository-ját leszűrve feltűnik, hogy 2020 júniusától kezdődően számos csomag portolva van Flutterre, Android-os támogatással. Érthető, hogy az Androidra lőnek elsőként a magas penetrációja miatt.

A csomagok közül ott vannak az alapok: GPS, Machine Learning (ML), Augmented Reality (AR), Push Notification, Analytics, Maps, Ads.

Érdekesség, hogy van egy Huawei Contact Shield Kit Flutter Plugin, ami a mostani COVID-19 kapcsán jöhetett létre. Kifejezetten a kontaktkövetésre (elkerülésre) lett kihegyezve. Egyébként BLE (BlueTooth Low-Energy) technológiát használ.

A Flutter Embedder a Flutter legalsóbb szintű illesztő része, ami összeköti a keretrendszert az aktuális (mobil, böngésző) architektúrával. Ez mindig specifikusan van megírva, natívan, amit az adott eszköz megkíván. Emiatt mindig csak ezt a kis részt kell megírni, és a támogatás adott.

Ez nem tűnik korlátnak, így a támogatás biztosított.

React Native, a másik nagy szereplő

A keresztplatformos fejlesztés tárgyalásakor nem maradhat ki az RN sem. Az RN 0.60 verzió könnyű integrációt ígér a HMS-sel, ami a fő szolgáltatásokat nyújtja a mobilnak. Enélkül bajosan lehet üzemeltetni egy alkalmazást. A hivatalos Huawei oldalakon biztosítanak felőle, hogy az integráció könnyen megy.

A verseny jót szokott tenni a piacnak. Javulnak a szolgáltatások színvonala, nem ülhet bele a sikerbe egyik fél sem. Folyamatos az ádáz küzdelem a jobbnál jobb funkciókért. A verseny az árakat is lejjebb tolhatja, ami végül a fogyasztóknál csapódhat le nyereségként.

A keresztplatformra fejlesztő cégek komoly költségeket takaríthatnak meg azzal, ha egyszerre több platformra is képesek rövidebb idő alatt eljutni. Az, hogy ennek mi lesz a jövője, még sokakban kérdőjeles.

A technológiai választáskor figyelembe kell venni, hogy milyen meglévő csapat áll rendelkezésre. Webes, vagy inkább mobilos ismeret van-e több, és a technológia megtanulását eszerint beütemezni.

Egy FrontEnd-es webfejlesztő inkább a ReactNative mellett teszi le a szavazatát, míg egy natív mobilos szívesen tanul meg “flutterül”, Dart nyelven.

Flutter alkalmazásokat már Windows 10-re is kiadhatunk
A Google új Fotókeresővel mutatja be Flutter alkalmazását a Windows 10 számára

A Microsoft Windows készen áll a Flutterre

A Google által 2019-ben gőzerővel elstartolt Flutter keretrendszer szépen lassan beváltja az ígéreteit. A saját Roadmap-jükön folyamatosan napra készen tartják a rajongótáborukat. Úgy néz ki, az év végére összejött még egy platform: a Windows 10.

Ahogy arról a windowslatest.com cikke hírt adott, 2020 novemberében a Microsoft bejelentette, hogy elkészült az első, Flutter keretrendszerben megírt Windows alkalmazásuk.

Akárcsak a Microsoft, a Google is aktívan dolgozik a keresztplatformos UI megoldásain. A Flutter egy nyílt forráskódú (open-source) UI keretrendszer mobilra, webre és desktopra. A Google Flutterben íródott app-jai már elérhetőek webre és mobilra, és a Windows 10 támogatás megvalósításán dolgozik nagy erőkkel.

Voltak próbálkozások

Pár hónappal ezelőtt a Google bejelentette, hogy az UWP támogatás sínen van, és ezt bizonyítandó (proof-of-concept (PoC) ) egy alkalmazást mutatott be, labor körülmények között.

A Google keretrendszere lehetővé teszi, hogy a fejlesztők egy kódbázissal hozzanak létre alkalmazásokat Androidra, iOS-re, és most már Windows 10-re. A Flutter csapata a Google-nél hisz a kereszt-platformban (cross-platform) és ez a víziójuk hasonít a Microsoft Universal Windows Platformhoz (UWP) (Általános Windows Platform).

Az első fecske

Az UWP támogatás azt jelenti a fejlesztők számára, hogy elősegítheti, hogy a mobil alkalmazásaikat Windows 10-re áthozzák. 2020. november 25-én a Google kiadott egy UWP Flutter alkalmazást a Windows Store-ban, ami az Unsplash API-t használja, és új fotó keresési élményt ad. Az Unsplash API egy modern JSON-alapú adatformát használ a tartalmak megjelenítésére, és a végeredmény meglepően zökkenőmentes.

Google Flutter desktop Windows Store alkalmazásként
Fotó: https://www.windowslatest.com

Az alkalmazás a “Flutter Desktop Photo Search” (Flutter Asztali Fotó Kereső) nevet kapta, és ez egy újabb bizonyíték (PoC) egyelőre (nem ajánlott a használata). A Google egyelőre az asztali PC-ket célozta meg vele, de az alkalmazás jól vizsgázott más mobil eszközökön is, úgymint a Surface Go értőképernyős, és nélküli változata.

Érdemes megjegyezni, hogy a demo app a netről halássza a képeket, mégis natív élményt biztosít adaptálódó felhasználói felülettel, ami egészen elképesztő.

Mit hoz a jövő?

A Google Flutter-t használva a fejlesztők hamarosan háttérkép és fotónézegető alkalmazásokat hozhatnak létre, amelyek minden platformon működnek, bele értve a Windows 10-et.

Egyelőre nem világos, hogy a Google mikor tervezi a saját, széles tömegeknek szánt alkalmazásainak megjelentetését a Windows Store-ban, de számíthatunk rá, hogy jövőre harmadik féltől származó alkalmazások fognak megjelenni, amik Flutterben íródtak.

A fejlesztők máris elkezdhetnek alkalmásokat írni Flutterben, amik akár mobilra, akár desktopra elérhetőek lesznek. A Google állítása szerint már most is 100 000 alkalmazás íródott Flutterben, amik elérhetőek a Google Play Store-ban.

Felértékelődik a fejlesztői tudás

Mellé téve a másik két asztali platformot, a Linux-ot és a MacOS-t, egy korábban csupán mobil fejlesztésekben gondolkozó fejlesztő lehetőségei megtöbbszöröződnek. Ehhez természetesen az is szükségeltetik, hogy ez ne csak egy fellángolás legyen a Google oldaláról, és kaszálja el a platformot. A körülötte kialakult hype miatt ez nem várható, legalábbis nem egyhamar.

A Flutter szekere most felfelé halad, megállíthatatlanul.

Borítókép: Johny vino / Unsplash

UI/UX: a képernyők kidolgozása 5 hasznos tippel
A vizuális hierarchia eszköztára

a vizuális hierarchia segít a keresésben

A vizuális hierarchia segít a digitális felületek kialakításánál. Gondosan kell eljárni, hogy az megfelelő információk elérhetőek legyenek, ugyan akkor ne árassza el feleslegesen a felhasználót. Mindössze néhány másodperc alatt dönt a fogyasztó, hogy megérti-e, mi van az oldalon? Neki szól-e? Meg fogja-e találni rajta, amit keres? Egy kis odafigyeléssel sokat tudunk segíteni ezen.

A design4users cikke alapján készítettem el az írásomat.

A vizuális hierarchia

Azért, hogy a felhasználónak a tartalom egyértelmű legyen, a designerek a jól ismert vizuális hierarchia technikát alkalmazzák. Ez az egyik alapvető technika, amit a tervezés folyamán alkalmaznak. Ez alapvetően a Gestalt pszichológiai elméleten alapul, ami megvizsgálja a felhasználókat, hogy milyen benyomást kelt az egyes elemek egymáshoz való viszonya. Azt is megmutatja, hogy az emberek hogyan egységesítik az egyes vizuális elemeket csoportokba.

A vizuális hierarchia törekszik rá, hogy egy termékben a tartalmakat olyan formában mutassa a felhasználóknak, hogy abból kikövetkeztethető legyen a fontossági szintjük. Úgy szervezi a UI összetevőket, hogy az agyunk különbséget tudjon tenni az elemek között a fizikai különbözőségeik alapján, úgymint méret, szín, kontraszt, stílus, stb.

Egy UI elem vizuális megjelenése nagyban befolyásolja a felhasználói élményt egy termékben. Ha az összetevők egy nagy katyvaszra hasonlítanak, akkor az emberek nem tudnak navigálni a terméken belül, vagy megfelelően kapcsolatba kerülni vele. Továbbá, a strukturálatlan tartalom nehezen olvasható, ezért nehéz végigfutni, ezért külön erőfeszítésbe telik, hogy a keresett adatot megtalálják. Egy gyenge UX (User Experience) alacsony elégedettséghez vezet, aminek a következménye, hogy messze elkerülik.

Tipográfiai hierarchia

A UI tervezésnek meghatározó része a tartalmi leírás. Ezért a vizuális hierarchia gyakran a tipográfia függvénye. A szakértők elhatározták, hogy hangsúlyozzák a tartalom megjelenésének fontosságát, ezért létrehoztak egy külön rendszert rá: tipográfiai hierarchia.

A keretrendszer célja, hogy a lehető legjobban rendszerezze a tartalmat a felhasználó számára. A tervezők különböző módon használják és kombinálják a betűket, hogy ellentétbe hozzák a legjelentősebb és kiemelkedő tartalmi elemeket, amiket először észre kell venni azokkal, amik csak másodlagos hangsúllyal bírnak. A betűk méretét, színét, betű-családját, igazítását módosítják.

A tipográfiai hierarchia különböző tartalmi elemeket különböztet meg: fejlécek, alcímek, szövegtörzs, akció gombok (CTA = Call-to-Action), képaláírások, stb. A hatékony hierarchia kialakításáért ezeket az elemeket különböző szintekre kell bontani. Nézzük, mik ezek!

Elsődleges szint. Ide tartozik a legnagyobb típus, mint a fejléc. Az Elsődleges szint célja, hogy az alap információt megadja a felhasználónak és felhívja az emberek figyelmét a termékre.

Másodlagos szint. Ez azok a tartalmi elemek, amiket könnyedén kell tudnunk átfésülni. Ezek általában alcímek, képaláírások, ami segít könnyen értelmezni a tartalmat.

Harmadlagos szint. A szövegtörzs és néhány kiegészítő adat tartozik a harmadlagos szint kategóriájába. A designerek gyakran alkalmaznak viszonylag kis betűtípust, ami még megfelelően olvashatónak kell maradnia.

Mivel a tartalom a fő információforrás a UI-on, a designereknek fokozatosan kell elénk tárni az adatokat. Ha a fenti szegmentálást alkalmazzák, akkor a felhasználók könnyedén eljutnak az egyik részről a másikra, és az információt a megfelelő sorrendben értelmezik.

Fontos kiemelni, hogy a mobil készülékek kis képernyője nem teszi lehetővé mind a három szint alkalmazását. Ezért a tervezéskor a második szintet ki kell hagyni (alcímek), hogy a mobil UI kinézete átlátható maradjon.

A vizuális hierarchia eszköztára

Amikor a tervező kiválasztotta a tartalmi elemeket, itt az ideje, hogy a sorrendet megállapítsa. Vegyük sorra, hogy mi van a designer segítségére, hogy beállítsa a hatást.

Méret

Az egyik legerősebb eszköz a vizuális elem átalakítására a mérete. Ez az emberi elmében gyökerezik, hogy a nagyobb dolgok valahogyan fontosabbak a kisebbeknél. Ezért van, hogy a felhasználók figyelme automatikusan először a nagy szavakra vagy képekre vetődik.

Szín

A színnek nagy hatása van az érzékelésben, ezért kiváló a vizuális hierarchia kialakításánál.

A színeknek maguknak is megvannak a saját sorrendje, amit a felhasználó elméjére gyakorol hatása határoz meg. Vannak feltűnő színek, mint a vörös, narancs, fekete, amelyek könnyen vonzzák a tekintetet. A másik véglet a gyenge, vagy lágy színek, mint a fehér és krém színek, amik inkább háttérként működnek jobban.

Kontraszt

A sorrendiség magán az ellentéten alapul. Egy elem kontrasztban áll egy másikkal, és így látja a felhasználó a különbségeket közöttük. Az ellentételezés létrehozható a képi különbözőségekkel: méret, szín, stílus. Mégis, ajánlott, hogy az ellentételezést tartsuk egyensúlyban, hogy az egyik elem ne nyomja el teljesen a másikat.

Üres terek

Nagyon sok képi elem jelenhet meg az interfészen, és hogy mindegyik észrevehető legyen a szemnek, ezért szükség van privát térre. Az üres terek (negative space), vagy holt terek, az egyes elemek közti teret jeleni az összeállításban. Néhány tervező nem tekinti a kompozíció részének, de a szakértők előszeretettel alkalmazzák a megfelelő összhang kialakításáért.

Közelség

Feljebb már említettem, a vizuális hierarchia a Gestalt alapelveken nyugszik, ezért a tervezők különös figyelmet fordítanak az egyes elemek a közelségére (proximity). Ahogy az emberek hajlamosak a vizuális elemeket csoportokba egyesíteni, ezért a UI elemeket úgy kell elhelyezni, hogy a felhasználók kategorizálni tudják őket. Ha néhány elem egy bizonyos távolságban vannak, akkor ezt a felhasználók csoportoknak érzékeli. A designerek a közelséget egy eszközként tudják használni, ami segít a tartalmat kisebb kategóriákra bontani.

Ismétlődés

Ha az emberek úgy vélik, hogy néhány elem hasonlít egymásra, akkor automatikusan egy csoportként egyesítik őket. Ez az, ahogy az ismétlődés működik. A designerek megismételnek bizonyos mintázatokat a különböző objektumokon azzal a céllal, hogy a felhasználók egyesítsék őket.

Láthatjuk, hogy a vizuális hierarchia az alapja egy hatékony információs architektúrának. Amikor a UI elemek strukturáltak és szervezettek, az emberek élvezettel használnak egy terméket, és ez hatékonyabb lesz a problémájuk megoldásában.

Borítókép: carlevarino