A few months ago we were given the opportunity to rebuild the Chegg iOS application from scratch. With our "Student Hub" tagline in mind, we wanted to create a platform that would help multiple developers develop new capabilities fast with minimum integration time. We came up with the idea that every major feature in the app (like the e-reader) will be presented as a module. Each module will have its own code base and will not be able to import code from other modules. That way, every module can be developed as an isolated unit, which effectively means that bugs from one module can't be passed to another. Moreover, components that are used in multiple modules like the networking layer, authentication logic and even error views are developed in a core module which allows us to efficiently reuse its code. In order to achieve that goal, every module is represented by a static library. The Chegg app itself is a thin layer, which only passes system and application events back to the modules. The modules have no reference in the code as they are only being linked to the project.


I guess you came to this post by searching similar kind of issues in any of the search engine and hope that this resolved your problem. If you find this tips useful, just drop a line below and share the link to others and who knows they might find it useful too.

Stay tuned to my blogtwitter or facebook to read more articles, tutorials, news, tips & tricks on various technology fields. Also Subscribe to our Newsletter with your Email ID to keep you updated on latest posts. We will send newsletter to your registered email address. We will not share your email address to anybody as we respect privacy.


This article is related to

Dependency Injection Framework for Objective-C,iPhone Articles,iPhone Development,iPhone Turorial,Mobile Development Tutorials,Mobile Developments,Objective C