iPhone Game Development - Chris Craft [158]
Where to learn more
As we've mentioned, getting good at finding answers to your questions and solutions to your problems is one of the most important skills you can develop. We learned from the resources Apple offers and from newsgroups. Many of these resources are listed in Appendix A, but here are a couple of good ones to get you started.
Apple resources
http://developerapplecom/iphone
Getting started videos
Getting started documents
iPhone reference library
Coding how-to's
Sample code
Examples, questions, and answers
• http://appsamuckcom
• http://DevForumsApplecom
• http://StackOverflowcom
Preparing for the future
We have established the fact that you will always learn more and you will need to embrace changes in the SDK to keep current. The challenge is to build an application that employs strategies that minimize the impact of SDK changes.
Building apps with change in mind
You saw in the Amuck-Tac-Toe application in Chapter 8 how we used a factory to instantiate our connection class. This pattern is useful because it allows a single code base to effectively connect with any connection that can implement the protocol. However, this pattern is also useful for insulating the components of our application from changes in the iPhone SDK.
In the new 3.0 releases, a new sound library has been introduced. If you previously implemented a pattern that abstracts your sound actions from your sound engine, you could simply replace your sound engine implementation with a new one. This would effectively swap implementations without recoding every line that calls out to the sound engine.
Predicting the future
Okay, we cannot read minds, and we cannot teach you to read them, either. However, you can watch the industry and plan for obvious changes that you believe will be implemented. Remember that the iPhone is not the first mobile device to hit the market. Several features that are “new” to the iPhone are not new to mobile devices. The following new and exciting features that are now on the iPhone were, in some cases, available much earlier on other devices:
3G networking
P2P over Bluetooth
GPS
Compass
Turn-by-turn directions
MMS
Video
Push notification
This is important, because if you code for a feature that is not available yet, you can be that early bird that gets the worm. On the other side, you may build an app that never gets the feature it needs to run, but eventually you will get lucky. What do you think the future holds for the iPhone? Here is a list of ideas that may or may not come to fruition in the future:
More space, more memory, faster processors
Higher-resolution screens
Bigger iPod version with bigger screen
Smaller iPod version with smaller screen (new nano?)
More APIs that are available today in Mac OS
More accurate GPS
More carriers
More languages
Flash support
Multitasking/background processes
Ability to download apps without the App Store
Watch the newsgroups, evaluate the rumors, and you will be able to pick some items you feel confident will happen. Take this knowledge and be the first to build the next cutting-edge app before the competition can even begin to catch you!
Part V: Appendixes
Appendix A
Resources
Appendix B
31 Days of iPhone Apps
Appendix A: Resources
Useful Links
71squared
www.71squared.co.uk/
This is a great Web site that focuses specifically on iPhone game development. It is updated often with new material.
148Apps.biz
http://148apps.biz/
There is a good focus on the business and marketing realities of iPhone application development.
AppsAmuck
http://appsamuck.com/
Famous for the 31 days of iPhone applications, this is the site that many of the apps in this book originated