Blogi

8 ihanaa teknologiaa joista et välttämättä ole kuullut

walther Teknologia

Alamme kehittyy valtavaa vauhtia ja maailma on teknologiaa pullollaan. Moni uusi tekki helpottaa elämää ja saa ihmisiä hymyilemään. Niin kahvipöytäkeskustelut kuin sosiaaliset mediatkin ovat täynnä rakkautta ja ylistystä uusia keksintöjä kohtaan – mutta on silti vallan mahdollista, että missaa osan hienouksista.

xkcd: Ten Thousand. CC BY-NC 2.5 Randall Munroe / xkcd.com

Tämä blogipostaus listaa kourallisen asioita, joita meillä pidetään ihanina. Osa näistä on maailmaa mullistavia huikeuksia, osa maanläheisiä pikkujuttuja. Osa on vanhoja tuttavuuksia, osa tuoreempaa kuin lähikaupan pulla ja innostus perustuu vasta tuoksuun. Yhteistä kaikille näille on hymyilyn kasvattaminen! Täysin satunnaisessa järjestyksessä, aloitetaan:

Prettier & Format on Save

Ei enää ikinä keskustelua tabeista ja välilyönneistä eikä pilkun viilauksesta listojen lopussa. Prettier -työkalun kehittäjät ovat päättäneet kaiken sinun puolestasi, ja se on aina oikeassa. (Okei, tarvittaessa asetuksia voi projektikohtaisesti myös muokata jos on ihan pakko – mutta luonnollisesti tämä ei ole työkalun pointti).  Valtavimman tajunnanräjäyttävän hyödyn tästä saa listan seuraavan asian kanssa yhdistettynä: koodin automaattinen formatointi jokaisella tallennuksella. Esimerkiksi Visual Studio Code -editorin käyttäjille tämän saa päälle helposti asetuksella “editor.formatOnSave”: true . Tähän kaveriksi “prettier.eslintIntegration”: true ja ollaan hyvin lähellä täydellisyyttä.  Automaattinen formatointi mahdollistaa aivan uudenlaista keskittymistä koodatessa: enää ei tarvitse harhautua sivuraiteille miettiessä pikkudetaljeja kirjoittaessa rivejä. Voi keskittyä itse sisältöön ja lihasmuistista tulevalla tallennusnäppäinyhdistelmällä kaikki kaunistuu.

GraphQL

Graafipohjainen kyselykieli. Tämä rajapintojen “paras asia sitten viipaloidun leivän” mahdollistaa äärimmäisen joustavan tavan kysellä dataa rajapinnasta ilman, että kaikelle täytyy tehdä erillistä endpointia tai tehdä useampia kyselyitä.  Kirjoittamalla parit resolverit backendissä saat kuvattua koko tietorakenteesi riippuvuudet graafina, josta voi kaivaa tietoa millaisilla riippuvuuksilla haluat. Voit hakea oman käyttäjäsi kaverin kissan kaimat yhdellä kyselyllä, tai vaikkapa muuttaa kaikki toimistosi työntekijöiden lemmikit kissoista koiriksi pikaisella mutaatiolla.

React

Jos ei vielä ole tullut muualla vastaan, niin nyt on mitä oivallisin aika tutustua modernin web-palvelukehityksen parhaaseen työkaluun: React. React on huomattavasti paljon enemmän kuin pelkkä kirjasto, ja toisaalta huomattavasti vähemmän kuin framework. Alunperin Facebookin kehittämä ja nykyään täysin avoimen lähdekoodin kirjasto, jota käytetään valtavasti ympäri webiä. Komponenttipohjainen ajattelu tekee codebasesta mukavan modulaarista ja helpottaa pitämään logiikan siistinä.  Upea paikallinen yliopistomme on antelias ja tarjoaa avointa verkkokurssia modernista full-stack kehityksestä – käy oppimassa perusteet ja tervetuloa alalle töihin! (Ja joo, oikeastaan React ei ole enää “uusi mullistava”, vaan täytti juuri viisi vuotta. Silti se on edelleen hieno ja pohjustaa hyvin seuraavia listan asioita!)

create-react-app

Modernin JavaScript-projektin aloittaminen ei ole koskaan ollut niin helppoa kuin vuonna 2018. create-react-app luo helposti lähestyttävän pohjan, joka on täysin valmis kaikkeen pienestä MVP:stä rankkaan tuotantokäyttöön. Malli on hyvin pitkälti avaimet käteen – yksi avain jolla pääsee suoraan tekemisen vauhtiin, ja varalta myös toinen avain jolla halutessaan pääsee pellin alle (eject).

styled-components

Nykyään React-applikaatioissakin voi käyttää rehellisen näköistä CSS:ää! Ei tarvitse enää kikkailla camelCasetuilla javascriptin näköisillä tyyleillä. Toisaalta myöskään ei tarvitse murehtia natiivin CSS:n typeristä periytymisistä. styled-components mahdollistaa CSS:n liimaamisen suoraan komponenttitasolla – siistiä!

React Native

Mobiilia voi tehdä myös webbiteknologioilla, ja react-native on niistä modernein tapa. Yksi repositoriollinen React-komponenttia ja sovelluslogiikkaa ja helpot buildit sekä Androidille että iOS:ille. Kätevää!  Hyvin nopean kokeilun voi saada aikaan esim. Expo :lla , jossa qr-lukijasovelluksen saa tehtyä nollasta puhelimeen asti viidessä minuutissa ja scrollviewin datan näyttämiseen ruudulla oikein menee vain kaksi tuntia 😉

Progressive Web Apps

PWA :t on uudestaan in, kun iOS:in Safari hyppäsi mukaan kelkkaan ja toi tuen omppumaailmaan. Mikäli React Native tuntuu liian järeältä vasaralta – pitäähän siinä kuitenkin buildata erikseen applikaatiobinäärit ja julkaista storeen – on PWA sopiva ratkaisu juuri sinulle. Käytännössä mikä tahansa webbisivu jonka koodaat voi muuntua PWA:ksi pienin viilauksin. Näiden jälkeen sivustosi voi tarjoutua asentumaan suoraan käyttäjän puhelimen home screenille – ihan kuin oikea applikaatio!
Huom: PWA:t on vielä vähän beta-kamaa. Proceed with caution and excitement.

ReasonML

Pidän salaa Haskellista. Vahva, staattinen, ja erityisesti inferattu tyypitys on cool! ReasonML vaikuttaa hauskan pörröiseltä monadionanointikieleltä joka toimii triviaalisti myös selaimessa. OCaml-perheeseen kuuluva Reason kääntyy niin natiivikoodiksi kuin JavaScriptiksikin, ja tukee suoraan npm/yarn -paketteja. Reactille löytyy bindingit, tosin niitä voisi ehkä hieman kehittää vähemmän kömpelöiksi.

Kerro lisää!

Mitkä teknologiat saavat sinut hymyilemään? Jaa toki tietoutta – myös niistä asioista, joita pidät jo itsestäänselvänä. Kaikki eivät välttämättä ole vielä kuulleet niistä!
Mikäli kaikki asiat tässä listassa on jo tuttuja tai vähintäänkin kiinnostaa kovasti, laita toki mailia rekry@fraktio.fi ja liity pirteään joukkoomme ❤