- Et noe "ukjent faktum" blant oss utviklere, er at vi kopierer og limer inn masse. Og jeg er ikke noe unntak, humrer utvikleren Khoa Pham, som til daglig jobber i Shortcut.
- Og når jeg søker etter ting på Google eller StackOverflow, trenger jeg ofte å finne tilbake til lenker og kodesnutter jeg kopierte tidligere. Jeg trengte derfor et program som sporer mine kopieringer, og som er der når jeg trenger det. Hva er vel bedre enn et program jeg utvikler selv, sier han videre til kode24.
- Jeg skjønner problemet og vet hva jeg trenger selv, også håper jeg andre også vil få bruk for det.
Som sagt, så gjort: Pham har nettopp utgitt sin siste versjon av mobil-appen og Mac-programmet PastePal, som blant annet lar deg lagre alt som kopieres på tvers av MacOS og iOS.
Og det viste det seg at joda - andre trengte visst det samme, tross hard konkurranse.
Khoa Phams WWDC Together lot oss se på Apples konferanse sammen
Fra AppKit til SwiftUI
Pham koda den første utgaven av PastePal for et par år tilbake, i Apples AppKit.
Så, etter lanseringen av SwiftUI på WWDC i 2019, ble mye skrevet om til dette. Men SwiftUI var fortsatt ung, og mye måtte fortsatt kjøres med AppKit. Ikke før SwiftUI 2.0 ble lansert på WWDC i fjor, kunne PastePal ta steget fullt ut, og kun bruke SwiftUI.
- Jeg bestemte meg for å skrive om PastePal fra bunnen av, og bare beholde utklippstavle-koden. Resultatet er en helt ny utgivelse av PastePal, forteller Pham til kode24.
PastePal 2.0 kom ut på nyåret, koster 109 kroner for en universal app som fungerer både på macOS, iOS og iPadOS, og har gått sine seiersrunder på blant annet Product Hunt, "Best apps of the month" på App Advice og på franske Mac Generations.
- Nedlastningene strømmer på når nettsider skriver om PastePal, men faller like etter, innrømmer Pham, som sier seg fornøyd med salget, men ikke ønsker at kode24 skal publisere konkrete salgstall.
Holder seg til Apple-verktøy
PastePal er skrevet i Swift, med SwiftUI for brukergrensesnittet, og Apples egen Core Data for database.
Lagde sitt eget drømmeverktøy til macOS
Core Data sin CloudKit gjør det visstnok lekende lett å også lagre data på brukerens iCloud-konto, for synkronisering av utklippstavla på tvers av macOS, iOS og iPadOS.
- Logging av systemets utklippstavle kan høres skummelt ut, så jeg prøver å begrense mengden av avhengigheter og tredjeparts-biblioteker, forteller utvikleren.
Han bruker derfor bare noen få open source-biblioteker, som han går nøye gjennom først. Men stort sett holder han seg altså til Apples egne verktøy og API-er, for som han sier:
- Er det én ting jeg har lært om iOS- og macOS-utvikling, så er det å holde seg til Apples SDK-er så mye som mulig. Tredjeparts-rammeverk kommer og går, uansett hvor fancy de er. Den eneste koden som forblir og alltid blir forbedra, er Apple sine rammeverk.
Mac-program, iPhone-app, M1-klar
PastePal blir først utvikla til Mac, og så modifisert for å fungere på iPhone og iPad. Visstnok motsatt av den vanligste metoden for å utvikle slike universal-apper.
- Jeg gjenbruker deler av macOS-koden, spesielt hvordan utklippstavla og databasen fungerer, for iOS-utgaven. Det meste av brukergrensesnittet deler også den samme SwiftUI-koden, forklarer Pham til kode24.
- Hva med å få Mac-appen til å fungere på de nye M1-maskinene, må du gjøre noe for å få til det?
- Da de nye Apple Silicon-Mac-ene ble lansert, fikk Xcode ett nytt alternativ for å lage apper som fungerer på både de og Intel-baserte Mac-er. Fordi PastePal er ren Swift-kode, uten noen statisk maskinkode, kompilerer og kjører den fint på M1-maskiner, forteller utvikleren.
Hard konkurranse
- Å utvikle programvare virker ikke å være så populært for tida - de fleste vi snakker om er mer opptatt av mobil-apper og web-løsninger. Hvordan synes du det er å lage programvare?
- Andelen utviklere som lager programvare til macOS er bitteliten sammenlikna med iOS-utviklere. Og som oftest finner du ikke løsniniger på problemene dine, fordi så få har spurt om det. Men det kule med macOS-utvikling er at jeg kan lage apper for ting jeg virkelig trenger daglig, som PastePal, svarer Pham.
Alt vi lurer på om å lage iPhone-apper
- Det finnes en del "clipboard managers" til Mac der ute fra før av. Hva gjør din som ikke konkurrentene gjør?
- Jeg bryr meg egentlig ikke om hvordan andre apper virker, begynner Pham.
- Kort tid etter jeg lanserte PastePal, begynte folk å fortelle meg om deres opplevelser med andre slike apper. Det var da jeg fikk vite om nærmere 20 andre clipboard managers, smiler han.
- Men fra et teknisk standpunkt, viser PastePal hvordan SwiftUI kan brukes til å bygge funksjonsrike applikasjoner, på tvers av plattformer, som også kjører bra.
- Verste jeg kan bli spurt om er å holde presentasjon
Ukas Koder Linn Haviken utvikler ny Ruter-app. Det håper hun å slippe å prate så mye om.