Aloitetaan suunnitelmalla

Jotta hyvästä ideasta päästään pidemmälle, tarvitaan suunnitelma. Sovellusprojektit alkavat yleensä sillä, että asiakkaan kanssa mietitään mitä tehdään. Minkä laajuinen projekti on ja ihan millaisia näkymiä siihen halutaan? Apuun voivat tulla käyttöliittymäsuunnittelijat ja devaajat. Kun tämä alkaa olla selvää, devaajat eli ohjelman koodaajat määrittelevät käytettävät teknologiat ja alustavaa aikataulua eri osioiden valmistumiselle. Usein projektin edetessä se laajenee, kun mukaan halutaankin lisää toimintoja. Tähän kannattaa varautua. Samalla tavoin projektin edetessä sen arkkitehtuurin muoto ja lopullinen rakenne muokkaantuvat.

Hetkinen, mitä tämä arkkitehtuuri oikein meinaa, eikös me puhuttu jostain mobiilisovelluksesta? Ohjelmistoarkkitehtuuri käsittää projektin rakenteen eli miten koodi on kansioihin ja tiedostoihin järjestetty. Mitkä asiat on hyvä pitää erillään, jotta ne on helpompi käsittää ja ylläpitää? Missä järjestyksessä asiat toimivat? Mistä tietoa haetaan ja missä muodossa se saadaan? “Miten kaikki palikat toimivat yhdessä,” kuvasi kollegani Eero. Arkkitehtuuri tähtää siihen, että ohjelman koodi on selkeää, helposti hallittavaa ja toiminnaltaan varmaa. Tätä tukevat myös hyvät ohjelmointikäytänteet.
Sovellus, jonka tämän näiden tutoriaalien avulla teemme, on melko yksinkertainen. Suunnittelin sille kaksi näkymää, joissa sovelluksen toiminta saadaan laitettua päälle ja pois päältä. Jos projektissa olisi asiakas, työstäisimme näitä näkymä-suunnitelmia kunnes kaikki sovelluksen tärkeimmät toiminnot löytyisivät niistä fiksusti.

Sen jälkeen onkin päädytty käyttämään seuraavia teknisiä ratkaisuja:
- React Native JavaScript -kirjasto
- Redux-Saga -kirjasto
- Vainun API eli rajapinta
- Sovellus tehdään Android-puhelimille
Mitä nämä edellämainitut tarkalleen ovat ja miten niihin on päädytty, sen käymme läpi seuraavissa tutoriaaleissa. Niissä päästään jo kosketuksiin koodin kanssa.

