Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
iOS 7 app development essentials : developing iOS 7 apps for the iPhone and iPad
Smyth N., CreateSpace Independent Publishing Platform, 2013. 764 pp. Type: Book (978-1-492854-34-0)
Date Reviewed: Apr 9 2014

Developing iOS 7 applications is a desirable skill. The iPhone and the iPad are successful and influential devices: millions have been sold, and many people consider them essential. Portable computing, now centered on smartphones and tablets, is here to stay, and the demand for applications that run on these devices will continue to grow.

iOS developers have available, free of charge, two mature and sophisticated tools to work with: Xcode, which is an integrated development environment (IDE), and the iOS 7 software development kit (SDK), which is a framework. They work synergistically together; developers experience them as a unit. Developing iOS applications is a complex endeavor for several reasons: applications are expected to be powerful yet easy to use; the size of smartphones inherently imposes a severe limitation and challenge for designing high-quality interactive screens; and Xcode and iOS 7 SDK are complex and multifaceted, so learning them requires considerable effort. One of a handful of languages can be used as the glue that puts things together; this book uses Objective-C, which is by far the predominant choice.

This book, meant to satisfy the needs of both novice and experienced programmers, is an excellent guide to the entire field of iOS application development. The book is 735 pages long and has 89 chapters. The table of contents, which spans 25 pages, is very detailed and extremely helpful, since it is unlikely that anyone will read the book sequentially from beginning to end. Coverage is detailed and comprehensive, and each chapter is sharply focused and of manageable size. Some chapters contain background and tutorial information, while others contain detailed implementation instructions and working examples developed from scratch. I liked very much the separation of conceptual information from implementation details. This makes for easier and quicker assimilation of what is really a daunting amount of detail.

iOS 7 introduced several new features and updates. Programmers familiar with earlier versions of iOS will find iOS 7-specific information mostly in several new chapters, but the author has also made appropriate changes and updates throughout the book. The best approach experienced programmers can take is to concentrate on the features they wish an application to have, and to look for the places where those features are discussed.

For programmers that are new to iOS, the book begins with information about setting up the environment and registering as an Apple developer, which allows access to Xcode and iOS 7 SDK. The author recommends delaying joining the iOS Developer Program, a $99 per year expense, and gives advice about the appropriate time to do it. He then demonstrates developing and testing a simple “Hello, World!” application. Next comes an introduction to the iOS architecture and the SDK framework, and a bare-bones summary of Objective-C. That material, plus chapter 10, “An Overview of the iOS Application Development Architecture,” is the minimum essential information that novice developers should review thoroughly before attempting to branch off in different directions according to desire or need.

This is an excellent book for self-study, but it could also be used in the classroom. Since there is more than enough material for one semester, the instructor would need to select the sections he wants to cover in the course. There are no questions or exercises, but I don’t think they are needed: the examples given can easily be enhanced for assignments and group projects.

An inevitable question for iOS novices is how much prior experience is necessary. They should be familiar with object-oriented programming fundamentals; an introductory programming course in Python or Java should be adequate. Familiarity with algorithms and data structures will be very useful. If they don’t know Objective-C, the two chapters about it in this book are not enough. In that case, they should also be learning Objective-C from another book or an online tutorial.

Finally, I should mention that this book is available online [1]. The benefit to the online copy is that the illustrations are in color, whereas the ones in the book are in black and white. However, the online copy is awkward to read and full of advertisements. The cost of a paperback copy is well worth it, and I recommend it.

This is a good book to have. The technology is advancing rapidly; by the time you feel you have gotten from it all it has to offer, something new will very likely have already come along.

More reviews about this item: Amazon

Reviewer:  Edgar R. Chavez Review #: CR142154 (1406-0392)
1) Smyth, N. iOS app development essentials. http://www.techotopia.com/index.php/IOS_7_App_Development_Essentials. Accessed 04/09/2014.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
Apple (D.3.2 ... )
 
 
Objective-C (D.3.2 ... )
 
 
Portable Devices (C.5.3 ... )
 
 
Microcomputers (C.5.3 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy