With the advent of version 2 of the iPhone system, Apple proved they could do a re- markable thing — adapt their existing Cocoa computer application programming framework to make applications for a touch-based device with limited memory and speed and a dauntingly tiny display. The resulting Cocoa Touch framework, in fact, turned out to be in many ways better than the original Cocoa. A program…
With the advent of version 2 of the iPhone system, Apple proved they could do a remarkable thing — adapt their existing Cocoa computer application programming framework to make applications for a touch-based device with limited memory and speed and a dauntingly tiny display. The resulting Cocoa Touch framework, in fact, turned out to be in many ways better than the original Cocoa. A programmi…
A programming framework has a kind of personality, an overall flavor that provides an insight into the goals and mindset of those who created it. When I first encountered Cocoa Touch, my assessment of its personality was: “Wow, the people who wrote this are really clever!” On the one hand, the number of built-in interface widgets was severely and deliberately limited; on the other hand, the…
This book is geared to iOS 8.1 and Xcode 6.1, both of which became publicly available in October, 2014. In general, only very minimal attention is given to earlier versions of iOS and Xcode. As I’ve already said, it is not my intention to embrace in this book any detailed knowledge about earlier versions of the software, which is, after all, readily and compendiously available in my earlier b…
Harald Ganzinger’s research career spanned over 3 decades during which he made numerous contributions to many areas of computer science, ranging from fundamental theory to low-level implementation techniques. During this time period, he also powerfully influenced many researchers’ lives. He had publications with more than 35 different coauthors from many different countries. In this arti…
Chapters 1 and 2 introduce you to the Mac OS X environment, providing a foundation for understanding the origins of the operating system, how it is structured, and what components it contains. The first two chapters explain how to use and navigate Mac OS X, and introduce you to technologies you will use throughout the book.
As emphatic as it may sound, that crazy little thing called Ajax changed the way we approach Web development. Ajax triggered a chain reaction in the world of the Web. Ajax truly repre- sents paradigm shift for Web applications. And, as the history of science proves, a paradigm shift always has a deep impact, especially in scenarios that were previously stable and con- solidated. We are now real…
In the spring of 2006, I had the privilege of taking a very early look at what would eventually become ASP.NET MVC. Scott Guthrie of Microsoft arranged a personal demo just for me backstage at the DevConnections conference in balmy Nice, France. At the time, I had just started playing with ASP.NET Web Forms and the Model-View-Presenter (MVP) p attern. I e xpected to see the usual great set of …
Microsoft SQL Server Integration Services is an enterprise-ready platform for developing data integration solutions. SQL Server Integration Services provides the ability to extract and load from and to heterogeneous data sources and destina- tions. In addition, it provides the ability for you to easily deploy, manage, and configure these data integration solutions. If you are a data integration…
HyperText Markup Language (HTML) makes the World Wide Web possible. Every website uses HTML to render content, and much of HTML’s popularity derives from its simplicity: with knowledge of just a few concepts, anyone can publish content to the Web. HTML may be a way of life for web developers, but when it comes to creating dynamic, data-driven websites, most developers turn to some kind of too…
When Andy and I wrote the first edition, we had to explain the background and appeal of Ruby. Among other things, we wrote, “When we discovered Ruby, we realized that we’d found what we’d been looking for. More than any other language with which we have worked, Ruby stays out of your way. You can concentrate on solving the problem at hand, instead of struggling with compiler and language…
This book is the second edition of the PickAxe, as Programming Ruby is known to Rubyists. It is a tutorial and reference for the Ruby programming language. If you have the first edition, you’ll find that this version is a significant rewrite. When Andy and I wrote the first edition, we had to explain the background and appeal of Ruby. Among other things, we wrote “When we discovered Ru…
As we can see from the rise of social networking sites like Facebook, LinkedIn, My- Space, the Yahoo! Application Platform (YAP), and hundreds of others around the world, there’s a major shift taking place in how humans interact with the Web and how the Web in turn interacts with them. The static web is an artifact of the past, having been replaced by the idea that sites or applications shoul…
This is a book about programming sound. Just as in any other programming book, in this book we’ll cover the technical skills and tools that will enable you to tell a computer how to do something—namely, make sound. But just as with any other programming language, good design is important. I don’t mean visual design; I mean careful thought and practice concerning “how things work.” So …
This book is an advanced reference for the mobile web today, and it is the most complete reference available at this time. This may seem an ambitious claim, but it is the truth. This book draws upon a mix of experience and very detailed research and testing not available in other books, websites, or research papers about the mobile web. Programming the Mobile Web will teach you how to create ef…
WCF is a software development kit for developing and deploying services on Windows. I will describe what a service is in the next section. But WCF is much more—it is literally a better .NET. WCF provides a runtime environment for your services, enabling you to expose Common Language Runtime (CLR) types as services and to consume other services as CLR types. Although in theory you could build …