| | |  | Software Engineering | Home » » » Learn Objective-C for Java Developers (Learn Series) | | | | | | | Product Promotions: | | | | | Description: | | 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
| | | Product Details: | | | Author:
| James Bucanek | | Paperback:
| 520 pages | | Publisher:
| Apress | | Publication Date:
| September 25, 2009 | | Language:
| English | | ISBN:
| 1430223693 | | Product Length:
| 9.3 inches | | Product Width:
| 7.52 inches | | Product Height:
| 1.06 inches | | Product Weight:
| 1.61 pounds | | Package Length:
| 9.0 inches | | Package Width:
| 7.5 inches | | Package Height:
| 1.2 inches | | Package Weight:
| 1.65 pounds | | Average Customer Rating:
| based on 6 reviews |
| | | | Customer Reviews: | |
Average Customer Review:
( 6 customer reviews )
Write an online review and share your thoughts with other customers.
Most Helpful Customer Reviews
14 of 14 found the following review helpful:
A must read for java developers who wants to learn Objective-CNov 19, 2009
By H. Wu
"Code Shogun"
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 you want to look up something quick in Objective-C but you only know how to do that in Java.
23 of 26 found the following review helpful:
Ok..but...!Oct 15, 2009
By Karthikeyan K. Balakrishnan I am a java developer and I rushed to buy this book after finding this title on the web. I was hoping that the transition from Java to Objective C would be very easy. But here is my opinion: I started reading this book and found that the first few chapters were ok..but eventually stopped reading since I felt like there is lot of new information about Objective C the author is trying to say in single section in multiple places. It took me a lot of time understanding some of the concepts because of the above reason. I bought this because I thought I could leverage my Java knowledge and come upto speed on Objective C. Though there are comparisons of Syntax between Java and Objective-C then and there, I felt it not very useful to leverage the Java concepts easily. There weren't enough detailed explanation of the examples whenever there are new concepts.
Instead I tried the following: Googled and took a free online crash course in C which took a day of my time. Then I started reading the book 'Learn Objective C on the Mac' by the same publisher. I loved the book. The book teaches the objective C concepts step by step and with detailed explanation of concepts incrementally.
Now, I am continue to stick with the second book and learning Objective C
6 of 6 found the following review helpful:
I needed this book a year ago, but am thrilled it is finally hereNov 21, 2009
By Matthew McCullough
"matthew.mccullough"
Being a Java developer for more than 10 years and having explored the Objective-C platform for iPhone development for more than the last year, I struggled in the early days. I longed for a document that spoke to me, the Java emigre, and helped me map my existing knowledge into this new field of development. Finally, such a book has hit the shelves in the form of James Bucanek's Learn Objective-C for Java Developers.
James warns us that direct comparisons between these languages are insufficient, but acknowledges it gives us a great common vocabulary to start with. Once the comparisons have been drawn and as we become comfortable on the Objective-C language, James takes us beyond Obj-C as Java and shows the dynamism of this unique platform. We progress through memory management, persistence, and other platform specific critical technologies, learning each from James in a very friendly tutorial-style manner.
The book ends in a fevered pitch with an overview of mixing C and Obj-C. Overall, I was very pleased with the book, primarily because it spoke to me as a Java developer, and second because the writing style was very digestible. I highly recommend this book to any Java developer moving to the iPhone platform.
4 of 4 found the following review helpful:
Ideal book for Java developers that want to learn Objective-CAug 31, 2010
By Brad Broulik 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 [...]. 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.
Making Objective-C learnableFeb 01, 2012
By Tough to please With all my many years of programming experience I still have found Objective-C a difficult language to work with, let alone master. I tried a few of the free, on-line, introductory texts and found them pretty opaque. An exception was an old version of a Kochan book that I downloaded, but it is basically for beginners.
However Bucanek's Learn Objective-C for Java Developers turned things around for me. While it introduces topics very well, its real strength is its coverage of the difficult and advanced topics, e.g. run loops, threads, and connections; they are covered in a depth not found in most books. And the various other esoteric Objective-C features, e.g. categories, protocols, serialization, and garbage collection are also done well and in some depth. One gets a real respect for the author's knowledge of his subject.
The downloadable code is especially useful, mainly for allowing a good understanding of the Cocoa environment and Interface Builder. Looking through the various nib files was most helpful to me in learning Interface Builder.
I should also add that the book is not just useful to Java developers. While they might have an edge in reading the book, the Objective-C text stands on its own.
I'm very happy to have come across Bucanek's book.
See all 6 customer reviews on Amazon.com
| | |
|