Skip to main content

objc.io

objc.io is a platform that publishes books, videos, and articles focused on advanced iOS and macOS development techniques. The site features a variety of high-quality resources aimed at helping developers deepen their understanding and skills in Swift and SwiftUI.

Details

URL: 🔗 https://www.objc.io/

Authors: objc.io Team

Complexity Levels:

  • Beginner: 20%
  • Intermediate: 40%
  • Advanced: 40%

Frequency of Posting: Weekly

Types of Content:

  • Tutorials: 40% (Step-by-step guides and practical examples)
  • Articles: 30% (In-depth articles and best practices)
  • Books: 20% (Comprehensive guides and references)
  • Videos: 10% (High-quality video tutorials and discussions)

Additional Features:

  • Newsletter: Available for regular updates and news.
  • Books and Bundles: In-depth guides on iOS and macOS development.
  • Workshops: Hands-on workshops for immersive learning experiences.
Visit objc.io


Best Practices

🔴 The Art of Code Review: A Dropbox Story

This article, written by Ashley Nelson-Hornstein and published on objc.io, delves into the code review process used by the Dropbox team for their iOS app. It covers how the team plans and executes code reviews, the tools they use, and the importance of maintaining good communication throughout the process. The article emphasizes upfront planning, following style guides, and maintaining constructive feedback, showcasing the meticulous approach Dropbox takes to ensure high-quality code.

Details

URL: 🔗 The Art of Code Review: A Dropbox Story

Published: March 2015

Authors: Ashley Nelson-Hornstein

Tags:
code-review, iOS-development, best-practices, Phabricator, Dropbox

Key Points

  • Upfront Planning: Dropbox engineers engage in pre-review planning to avoid iterations during the review, ranging from quick discussions to detailed architectural documents.
  • Use of Tools: The team utilizes Phabricator for code reviews and Arcanist for uploading diffs, alongside automated scripts for formatting code to focus on functionality.
  • Constructive Feedback: Code reviews are seen as an opportunity for growth, with a strong emphasis on constructive feedback delivered in a respectful manner.
  • Style Guides: Engineers adhere to a comprehensive style guide to maintain consistency across the codebase, simplifying the review process.

Summary of Contents

  • Introduction to the Process: The article introduces Dropbox's code review approach, emphasizing early planning and task assignment.
  • Use of Phabricator and Arcanist: Detailed explanations of the tools used for code reviews, including the benefits and limitations of Phabricator and the role of Arcanist.
  • Communication and Feedback: Insights into how the team maintains positive communication during reviews and the importance of constructive criticism.
  • Final Thoughts: The article concludes with the notion that thorough code reviews are integral to maintaining a high standard of code quality at Dropbox.

Additional Resources

Read Full Article

Debugging

🔴 Dancing in the Debugger — A Waltz with LLDB

This article provides an in-depth guide to debugging with LLDB in Xcode, offering a range of techniques to enhance your debugging process. Whether you're new to LLDB or looking to refine your skills, this article will challenge your knowledge and introduce advanced features you might not be aware of. It covers everything from printing variables and modifying program states to managing breakpoints and controlling program flow. Perfect for developers looking to optimize their debugging workflow in iOS and macOS development.

Details

URL: 🔗 Dancing in the Debugger — A Waltz with LLDB

Published: December 2014

Authors: Ari Grant

Tags:
LLDB, Debugging, Xcode, iOS Development, macOS Development

Key Points

  • LLDB is a powerful open-source debugger that can do much more than just inspect variables.
  • You can modify program states directly within the debugger, allowing for more dynamic testing.
  • Breakpoints in LLDB can be managed and configured in ways that significantly improve debugging efficiency.
  • The article introduces advanced LLDB commands, such as thread return, for controlling program flow without recompilation.

Summary of Contents

  • Introduction: Overview of common debugging frustrations and how LLDB can help.
  • LLDB Basics: Introduction to essential LLDB commands like print and expression.
  • Advanced Techniques: Detailed guide on using LLDB to manipulate program flow, manage breakpoints, and debug effectively.
  • Practical Examples: Real-world scenarios and examples demonstrating the power of LLDB in debugging complex issues.

Additional Resources

Read Full Article