How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Ralph Johnson, Erich Gamma, John Vlissides, Richard Helm
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk. 0201633612B07092001
Marcus Zarra, Matt Long
The definitive full-color reference for Core Animation, Apple's powerful new framework for building feature-rich user interfaces • • Shows Mac developers how to use Core Animation to build state-of-the-art user interfaces that previously required intensely complex OpenGL programming. • Task-based coverage ranges from the absolute basics to advanced optimization and integration - and every feature is illuminates with projects and detailed sample code. • Contains a full chapter on using Core Animation on the iPhone. Apple's Core Animation API offers Mac developers a whole new way to think about user interface design - and the opportunity to quickly and easily integrate advanced UI features ranging from transparent windows to head-up displays. Core Animation contains all the goodies Mac UI designers have been craving - and could previously implement only with highly complex OpenGL code. Core Animation is the definitive reference to this powerful API for every Macintosh and iPhone developer. Leading OSX developers Marcus S. Zarra and Matt Long begin with a complete introduction to Core Animation, offering invaluable insights into when it should be used - and when it shouldn't be. Next, the authors drill down to each specific task developers are likely to perform. Building on the essentials, the authors introduce several advanced techniques, including code optimization and leveraging the GPU to run OpenGL, QuickTime, and Core Animation code in tandem. They also present brand-new coverage of Core Animation programming for the iPhone. Each concept and technique is illuminated with usable code, end-to-end sample projects, functional examples, and advanced project suggestions designed to promote even deeper understanding.
David Gelphman, Bunny Laden
An in-depth overview of the new sophisticated graphics system of Mac OS X Tiger explains how to exploit the latest state-of-the-art graphics of OS X in a variety of applications, providing an introduction to 2D graphics concepts and tips on working with PDF documents, bitmap graphics, and text. Original. (Intermediate)
As iOS apps become increasingly complex and business-critical, iOS developers must ensure consistently superior code quality. This means adopting best practices for creating and testing iOS apps. Test-Driven Development (TDD) is one of the most powerful of these best practices. Test-Driven iOS Development is the first book 100% focused on helping you successfully implement TDD and unit testing in an iOS environment. Long-time iOS/Mac developer Graham Lee helps you rapidly integrate TDD into your existing processes using Apple's Xcode 4 and the OCUnit unit testing framework. He guides you through constructing an entire Objective-C iOS app in a test-driven manner, from initial specification to functional product. Lee also introduces powerful patterns for applying TDD in iOS development, and previews powerful automated testing capabilities that will soon arrive on the iOS platform. Coverage includes Understanding the purpose, benefits, and costs of unit testing in iOS environments Mastering the principles of TDD, and applying them in areas from app design to refactoring Writing usable, readable, and repeatable iOS unit tests Using OCUnit to set up your Xcode project for TDD Using domain analysis to identify the classes and interactions your app needs, and designing it accordingly Considering third-party tools for iOS unit testing Building networking code in a test-driven manner Automating testing of view controller code that interacts with users Designing to interfaces, not implementations Testing concurrent code that typically runs in the background Applying TDD to existing apps Preparing for Behavior Driven Development (BDD) The only iOS-specific guide to TDD and unit testing, Test-Driven iOS Development covers both essential concepts and practical implementation.
Want to get started building applications for Apple’s iPhone and iPod touch? Already building iPhone applications and want to get better at it? This is the only book that brings together all the expert guidance–and the code–you’ll need! Completely revised and expanded to cover the iPhone 3.0 SDK, The iPhone Developer’s Cookbook is the essential resource for developers building apps for the iPhone and iPod touch. Taking you further than before, this new edition starts out with an introduction to Objective-C 2.0 for developers who might be new to the platform. You’ll learn about Xcode and Interface Builder and learn how to set up and configure your iPhone Developer account. Additional highlights of this new edition include: Using the iPhone SDK’s visual classes and controllers to design and customize interfaces Using gestures, touches, and other sophisticated iPhone interface capabilities Making the most of tables, views, view controllers, and animations Alerting users with progress bars, audio pings, status bar updates, and other indicators Using new Push Notifications to send alerts, whether your app is running or not Playing audio and video with the MediaKit Working with the Address Book, Core Location, and Sensors Connecting to the Internet, Web services, and networks Embedding flexible maps with MapKit and Google Mobile Maps Building multiplayer games with GameKit Using Core Data to build data-driven applications Selling add-on content and services with In-App Purchasing using StoreKit Building accessible apps with Accessibility Plus The unique format of The iPhone Developer’s Cookbook presents the code you need to create feature-rich applications that leverage the latest features of the iPhone 3.0 SDK. Over 30,000 iPhone developers turned to the first edition of The iPhone Developer’s Cookbook. So should you!
David Mark, Jeff LaMarche
Interested in iPhone development? Want to learn more? Whether you’re a self-taught iPhone development genius or have just made your way through the pages of Beginning iPhone 3 Development, we have the perfect book for you. More iPhone 3 Development: Tackling iPhone SDK 3 digs deeper into Apple’s latest SDK. Best-selling authors Dave Mark and Jeff LaMarche explain concepts as only they can, covering topics like Core Data, peer-to-peer networking using GameKit and network streams, working with data from the web, MapKit, in-application e-mail, and more. All the concepts and APIs are clearly presented with code snippets you can customize and use, as you like, in your own apps. If you are going to write a professional iPhone app, you’ll want to get your arms around Core Data, and there’s no better place to do so than in the pages of this book. The book continues right where Beginning iPhone 3 Development left off with a series of chapters devoted to Core Data, the standard for persistence that Apple introduced to iPhone with SDK 3. Jeff and Dave carefully step through each of the Core Data concepts and show you techniques and tips specifically for writing larger applications—offering a breadth of coverage you won't find anywhere else. The Core Data coverage alone is worth the price of admission. But there's so much more. This book covers a variety of networking mechanisms, from GameKit’s relatively simple BlueTooth peer-to-peer model, to the addition of Bonjour discovery and network streams, through the complexity of accessing files via the web. Dave and Jeff will also take you through coverage of concurrent programming and some advanced techniques for debugging your applications. Whether you are a relative newcomer to iPhone development or an old hand looking to expand your horizons, there’s something for everyone in More iPhone 3 Development. Note: A few of the apps in this book demonstrate technologies not yet supported by the simulator. To run them on your iPhone or iPod touch, you'll need to join one of Apple's paid iPhone developer programs. What you’ll learn All about Core Data: key concepts and techniques for writing larger application How to utilize a variety of networking mechanisms, including peer-to-peer connections over Bluetooth using GameKit Details on the addition of Bonjour discovery and network streams How to embed maps with Map Kit and use in-application email How to access a user's iPod library and integrate music into applications Essentials of concurrent programming and advanced debugging techniques Tips on working with data from the web Who this book is for All iPhone and iPod touch developers, especially developers already familiar with early iPhone SDKs. Table of Contents Here We Go Round Again The Anatomy of Core Data A Super Start: Adding, Displaying, and Deleting Data The Devil in the Detail View Preparing for Change: Migrations and Versioning Custom Managed Objects Relationships, Fetched Properties, and Expressions Peer-to-Peer Over Bluetooth Using GameKit Online Play: Bonjour and Network Streams Working with Data from the Web MapKit Sending Mail iPod Library Access Keeping Your Interface Responsive Debugging The Road Goes Ever On...
Learn Objective-C for Java Developers will guide experienced Java developers into the world of Objective-C. It will show them how to take their existing language knowledge and design patterns and transfer that experience to Objective-C and the Cocoa runtime library. This is the express train to productivity for every Java developer who has dreamed of developing for Mac OS X or iPhone, but felt that Objective-C was too intimidating. So hop on and enjoy the ride! Provides a translation service that turns Java problem-solving skills into Objective-C solutions Allows Java developers to leverage their existing experience and quickly launch themselves into a new domain Takes the risk out of learning Objective-C What you’ll learn Apply Java experience to Objective-C and Cocoa Use elegant alternatives that increase productivity Maximize the powerfully unique constructs of Objective-C, like class clusters Think like an object-oriented C programmer to create more reusable code Use all of the things in Java and Objective-C that are actually quite similar, like MVC design patterns Learn how to do all of it within Apple's powerful Xcode programming environment using Cocoa frameworks Who this book is for Experienced Java developers interested in developing native applications for Apple's Mac OS X operating system, iPhone, and iPod touch. Table of Contents Introduction Java and C: Key Differences Welcome to Objective-C Creating an Xcode Project Exploring Protocols and Categories Sending Messages Making Friends with nil Strings and Primitive Values Garbage Collection Introspection Files Serialization Communicating Near and Far Exception Handling Threads Collection Patterns Delegation Pattern Provider/Subscriber Pattern Observer Pattern Model-View-Controller Pattern Lazy Initialization Pattern Factory Pattern Singleton Pattern Memory Management Mixing C and Objective-C Runtime
David Mark, Jeff LaMarche, Jack Nutting
The Cocoa frameworks are some of the most powerful frameworks for creating native desktop applications available on any platform today, and Apple gives them away, along with the Xcode development environment, for free! However, for a first-time Mac developer, just firing up Xcode and starting to browse the documentation can be a daunting task. The Objective-C class reference documentation alone would fill thousands of printed pages, not to mention all the other tutorials and guides included with Xcode. Where do you start? Which classes are you going to need to use? How do you use Xcode and the rest of the tools? This book answers these questions and more, helping you find your way through the jungle of classes, tools, and new concepts so that you can get started on the next great Mac OS X application today. Jack Nutting is your guide through this forest; he's lived here for years, and he'll show you which boulder to push, which vine to chop, and which stream to float across in order to make it through. You will learn not only how to use the components of this rich framework, but also which of them fit together, and why. Jack Nutting's approach, combining pragmatic problem-solving with a deep respect for the underlying design philosophies contained within Cocoa, stems from years of experience using these frameworks. He'll show you which parts of your application require you to jump in and code a solution, and which parts are best served by letting Cocoa take you where it wants you to go. The path over what looks like a mountain of components and APIs has never been more thoroughly prepared for your travels. With Jack's guidance, the steep learning curve becomes a pleasurable adventure. There is still much work for the uninitiated, but by the time you're done, you will be well on your way to becoming a Cocoa master.
While there are several books on programming for Mac OS X, Advanced Mac OS X Programming: The Big Nerd Ranch Guide is the only one that contains explanations of how to leverage the powerful underlying technologies. This book gets down to the real nitty-gritty. The third edition is updated for Mac OS X 10.5 and 10.6 and covers new technologies like DTrace, Instruments, Grand Central Dispatch, blocks, and NSOperation.
Robert McKee's screenwriting workshops have earned him an international reputation for inspiring novices, refining works in progress and putting major screenwriting careers back on track. Quincy Jones, Diane Keaton, Gloria Steinem, Julia Roberts, John Cleese and David Bowie are just a few of his celebrity alumni. Writers, producers, development executives and agents all flock to his lecture series, praising it as a mesmerizing and intense learning experience. In Story, McKee expands on the concepts he teaches in his $450 seminars (considered a must by industry insiders), providing readers with the most comprehensive, integrated explanation of the craft of writing for the screen. No one better understands how all the elements of a screenplay fit together, and no one is better qualified to explain the "magic" of story construction and the relationship between structure and character than Robert McKee.
Essential Skills--Made Easy! Create your own iPhone and Mac OS X applications with ease. Objective-C for iPhone Developers: A Beginner's Guide shows you how to use the Objective-C programming language, Apple's Foundation framework, the iPhone SDK, and the Xcode development environment. The first stop for aspiring iPhone developers, this hands-on guide teaches you how to create versatile, innovative, and marketable apps in no time. Real-world examples throughout the book correspond with downloadable Xcode projects and video tutorials so you can get started with your first app right away. Designed for Easy Learning Key Skills & Concepts--Chapter-opening lists of specific skills covered in the chapter Ask the Expert--Q&A sections filled with bonus information and helpful tips Try This--Hands-on exercises that show you how to apply your skills Notes--Extra information related to the topic being covered Tips--Helpful reminders or alternative ways of doing things Annotated Syntax--Example code with commentary that describes the programming techniques being illustrated Ready-to-use code at www.mhprofessional.com/computingdownload and www.jamesabrannan.com