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
David Mark, Jeff LaMarche
Are you a programmer looking for a new challenge? Does the thought of building your very own iPhone app make your heart race and your pulse quicken? If so, Beginning iPhone 3 Development: Exploring the iPhone SDK is just the book for you. Updated and revised for iPhone SDK 3, many of the discussions in the original book have been clarified to make some of the more complex topics easier to understand. In addition, all of the projects have been rebuilt from scratch using the SDK 3 templates. Assuming only a minimal working knowledge of Objective-C, and written in a friendly, easy-to-follow style, this book offers a complete soup-to-nuts course in iPhone and iPod touch programming. The book starts with the basics, walking you through the process of downloading and installing Apple's free iPhone SDK, and then stepping you though the creation of your first simple iPhone application. From there, you'll learn to integrate all the interface elements iPhone users have come to know and love, such as buttons, switches, pickers, toolbars, and sliders. You'll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs. The confusing art of table building will be demystified, and you'll see how to save your data using the iPhone file system. You'll also learn how to save and retrieve your data using SQLite, iPhone's built-in database management system. In addition, you'll also learn about Core Data, an important persistence mechanism that has just been added with SDK 3. And there's much more! You'll learn to draw using Quartz 2D and OpenGL ES, add multitouch gestural support (pinches and swipes) to your applications, and work with the camera, photo library, accelerometer, and built-in GPS. You'll discover the fine points of application preferences and learn how to localize your apps for multiple languages. You can discover more about this book, download source code, and find support forums at the book's companion site, at www.iphonedevbook.com. The iPhone 3 update to the best-selling and most recommended book for iPhone developers Packed full of tricks, techniques, and enthusiasm for the new SDK from a developer perspective The most complete, useful, and up-to-date guide to all things having to do with Apple's iPhone SDK What you’ll learn Everything you need to know to develop your own best-selling iPhone apps Best practices for optimizing your code and delivering great user experiences Who this book is for Anyone who wants to start developing for iPhone and iPod touch What's changed from the first edition of Beginning iPhone Development All code samples have been updated to follow current Apple coding conventions The autorotation code has been updated to use the new single-step fast autorotation instead of the original two-step method A new section has been added introducing Core Data, covering basic principles and showing how to build a simple Core Data application All the table view-related chapters have been updated to use table view cell styles. They've also been updated to use textLabel and detailTextLabel instead of the deprecated text property of the table view cell. All known errata have been corrected All projects have been rebuilt from scratch using the SDK 3.0 templates Many concepts have been clarified based on feedback and supplemented with information we've learned from another year of using the SDK Table of Contents Welcome to the Jungle Appeasing the Tiki Gods Handling Basic Interaction More User Interface Fun Autorotation and Autosizing Multiview Applications Tab Bars and Pickers Introduction to Table Views Navigation Controllers and Table Views Application Settings and User Defaults Basic Data Persistence Drawing with Quartz and OpenGL Taps, Touches, and Gestures Where Am I? Finding Your Way with Core Location Whee! Accelerometer! iPhone Camera and Photo Library Application Localization Where to Next?
David Mark, Jeff LaMarche, Jack Nutting
Beginning iPhone 4 Development is here! The authors of the bestselling Beginning iPhone 3 Development are back, with the same excellent material completely updated for iOS 4 and written from the ground up using the latest version of Apple's Xcode 3. All source code has been updated to use the latest Xcode templates and current APIs, and all-new screenshots show Xcode 3 in action. Beginning iPhone 4 Development is a complete course in iOS 4 apps development. You’ll master techniques that work on iPhone, iPad, and iPod touch. We start with the basics, showing you how to download and install the tools you'll need, and how to create your first simple application. Next you’ll learn to integrate all the interface elements iOS users have come to know and love, such as buttons, switches, pickers, toolbars, and sliders. You’ll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs. The confusing art of table building will be demystified, and you’ll learn techniques to save and retrieve your data using SQLite, iPhone’s built-in database management system and Core Data, the standard for persistence that Apple brought to iOS with the release of SDK 3. And there’s much more! You’ll learn to draw using Quartz 2D and OpenGL ES, add multitouch gestural support (pinches and swipes) to your applications, and work with the camera, photo library, accelerometer, and built-in GPS. You’ll discover the fine points of application preferences and learn how to localize your apps for multiple languages. You'll also learn how to use the new concurrency APIs included in iOS 4, and make robust multithreaded applications using Grand Central Dispatch. The iPhone 4 update to the best-selling and most recommended book for Cocoa touch developers Written in an accessible, easy-to-follow style Full of useful tips and techniques to help you become an iOS pro NOTE: For iPhone 4S or iOS 5 apps development, please instead check out the next edition of this book, Beginning iOS 5 Development - now available. What you’ll learn Everything you need to know to develop your own best-selling iPhone and iPad apps Best practices for optimizing your code and delivering great user experiences How to create “universal” apps for both iPhone and iPad Who this book is for Anyone who wants to start developing for iPhone, iPad, and iPod touch. You can discover more about this book, download source code, and find support forums at the book's companion site, at www.iphonedevbook.com. Table of Contents Welcome to the Jungle Appeasing the Tiki Gods Handling Basic Interaction More User Interface Fun Autorotation and Autosizing Multiview Applications Tab Bars and Pickers Introduction to Table Views Navigation Controllers and Table Views iPad Considerations Application Settings and User Defaults Basic Data Persistence Grand Central Dispatch, Background Processing, and You Drawing with Quartz and OpenGL Taps, Touches, and Gestures Where Am I? Finding Your Way with Core Location Whee! Gyro and Accelerometer! iPhone Camera and Photo Library Application Localization Where to Next?
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.
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, Jack Nutting, Jeff LaMarche
The team that brought you the bestselling Beginning iPhone 4 Development is back again for Beginning iOS 5 Development, bringing this definitive guide up-to-date with Apple's latest and greatest iOS SDK, as well as with the latest version of Xcode. There's coverage of brand new technologies, with chapters on storyboards and iCloud, for example, as well as significant updates to existing chapters to bring them in line with all the changes that came with the iOS 5 SDK. You'll have everything you need to create your very own apps for the latest iOS devices, including the iPhone 4S, iPad 2, and the latest iPod touch. Every single sample program in the book has been rebuilt from scratch using Xcode 4.2 and the latest iOS 5-specific project templates and designed to take advantage of the latest Xcode features. Assuming only a minimal working knowledge of Objective-C, and written in a friendly, easy-to-follow style, Beginning iOS 5 Development offers a complete soup-to-nuts course in iPhone, iPad, and iPod touch programming. The book starts with the basics, walking through the process of downloading and installing Xcode and the iOS 5 SDK, and then guides you though the creation of your first simple application. From there, you'll learn how to integrate all the interface elements Apple touch users have come to know and love, such as buttons, switches, pickers, toolbars, and sliders. You'll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs. The confusing art of table building will be demystified, and you'll learn how to save your data using the iPhone file system. You'll also learn how to save and retrieve your data using a variety of persistence techniques, including Core Data and SQLite. And there's much more! You'll learn to draw using Quartz 2D and OpenGL ES, add multitouch gestural support (pinches and swipes) to your applications, and work with the camera, photo library, accelerometer, and built-in GPS. You'll discover the fine points of application preferences and learn how to localize your apps for multiple languages. The iOS 5 update to the bestselling and most recommended book for Cocoa touch developers Packed full of tricks, techniques, and enthusiasm for the new SDK from a developer perspective Written in an accessible, easy-to-follow style
If you’re an iOS app developer, chances are you’ll be using table views in your development projects. Table views are the bread and butter of iOS apps. With them, you can create everything from the simplest of lists to fully tricked-out user interfaces. Table views are one of the most complex components found in UIKit. While using them for boring standard user interfaces is quite simple, customizing them can become really challenging. Pro iOS Table Views takes a task-oriented focus to assist you when implementing customized table views. Although it delves deeply into the Table View API, you can always decide in which level of detail you want to dive in. It’s aimed to be a great reference and customization cookbook at the same time, useful for beginners as well as intermediate developers. Covers the entire Table View API in depth Covers customization and performance topics in depth Task-oriented reference with multiple levels of detail Note: source code for this title is currently available for download at: https://github.com/timd/Pro-iOS-TableViews What you’ll learn The anatomy of tables and cells The design patterns that power the table view How to create and configure table views How to customize every last little detail of the table view How to use table views on the iPad Advanced tips and tricks for performance and killer user interfaces The latest updates in iOS 5 and how to exploit them Who this book is for The book is targeted at iOS developers who need to customize Table Views. The information is divided into several layers of detail. While the book covers complex customization topics and user interaction techniques, it provides the fundamental basics needed for customization. Both beginners and intermediate developers will find great value in this book as a helpful reference, at hand to quickly refresh their knowledge at any given time. Table of ContentsPart 1: The background and the basics Chapter 1 Table views from the ground up Chapter 2 How the table fits together Chapter 3 Feeding the table with data Part 2: Working with table content Chapter 4 How the cell fits together Chapter 5 Using tables for navigation and static content Chapter 6 Indexing table content, grouping & sorting table content: Chapter 7 Selecting & editing table content Part 3: Customizing the look and feel Chapter 8 Customizing cells: 12/15 Chapter 9 Customizing cells: 12/22 Chapter 10 Improving the cell’s interaction:12/29 Chapter 11 IPad
Richard Mitchell, Jim McKim
Design by Contract is a general approach to software design that dramatically improves the quality of the resulting products. This book provides an example-based approach to learning the powerful concept of Design by Contract.
David Mark, Jeff LaMarche, Alex Horovitz, Kevin Kim
Interested in iPhone and iPad apps development? Want to learn more? Whether you’re a self-taught iPhone and iPad apps development genius or have just made your way through the pages of Beginning iOS 6 Development, we have the perfect book for you. More iOS 6 Development: Further Explorations of the iOS SDK digs deeper into Apple’s latest iOS 6 SDK. Bestselling authors Dave Mark, Alex Horovitz, Kevin Kim 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 or iPad 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 iOS 6 Development leaves off, with a series of chapters devoted to Core Data, the standard for Apple persistence. Dave, Alex, Kevin and Jeff carefully step through each Core Data concept and show techniques and tips specifically for writing larger apps—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! More iOS 6 Development 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, Alex, Kevin, and Jeff will also take you through coverage of concurrent programming and some advanced techniques for debugging your applications. The enhanced multitasking, threading, memory management and more are important. Apps are getting more and more complex, including sophisticated game apps that offer virtual or augmented reality experiences and new mapping views that take advantage of sensors and other APIs in the newest iOS 6 SDK. Whether you are a relative newcomer to iPhone and iPad or iOS development or an old hand looking to expand your horizons, there’s something for everyone in More iOS 6 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 applications 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 apps Essentials of concurrent programming and advanced debugging techniques How to work with enhanced multitasking, threading, memory management and other APIs Tips on working with data from the web and the cloud, including Apple's iCloud How to work with the iOS 6 SDK when dealing with sensors, gyroscopes, etc. for augmented reality experiences in game and socia media apps Who this book is for All iPhone, iPod touch, and iPad app developers, especially developers already familiar with the basics of Apple's iPhone SDKs and who have read the previous volume, Beginning iOS 6 Development.
Erica Sadun, Rich Wardwell
Completely updated for iOS 7 and Xcode 5 This book brings together reliable, proven solutions for the heart of day-to-day iOS 7 development. Renowned iOS programming expert Erica Sadun and top iOS developer Rich Wardwell cover all you need to create successful iOS 7 mobile apps with standard APIs and interface elements and take full advantage of iOS 7 graphics, touches, and views. As in all of Sadun's iOS bestsellers, The Core iOS Developer's Cookbook translates modern best practices into working code, distilling key concepts into concise recipes you can easily understand and apply in your own projects. This isn't just cut-and-paste; using examples, Sadun and Wardwell fully explain both the "how" and "why" of effective iOS 7 development. All code is fully revised and extensively tested to reflect new iOS 7 features and device capabilities. Coverage includes Creating advanced direct touch-based interfaces with multi-touch, gestures, and custom gesture recognizers Building and customizing controls in powerful new ways Creating interfaces that reflect the new iOS 7 design paradigm Implementing new iOS 7 motion effects Alerting users via pop-ups, progress bars, local notifications, popovers, audio pings, and more Using Xcode modules to easily integrate system frameworks and headers Assembling views and animation, organizing view hierarchies, and understanding how views work together Supporting multiple screen geometries with the breakthrough iOS 7 Auto Layout constraints system Controlling keyboards, making onscreen elements "text aware," and efficiently scanning and formatting text Organizing user workspaces with view controllers Managing photos, videos, email, and text messages Leveraging the enhanced iOS 7 support for social media activities, including Flickr and Vimeo Implementing VoiceOver accessibility, including new iOS 7 text-to-speech Getting started with Core Data-managed data stores Leveraging the powerful iOS 7 networking and web services support Using the new iOS 7 APIs and added flexibility to enhance everything from reliability to text appearance Working around new iOS 7 problems and bugs