Itโs pretty obvious, but my language of choice is, of course, Swift ๐งก
๐จ๐ฝโ๐ป Software
Well, I guess these things are pretty fundamental to any iOS developer, but I get along well with:
- macOS
- Xcode & its additional tools
- Terminal
- and a lots of other tools that help make my work more effective ๐
๐น๏ธ Version control
Is anyone using anything other than git
nowadays? ๐
Iโm also pretty familiar with rebasing and keeping a clean history.
๐ฑ User Interface
Currently, I mainly use SwiftUI
, but I still have a lot of experience with UIKit
- especially in the programmatic form (using Stevia framework)
Iโm quite aware that we all need to know
UIKit
as well as thereโs still a lot thatSwiftUI
doesnโt cover ๐ฅฒ
โณ Asynchronous programming
Glad to be able to use the nicely readable Swift concurrency (async/await
), but also have broad experience with reactive frameworks - worked for years with RxSwift and then with Combine
(mostly before the Swift concurrency came).
๐ Architectures
Have participated in introducing of own architecture (in SYNETECH) based on the clean architecture with modular presentation modules mainly inspired by VIPER. The architecture was quite robust, as the intention was to have one architecture for all types of projects that weโve worked on in the company.
Have described the advantages of the clean architecture in the mobile apps environment in the article Example usage of the clean architecture.
Used the Swinject framework for dependency injection ๐, but also have tried (and probably liked more) a more lighterweight framework Resolver.
๐ Networking
Used to work mainly with Alamofire, but lately have been using the URLSession
more.
For analysis and debugging I use tools like Postman and Proxyman.
๐ช App Store
Have quite some experience with app signing and release process. Also worked with in-app purchases, but I wouldnโt call myself an expert in that area.
๐ท๐ผโโ๏ธ Code management
- use Tuist to manage Xcode projects
- Swift packages for dependency management (previously worked with CocoaPods)
- have some experience with CI/CD (on GitLab and GitHub)
๐ง๐ผโโ๏ธ Augmented reality
Iโm very interested in augmented reality (the ARKit and RealityKit frameworks in the context of Apple) and already have experience with several AR projects.
You can find a few examples of my work with augmented reality in the References: AppParade AR zone, Festival Svobody or R&D project SYNEVision