Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Architecting a Complex iPhone Application?

I am comming from an enterprise java development organization where we did development in nicely seperated re-usable layers. Persistency layers, Service layers, etc etc.

Now, I am looking for iPhone example apps or documentation on how to architecture complex iPhone projects. Most books & apple examples show you very limited code & architecture. They are not usable imo.

What I am also looking for is info on how to setup a continuous-integration build system which runs all my unit tests on code checkin & reports the unit test findings to a system where we can see the results. For our java projects, we use svn, mvn & sonar for this. What's apple's equivalent for this setup? Is it even possible?

So, to summarize my questions:
Q1: Are there any examples or books on complex iPhone project architecture?
Q2: How do we setup a continuous-integration build system?

like image 993
Tycho Pandelaar Avatar asked Dec 04 '09 07:12

Tycho Pandelaar


People also ask

Which architecture is best for iOS app development?

The Model-View-Controller (MVC) pattern uses Delegation. Additionally, MVC is the most popular iOS Software architectural pattern for developing Apple apps. This is how it works: A user performs an action within the user interface (ie View).

What are the common layers of responsibility that an iOS application has?

User Interface handles interactions between the user and the app. Data Access exposes the data stored in external system, e.g. CoreData, iCloud, REST API, to the business layer. Business Logic it the software representation of the business concepts.

Can I build iOS apps for free?

You can learn how to develop apps for Apple platforms for free without enrolling. With just an Apple ID, you can access Xcode, software downloads, documentation, sample code, forums, and Feedback Assistant, as well as test your apps on devices. If you don't already have an Apple ID, you can create one now.


1 Answers

How complex of an example would you like? This question links to a number of non-Apple open source iPhone applications, including my own. Some of the applications out there are relatively complex.

As far as design goes, I'd highly recommend the book Cocoa Design Patterns. While not strictly for the iPhone (given Cocoa's beginnings at NeXT and more recent presence on the Mac), the design patterns covered are core to the architecture of the Cocoa frameworks and Cocoa applications.

I'd also recommend paying for the WWDC 2009 videos and watching the sessions "iPhone User Interface Design", "Effective iPhone App Architecture", and "Prototyping iPhone User Interfaces". There are a lot of good suggestions for architecting iPhone applications in these sessions.

I've used unit tests with my applications, but I have not done any form of continuous-integration building. However, this question looks to have a lot of good information on doing continuous integration with Xcode.

like image 65
Brad Larson Avatar answered Sep 30 '22 04:09

Brad Larson