It’s been a great year as a full-time freelance iOS developer and designer. I’ve loved working with my clients and am proud of all we’ve built together. Some of my work I’ve shared on my portfolio, but quite a few projects are confidential. In an effort to share more, I’ve compiled some lists that give a broader view of my work over the last year and shed some light on my process.
I’ve enjoyed the opportunity to work on many different projects this year. I’ve purposely shied away from using Swift in projects, but I see that changing after the release of Swift 3.0 in 2016. I also do some app design work but mostly a lot of design consulting when building an app.
- New Apps Shipped: 13
- Apps Worked On: 24
- Objective-C Development: 92%
- Swift Development: 8%
- Screens Designed: 13
Open Source Projects
During the year I came upon situations where I wanted to reuse and separate a component from the project I was working on. In some cases I shared these components publicly.
- BABCropperView: A customizable image cropper view based on UIScrollView.
- BABAudioPlayer: A convenience layer on top of AVPlayer for playing audio files on iOS.
- BABFrameObservingInputAccessoryView: A simple view which allows for an iOS Messages style keyboard input view and panning behavior.
- BABKit: A collection of classes which I found myself using across apps. The majority are most helpful for building custom user interface elements.
As a freelance developer and designer there are a handful of tools that I rely on for day-to-day work.
- Harvest: An excellent time tracking and billing web app. Can’t recommend it enough!
- GitHub: The de facto standard for hosting code and collaboration. I mostly use this for team collaboration and open source contributions because of the relatively high cost for having numerous private code repositories.
- BitBucket: The subpar alternative to GitHub with a generous allotment of private repositories. I mostly use this for hosting private repositories for clients.
- Slack: Everyone’s favorite chat client. This app has saved me thousands of emails throughout the year, and I’m currently on 10 different Slack teams.
- CocoaPods: An essential dependency management tool for iOS projects. I briefly used an alternative called Carthage and quickly discovered a frequent bug that caused an awful Xcode crash when using the debugger.
- Parse: A suite of backend services provided by Facebook. Excellent for getting an app off the ground without a lot of server-side development.
- Sketch: A Mac-only design application which has been rising in popularity over the last few years. It handles mobile design particularly well and has easy asset export capabilities. Performance can be choppy with large files at times, and I’m not as quick with Sketch yet as I am with Photoshop.
- Photoshop: Still my go-to application for creating a design mockup. Integration with Illustrator is nice, so I can easily create vector graphics and export PDF assets for Xcode.
There are some third-party iOS libraries which I usually rely on.
- AFNetworking: The standard networking library useful for working with REST APIs.
- SDWebImage: A great image loading library which I add when I need on-disk persistence of images.
- GoogleAnalytics: My preferred choice for app analytics. The iOS library is a little clunky to work with, but I like the analytics data visualization tools a lot.
- BABKit: A collection of classes I’ve created to help me in creating custom interface elements quickly.
Let me know if you have any specific questions, I’d’ love to share more of the lessons I learned last year.