It’s time. Time for SwiftUI

During this Corona pandemic I’ve been lucky to have kept my freelance spot working on the apps for the Dutch Police. Managed to squeeze in the Coursera course on COVID-19 Contact Tracing, but I kept postponing learning all about SwiftUI.

Last week I came across this tweet by John Sundell:

Continue reading “It’s time. Time for SwiftUI”

Dutch Police

The Dutch National Police wanted a new iOS app where civilians can check for the latest regional news, missing persons / children, amber alerts, check for stolen / fenced items, report crimes, find and contact the nearest police station or officer.

Accesibility

As this is a public app from the police for all the citizens, the need for accessibility was factored in from the start. High contrast, Voice Over, the team and I went the extra mile to ensure the app is usable for everyone.

For testing we created some CI/CD pipelines with Fastlane, some shell scripting and Gitlab-CI for automated ui- and unit-test, nightly builds, acceptance and production releases. 

Dutch Police App
The Dutch Police App

Used Tools

For this project I used Autolayout, Alamofire, Mapkit, MLKit, AVKit, REST, JSON, Firebase, Carthage, Clean-swift, Swiftlint, Sonarqube and Xcode. The app is written 100% in Swift 5.

Download

Download the latest version of the iOS app from the app store: https://itunes.apple.com/us/app/nationale-politie/id765547809?l=nl&ls=1&mt=8

Always Hello

An app to safely and securely synchronise your contact data. I build the iOS part of this project. Started in Objective-C, migrated to Swift and continued development in Swift (iOS-SDK 8, 9, 10 & 11).

Used Tools

Use of public / private key encryption (RSA), symmetric encryption (AES), hashing (BCrypt), cross platform multi device syncing, push notificaties, Bluetooth & ultrasound communication, animation, custom views, security, Autolayout, UI-testing, Unit-testing, CoreData, Anonymous Tracking, openSSL, JSON, youtube, FontAwesome, Google Nearby, Pushkit, Universal links, MVC, MVVM and Xcode.

Created a complete Continuous Integration street via Jenkins & HockeyApp for automated unit test, UI-tests and nightly builds and releases to the AppStore.

Backup sysadmin for Amazon AWS and Docker.

Managed the junior and medior developers and remote teams in Bulgaria, Belarus and Serbia in an agile / scrum environment (part time scrum-master)

Always Hello
Hello Alice, Meet Bob.

Download

https://itunes.apple.com/be/app/always-hello/id991743296?l=nl&mt=8

MVVM at scale: Not so simple

I’ve been reading up on a lot of architecture stuff and came across an interesting presentation by Nataliya Patsovska on MVVM at scale: not so simple from the try! Swift NYC over at realm.io

TL; DR

Use design patterns while applying MVVM, separate objects for different layers. It forces you to manage the complexity, the most important technical topic in software development. It won’t fix all of your problems, but gives you a great start.

MVVM to the rescue
MVVM to the rescue