After a brief discussion of the main characteristics of BDD, I discuss how one might use BDD to test a View Controller in iOS and the drawbacks of some initial naive solutions. Through a process of refactoring, we improve the test and implementation focusing on encapsulation until the test is unaware of the details of the UIViewController. At the end, I introduce the testing framework that I am working on, Succinct, which allows for this style of testing to be utilized.
Why I ❤️ Kotlin Multiplatform (and want YOU to also ❤️ Kotlin Multiplatform)Derek Lee Boire
Given at the February 2023 Tokyo iOS Meetup, my goal with this presentation is to persuade you, the iOS Engineer, to become interested in using Kotlin Multi-platform for your iOS development to expand your audience to include Android users.
Main topics:
- Why KMM?
- Trade Offs (Pros/Cons)
- Practical Use Cases
- Typical Dev Cycle, Ways of Sharing Code
- Important Multiplatform Skills
- Summary / Q&A / Feedback
Standing the Test of Time: The Date Provider PatternDerek Lee Boire
Presented at the April 1, 2017 Tokyo iOS Meetup, in this presentation I talk about how you can test logic that depends on the current date and time by utilizing the "Date Provider" pattern. By simply passing in a Date Provider to the method that needs access to the current date & time, you can easily create a fake/mock object that can be used to test this logic.
Why I ❤️ Kotlin Multiplatform (and want YOU to also ❤️ Kotlin Multiplatform)Derek Lee Boire
Given at the February 2023 Tokyo iOS Meetup, my goal with this presentation is to persuade you, the iOS Engineer, to become interested in using Kotlin Multi-platform for your iOS development to expand your audience to include Android users.
Main topics:
- Why KMM?
- Trade Offs (Pros/Cons)
- Practical Use Cases
- Typical Dev Cycle, Ways of Sharing Code
- Important Multiplatform Skills
- Summary / Q&A / Feedback
Standing the Test of Time: The Date Provider PatternDerek Lee Boire
Presented at the April 1, 2017 Tokyo iOS Meetup, in this presentation I talk about how you can test logic that depends on the current date and time by utilizing the "Date Provider" pattern. By simply passing in a Date Provider to the method that needs access to the current date & time, you can easily create a fake/mock object that can be used to test this logic.
Minimizing Decision Fatigue to Improve Team ProductivityDerek Lee Boire
The document describes a typical day at Pivotal Labs, focusing on techniques for improving team productivity such as pair programming, standup meetings, discussions, and retrospectives. It emphasizes organizing code through file structure and annotations in Swift to minimize decision fatigue. Styles are defined for UI elements through extensions to promote consistent branding.
Common Challenges & Best Practices for TDD on iOSDerek Lee Boire
Presented at the June 2016 Tokyo iOS Meetup on 6/11/2016, in this presentation I give an overview of test driven development and how it can be used when developing for iOS / Swift.
TDD is an enormous topic so this really just scratches the surface to give an expansive glimpse into the journey that TDD truly is. Those unfamiliar with TDD will hopefully have a desire to learn more about it while those familiar will hopefully learn something new.
Adjusting to Auto Layout (Tutorial / Tips for iOS Auto Layout)Derek Lee Boire
An overview of the primary concepts for implementing Auto Layout in your iOS projects, Derek covers the basic procedure you'll likely follow for adding, editing, and removing constraints as well as how to understand the sometimes cryptic messages that Xcode displays when debugging Auto Layout issues. Including several useful tips and tricks for using Interface Builder to successfully implement Auto Layout, this brief presentation covers the basics and can be used as a reference for those who already have some experience.