Learn Objective-C for Java Developers

Learn Objective-C for Java Developers

4.3 3
by James Bucanek

View All Available Formats & Editions

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


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

  1. Introduction
  2. Java and C: Key Differences
  3. Welcome to Objective-C
  4. Creating an Xcode Project
  5. Exploring Protocols and Categories
  6. Sending Messages
  7. Making Friends with nil
  8. Strings and Primitive Values
  9. Garbage Collection
  10. Introspection
  11. Files
  12. Serialization
  13. Communicating Near and Far
  14. Exception Handling
  15. Threads
  16. Collection Patterns
  17. Delegation Pattern
  18. Provider/Subscriber Pattern
  19. Observer Pattern
  20. Model-View-Controller Pattern
  21. Lazy Initialization Pattern
  22. Factory Pattern
  23. Singleton Pattern
  24. Memory Management
  25. Mixing C and Objective-C
  26. Runtime

Product Details

Publication date:
Edition description:
Product dimensions:
7.50(w) x 9.20(h) x 1.20(d)

Meet the Author

James Bucanek is a professional software engineer, with over 25 years of experience in software and systems development. He is the author of Beginning Xcode and the holder of a network patent. Having made the transition to Mac OS X many years ago, he has never looked back.

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >

Learn Objective-C for Java Developers 4.3 out of 5 based on 0 ratings. 3 reviews.
CodeShogun More than 1 year ago
I've been programming with Java since 1998. It's a nice language/platform with automatic garbage collection and a rich set of 3rd party APIs and libraries. However, the introduction of iPhone changed the world, and I wanted to develop some apps for iPhone. Since iPhone does not support Java as their development language, I had to learn Objective-C. Even though I learned some C/C++ back from college days, Objective-C is still quite foreign to me. It's a bit frustrating to Google and searching through Apple's documentation to find something equivalent (that works in Java) to be used in Objective-C. After many fruitless searches and frustration, I thought I might never learn Objective-C. Then this book was released and I grabbed a copy. After reading it, I truly wish this book was available earlier so I didn't waste so much time searching blindly in Google. James did a wonderful job bring Java and Objective-C comparison side by side. But keep in mind, no single book can cover EVERYTHING between Java and Objective-C. There are obviously certain things missing but for the most part, it covers many grounds between Java and Objective-C. Part 1 - Language Chapeter 1-7 give you some nice introduction to Objective-C, and along the way, comparing with Java, and gradually feeds you more and more Objective-C features. Chapter 5 on Protocols and Categories is very nice, but I wish it was much longer. Protocols and Categories are very powerful features in Objective-C. They alone deserve a whole book ;) Part 2 - Translating Technologies Chapter 8-15 touches on many fundamentals of both languages, Strings and primitive values, Garbage Collection, Introspection, Files, Serialization, Exception Handling and Threads. The author shows us side-by-side code snippets comparison between Java and Objective-C. This alone is invaluable to us readers. There are some mind-bending situations where you will say: why it's so different? and makes you feel confused and puzzled. Then if you read up Apple's official documentation, and explore the APIs further, you will realize why things are in certain way in Objective-C. Definitely lots of learning there. Part 3 - Programming Patterns Chapter 16-23 shows the readers some common programming and design patterns in both language flavors. Collection pattern, Delegation pattern (lots of Objective-C APIs are through the use of delegation), Provider/Subscriber pattern, Observer Pattern(you will find how easy it is to setup observers in your program), MVC, Lazy Initialization, Factory, and our favorite Singleton pattern. Of course, there are many more patterns that are not covered here, but these basic patterns are enough to get you started. Again, patterns alone warrants a whole 900-page book, so hopefully something comes out soon. Part 4 - Advanced Objective-C Chapter 24-26 deals with memory management, mixing c and objective-c, and runtime. Memory management is especially important in iPhone SDK since so far iPhone SDK does not support automatic garbage collection. So all the memory allocations you have in the codes must be taken care of. Mixing C and Objective-C is very interesting, it should be very helpful for gaming development, where in many cases, involves game engines written in C. Overall, it's a solid book for Java developers who want to dive into Objective-C. You might need to read it a few times to fully understand certain topics. It's a good reference book as well if y
BradBroulik More than 1 year ago
Pros: 1) Many of the Objective-C examples were also shown with their Java counterpart. This added value in two regards. First, it clarified what the example was really doing. I could simply reference the Java version and quickly understand the Objective-C code. Secondly, it allowed me to compare and contrast the two languages. In many cases (but not all) the Objective-C examples contained fewer lines of code. 2) In addition to the Java and Objective-C examples, the book also had many table-based comparisons for common features (data types, methods). For example, one page listed the Java data types and their Objective-C alternative including their size and range restrictions. Again this helped simplify the learning curve. The table-based charts were also used for common method declarations too. For example, the common String utility methods were shown side-by-side. One column showing Java's String utility method declarations and the other column showing the Objective-C alternative. 3) Most code examples were a page or less. This helped simplify the learning process by allowing me to focus on more isolated code fragments. Cons: 1) Many books that teach a new programming language typically include exercises at the end of each chapter that the reader can take away and complete. This book did not have any. This is a minor complaint. I can definitely think of sample programs to write. 2) The index does not always serve as a good reference for finding things quickly. For example, I wanted to find more information about logging and "logging" or "NSLog" were not in the index. Need to find the for loop quickly? You will not find it in the index. It is actually found in the index under "Collections, iterating through". The index could have been structured slightly better for quick search keywords. 3) An Objective-C quick reference guide would have been helpful. This did not bother me too much because about the time I started reading this book DZone released a new Objective-C reference guide (http://refcardz.dzone.com/refcardz/objective-c-iphone-and-ipad). I highly recommend it! In my previous "con" I mentioned that it can be painful to find certain topics (logging, data types, loops) quickly within the index. The DZone refcard provides quick access to those topics and more! Summary: Overall this book is a very valuable resource for Java developers that want to learn the Objective-C language. The author greatly simplifies the Objective-C learning curve by contrasting many features and examples to its Java equivalent.
Anonymous More than 1 year ago