SwiftUI – valmis kehittäjille 2021?
Viime vuonna julkaisimme suositun artikkelisarjan eri ohjelmointikielistä Suomen mobiilikehityksessä. Pääset näkemään kaikki sarjan aiemmat postaukset tästä: https://www.punosmobile.com/cases/ohjelmointikielet-suomen-mobiilikehityksessa-2020/
Nyt kun vuoden 2021 Applen WWDC-kehittäjäkonferenssi on päässyt käyntiin, ajattelimme tarjota teille katsauksen viime vuosien ehkä kovimpaan juttuun Applen kehittäjämaailmassa, eli SwiftUI:hin, olkaa hyvä! Punoksen asiantuntijat ovat päässeet kerryttämään tästä työkalusta kokemuksia jo parin asiakasprojektin myötä.
SwiftUI on erityisesti käyttöliittymien tekemiseen keskittynyt Applen framework, joka julkaistiin ensimmäistä kertaa iOS 13:n kanssa. Visuaalisella tasolla kehittäjä pystyy näkemään reaaliaikaisesti (Xcode preview) tekemiensä koodimuutosten vaikutukset käyttöliittymässä, ilman jatkuvaa tarvetta sovelluksen erilliselle kääntämiselle.
SwiftUI:n ensimmäinen versio ei ollut vielä lähelläkään tuotantovalmista, mutta iOS 14:n myötä sen käyttökelpoisuus parantui lisääntyneen vakauden ja uusien ominaisuuksien myötä. iOS 15:n ansiosta tilanne paranee entisestään.
Sen jälkeen kun kehittäjä ymmärtää, miten SwiftUI toimii, on esimerkiksi näkymien tekeminen merkittävästi nopeampaa kuin ennen. Edellä mainittu Xcode preview vaatii vielä lisää rakkautta, jotta esimerkiksi virheenhallinta saadaan paremmalle tasolle, mutta huono se ei ole nytkään. Yksi haasteista liittyy siihen, että preview saattaa joissain tapauksissa antaa virheen, mutta ei virhelokia, minkä takia sovellus pitää joka tapauksessa käynnistää simulaattorissa. Preview ja Xcode myös oireilee välillä jäämällä jumiin virhetilaan vaikka mitään virhettä ei edes ole. Tällöin yleensä auttaa vain Xcoden uudelleen käynnistäminen.
Combine frameworkin käyttö
SwiftUI tuo mukanaan Combine-frameworkin, joka on vastuussa sovelluksen reaktiivisesta puolesta. Konepellin alla isoimpina erona entiseen ajattelutapaan on myös muun muassa muuttujien ja sovelluksen tilan käsittely. SwiftUI käyttää tässä ns. deklaratiivista lähestymistapaa, tarkoittaen sitä että muun muassa sovelluksen tilatietoihin ja muuttujiin pääsee erittäin helposti käsiksi. Tämän ansiosta kehittämisprosessi on merkittävästi entistä tehokkaampi ja tietojen välitys näkymästä toiseen onnistuu vaivattomasti.
Combinen suosikkiominaisuudeksemme on valikoitunut ympäristöobjektien (EnvironmentObject) käyttö. Kun tällainen muuttuja on määritelty ylätasolla, se periytyy automaattisesti alatasoille ja jopa niiden alatasoille. Lisäksi kyseisiä muuttujia voi käsitellä jokaisesta näkymästä, mikä tekee tiedon jakamisesta näyttöjen välillä entistä helpompaa
Punoksen mielipide
Tämä on iOS-kehittämisen tulevaisuus, piste. SwiftUI on valmis tuotantokäyttöön, kun sovelluksen minimikäyttöjärjestelmätasoksi asetetaan iOS 14. Lisäksi kun tätä kirjoitettaessa käynnissä olevan WWDC:n ja uuden SwiftUI-version myötä työkalu saa yhä enemmän päivityksiä, ei ole enää mitään syytä olla käyttämättä sitä jos projektissa tehdään uutta sovellusta. Yleisesti ottaen koko työskentely on merkittävästi nopeampaa verrattuna vanhempiin työkaluihin. Ja vaikka edelleenkin on joitain asioita, mihin SwiftUI ei taivu, nekin pystyy kiertämään käyttämällä UIKit-wrappereita.
Lisätietoja
Tagit
Liiketoimintaprosessi
Tuotekehitys ja suunnittelu |
Erikoisosaaminen
Ketterät menetelmät | |
Mobiilikehitys | |
Ohjelmistokehitys |
Toimialakokemus
IT |
Teknologia
iOS | |
Swift |
Tarjonnan tyyppi
Konsultointi | |
Toteutustyö |
Omat tagit
Punos Mobile - Asiantuntijat ja yhteyshenkilöt
Punos Mobile - Muita referenssejä
Punos Mobile - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - Mobiilikehittäjä, Android
- Laura - Ohjelmistoarkkitehti, Tampere/Oulu
- Laura - Development Team Manager, Sports Games
- Taito United Oy - Senior Full Stack -kehittäjä
- Webscale Oy - Head of Sales, Cloud Services
- Laura - Hankinta-asiantuntija, tietohallinto
- Laura - Development Manager, Operations
Premium-asiakkaiden viimeisimmät referenssit
- SD Worx - Kehitystyö SD Worxin kanssa takaa Clas Ohlsonille parhaat palkanmaksun prosessit kasvun tiellä
- Digiteam Oy - Case Esperi Care Oy: Ketterä kumppanuus vei Esperin verkkosivu-uudistuksen maaliin sujuvasti ja aikataulussa
- Kisko Labs Oy - Howspace Hub - Mukautuva oppimisen hallintajärjestelmä kasvaviin oppimisalustavaatimuksiin
- Kisko Labs Oy - Sanoma Pro: Multimediasisältöjen hallinnan uudistaminen
- Kisko Labs Oy - Svean helppokäyttöinen palvelu asiakkaan verkko-ostosten hallintaan
- Kisko Labs Oy - Yhtenäinen käyttöliittymä luovien alojen ammattilaisille
- Codemate - Digitaalisen murroksen nopeuttaminen Flutterin avulla
Tapahtumat & webinaarit
- 27.11.2024 - Green ICT -ekosysteemitapaaminen III: Ohjelmistojärjestelmien virrankulutuksen mittaaminen ja kasvihuonepäästöjen arviointi
- 27.11.2024 - Digitaalisen asiakaskokemuksen uusi aikakausi
- 28.11.2024 - Webinaari: Keskity myyntityön laatuun!
- 28.11.2024 - Copilot-webinaari – Mielekkäämpää tietotyötä turvallisesti
- 04.12.2024 - Kuinka oikea matka- ja kululaskujärjestelmä tehostaa prosesseja?
- 05.12.2024 - Green ICT VICTIS -hankkeen kick off -tilaisuus
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
Premium-asiakkaiden viimeisimmät bloggaukset
- Kisko Labs Oy - Heroku: Millaisiin projekteihin se sopii ja mitkä ovat sen todelliset hyödyt ja haitat?
- Zimple Oy - Pipedrive vai Hubspot? Kumpi kannattaa valita?
- SC Software Oy - Jatkuvat palvelut – asiakaslähtöistä kumppanuutta projekteista ylläpitoon
- Timeless Technology - Ohjelmoitavat logiikat (PLC): Ratkaisevat työkalut automaatioon ControlByWebiltä.
- Kisko Labs Oy - Heroku: Ohjelmistokehittäjän ykköstyökalu skaalautuvien sovellusten rakentamiseen
- SD Worx - Näin luot vakuuttavan Business Casen palkkahallinnon ulkoistukselle
- Timeless Technology - Kyberriskien tunnistaminen Profitap IOTA verkkoanalysaattorin avulla.
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |