Session Title: IT'S RAW! Enhancing iOS Developer Experience with Swift Compiler Output & Xcode
Session Speaker: Ruslan Alikhamov | Senior iOS Engineer | Qonto
Last week we published a round-up of one of the most popular sessions at this year’s Mobile DevOps Summit 2023: Mike Gerasymenko’s (Staff iOS Engineer at Delivery Hero) 15-minute session on making your app modular and testing what has changed. Check it out here.
This week, we’re shining a light on another ‘most popular’ session: Ruslan Alikhamov’s (Senior iOS Engineer at Qonto) ‘IT'S RAW! Enhancing iOS Developer Experience with Swift Compiler Output & Xcode’.
Ruslan works for the French online payment institution for freelancers and SMEs. Qonto is a business finance app that enables you to “keep your business account and all your finance needs safely organized under one roof - whether you’re alone or leading a team”.
Ruslan’s session focused on a common problem - how to reduce the compilation duration of an iOS codebase - and they managed to do this by more than 50%. He then goes on to talk about how he and his team solved this problem by addressing developer experience issues when Xcode was not able to handle a large Swift Source file. Before getting into the problem and solution - he delved into why iOS developer experience matters and the importance of innovation:
“Programming is a form of art and programmers are artists - any friction with the tool diminishes this innovation”, Ruslan Alikhamov, Senior iOS Engineer at Qonto
Part of the reason Ruslan’s 25 min session was so popular was the fact it focused around a real-life developer problem at Qonto, then went into exactly how they got from 9 mins 37 secs to less than 4 mins when running unit tests by using Xcode build timeline to observe trends.
The reason it was taking so long was because the source code editor was struggling opening files when ‘search’ or ‘quick open’ features were used. Xcode was hanging (it took more than 9 secs to open a file) and unit test compilation was suspiciously slow. Xcode Build time showed that it took 9 mins 37 seconds to compile a project for testing after a clean build. This daily slowness was causing most developers frustration.
The solution? An internal company-wide hackathon which enabled them to fix a number of developer frustrations and ultimately cut the running of unit tests by over 50%.
Want to know exactly how they did it? Register to watch Ruslan’s session on demand now: https://summit.bitrise.io/page/2783515/register-on-demand
3 key takeaways from this session:
1. How to leverage Xcode facilities for measuring build performance
2. How to leverage Swift compiler’s raw output for better developer experience
3. How to resolve common swift code compilation slowness issues