Posts

  • Back to JavaScript (and more)

    This semester I was working together with a friend on a recommender system for a small project at our university. They want to create a startup to disrupt a still very old fashioned business by providing highly customized recommendations for their users. During this project I was able to get my hands back on JavaScript and see what changed in the ecosystem since I switched to only native iOS development in 2014.

    read more...
  • Recap and Off to New Shores

    This spring and summer was very exiting and a lot is changing. My time at ImmobilienScout 24 is ending and a new chapter begins next month when I start to work for the BMW Technology Office in Mountain View, California.

    read more...
  • Swift Service Locator

    As already mentioned in my previous post about Dependency Injection in Swift I think that DI is essential for a maintainable and testable code base. I wasn’t completely happy with my previous solutions cause you had to write a lot of boilerplate code and explicit methods. Oliver Eikemeier gave some nice talks at the Cocoaheads and Swift.berlin meetups in Berlin last year about modularization and architecture of apps including a way better solution for DI, that I adapted to my needs and want to share with you here.

    read more...
  • IBOutlets Should Be Optional

    If you drag an IBOutlet from a XIB or storyboard to your Swift file, XCode will generate an implicitly unwrapped optional by default. At first you might think that's totally OK. And then you add handling of memory warnings and suddenly you get crashes!

    read more...
  • Thoughts on Open Source Swift

    So Swift is finally open sourced and we are seeing some very interesting things in there!

    read more...
  • AB Testing with Optimizely on iOS

    AB testing is an important part of agile software product development and revenue optimization nowadays. Optimizely claims to have a poweful solution for iOS, which is especially nice when you’re already using it for the good old web and want to support Android. Let’s have a closer look!

    read more...
  • Learning Resources for iOS Devs

    With this post I want to give prospective iOS Devs some links to really good learning resources. And also more experienced Devs might learn something from some of the Blogs ;-)

    read more...
  • Keep it Close

    Structuring the files in a project in a scalable way usually doesn’t have the highest priority when you start your small app project, but with an increasing size of code and number of teammembers working on it, a good project structure can significantly improve the understandability of the project. I want to share my thoughts about what I think is the best approach for it.

    read more...
  • HTTP/2 on iOS

    HTTP/2 was finalized earlier this year, published as RFC 7540 and is already integrated in iOS 9 and OS X El Capitan. Additionally Apple is pushing HTTP/2 aggressively by providing the new Apple Push Notification Service (APNs) only via HTTP/2 (WWDC Session 720 - What’s New in Notifications - starting ~16:40). HTTP/2 is a great step for the web and especially for mobile devices because it solves some common problems of HTTP 1.1.

    read more...
  • Dependency Injection with Swift

    Dependency injection is a design pattern to leverage inversion of control to manage dependencies. Rather than creating instances explicitly you ask someone for instances to fulfill a certain task. In iOS a typical dependency is a NSNotificationCenter. Rather than getting the defaultCenter() explicitly you should just ask for a NSNotificationCenter to use, since it’s possible that the system doesn’t want to use the default center at the moment (e.g. in a unit test).

    read more...
  • Mocking UIApplication in Swift

    Sometimes you might want to create a mock instance of UIApplication to test whether your code calles a certain method correctly - e.g. openUrl(). In Objective-C this was an easy task with OCMock but in Swift it’s a bit tricky.

    read more...
  • Learning Goals for new iOS Devs

    We often have exchange developers in our team for about 3 months, who want to learn more about developing for iOS or Android. This is great because you get to know way more people in your company, distribute knowledge and get more perspectives. But it’s also challenging for the exchange developers because they need to learn a lot of stuff in a short time since the goal is not just to learn but to become a productive member of the team and to work on regular features and bugfixes.

    read more...
  • iOS Dev Tools

    There are a lot of tools beside Xcode that I use in my everyday workflow - some are quite popular and everybody seems to know them and there are others which to my surprise none of my colleges and friends knew. So here’s a small collection of my favorite tools in alphabetical order.

    read more...

subscribe via RSS