Skip to main content

Open source iOS components? Reusable views, controllers, buttons, table cells, etc?


Are there any repositories around for open sourced iPhone and iPad components?



For instance, I have found myself needing to create several new types of table cells to mimic some of Apple's existing functionality (for instance, all the different types of table cells present in the Settings application). I can't imagine I'm alone here.



Where do you go to find open sourced reusable components, or do you just write and hoard your own?



Update: I know there are open source full projects around ( see this question ), but rummaging through them and picking and choosing still leads to significant duplication of effort.



Meta: There's a site for that!



There's a new nicely browsable list of iOS controls at http://cocoacontrols.com/ .



Ongoing List



Here are some libraries that I've found or been told about (even answered here) since asking this question:



Source: Tips4allCCNA FINAL EXAM

Comments

  1. Here are some good iOS open-source libraries/frameworks & projects:

    UI Libraries & Frameworks


    Useful categories & common UI's

    SSToolkit
    TapKu
    GHKit

    Three20: Foundation of Facebook's iPhone app
    Progress indicator overlays

    MBProgressHUD: Rounded-rect translucent
    DSActivityView: Horizontal-style & rounded-rect translucent

    MGImageUtilities: Resize, crop, and tint UIImages.
    MGTwitterEngine: Twitter integration library for Mac OS X and iPhone
    TISwipeableTableView: Swipe UITableViewCell to reveal a back view, like cells in the "Twitter" app
    AcaniChat: Open-source version of iPhone's native Messages app
    Photo viewers


    Networking


    REST

    RestKit: Makes interacting with RESTful web services simple, fast and fun
    HTTPRiot: A simple HTTP REST Library
    ObjectiveResource: Makes interacting with Ruby on Rails applications dead simple

    Sockets

    AsyncSocket: TCP/IP socket networking library that wraps CFSocket and CFStream
    Zimt: HTML5 Websockets



    Core Data


    mogenerator: Core Data code generation


    Projects


    TwitterFon


    Game Libraries & Frameworks


    cocos2d
    Sparrow Framework
    Physics engines

    Box2D & Chipmunk



    Testing Libraries & Frameworks

    ReplyDelete
  2. Not many people build open-sourced components for iPhone because they would use their time to build up applications and sell them on AppStore. :-) But lots of people are kind enough to give all their efforts for free. As John Fricker suggested, you will get a huge number of iPhone projects by taking: http://code.google.com/search/#q=UIKit

    If you want a "Settings Table"-liked component, it's here: http://code.google.com/search/#q=UIPreferencesTable (UIPreferencesTable is one of unofficial APIs in iPhone SDK). First result is worth to read: http://code.google.com/p/iphone-placemaps/

    ReplyDelete
  3. I have released three new Open Source projects on github the last month.

    CWFoundation - Augmenting the Foundation framework


    Conditional logging
    Network monitoring
    XML to domain object translations
    Concurrency additions to NSObject and NSOperationQueue
    And a bunch of small convenience stuff


    CWUIKit - Additions to UIKit


    Block based callbacks for UIAlertView and UIActionSheet
    A Callout view like in MapKit
    Column table view, like UITableView but with multiple columns
    Linear layout view for dynamically sizing views
    And many many more views and additions to make UI building easier


    CWCoreData - Making it easy to work with several managed contexts


    Lazy creation of default Core Data objects
    Thread local NSManagedObjectContext instances
    And a bunch of convenience methods for common tasks


    I have also written a longer blog post on the topic of open source on iOS called The state of iOS Open Source - and what to do about it.
    The truth is that there is a lot of open source code out there, but most of it is not well packaged for re-use and collaboration.

    ReplyDelete
  4. UIView that allows you to build Rating components to provide the same kind of experience AppStore or Youtube applications on iPhone do.

    http://code.google.com/p/s7ratingview/

    ReplyDelete
  5. cocos2d-iphone is a great 2D game engine with a built-in physics engine.

    ReplyDelete
  6. code.google.com has too many to name.

    Also WordPress released their iPhone app open source here

    ReplyDelete
  7. I've been working on a library of re-usable components which can be found at http://github.com/huddletech/HTFramework

    ReplyDelete
  8. Core Plot - a plotting framekwork for iOS and Mac development. It's open source and very flexible.

    ReplyDelete
  9. Cocoa Objects is a repository that lists open source, reusable Objective-C code for Mac OS and iOS.

    ReplyDelete
  10. Make sure you double-check the component's license.

    If it's MIT or Apache then most of the times you're OK, but if it's GPL, you need to either release the source code of the application you're writing or ask the original author for an permission to use the component.

    ReplyDelete
  11. I don't know of any control-specific repositories, but there are a number of open-source iPhone projects around that can be helpful for mimicking behavior.

    ReplyDelete
  12. Tapku looks like another nice one.

    ReplyDelete
  13. I just started a collection of open-source self-contained (.h/.m, not external deps) components at https://github.com/andreyvit/SoloComponents-iOS, published three of my own components there initially.

    ReplyDelete
  14. I was thinking about this just yesterday, there are so many Open Source projects out there that could be ported to the iphone but they aren't, obviously a most of it is not relevant to the iphone (anything use X for example) :)

    I think the community needs something like Macports but for the iphone (iphonePorts??) of course many of the existing open source applications won't be relevant but the libraries can be extremly useful. I am currently looking into porting TTS library to iphone (see my question here )

    ReplyDelete
  15. TSAlertView drop in replacement for UIAlertView with additional features and customization:

    https://github.com/TomSwift/TSAlertView

    ReplyDelete
  16. I see no mention of JSON parser/generator. What do you think about this one: http://stig.github.com/json-framework/

    Also for regular expression support: RegexKitLite

    ReplyDelete
  17. One of the best share component AddThis

    ReplyDelete
  18. Custom UISwitchView, enables you to add your own colors and label instead of on/off.

    https://github.com/alinux/iPhone-custom-switch-UIView

    ReplyDelete
  19. Interesting that no-one's flagged this one yet: NGMoviePlayer. I had to recreate the .xib but that's no biggie. It's a great starting point for an AVPlayer-based media player.
    Not technically a 100% iOS component, but I LOVE QuincyKit, it makes iOS crash reporting so much easier.
    TBXML is my XML library of choice. The SudzC website uses TouchXML, which isn't bad either.
    dimzzy's ViewsCache project provides a simple, clean implementation of dequeueReusableViewWithIdentifier (abstracting UITableViewCell's reusability to UIViews). I have had some success implementing a custom grid control with this (similar to AQGridView, although since I found that I'm using it instead).
    pixelfreak already posted json-framework for JSON parsing, but I'd say use JSONKit instead. Why? Performance.

    ReplyDelete
  20. If you're looking for examples of free game source, here's a great one called Tap Blaster HD. Complete game source available for download - http://9magnets.com/freebies.html

    ReplyDelete

Post a Comment

Popular posts from this blog

[韓日関係] 首相含む大幅な内閣改造の可能性…早ければ来月10日ごろ=韓国

div not scrolling properly with slimScroll plugin

I am using the slimScroll plugin for jQuery by Piotr Rochala Which is a great plugin for nice scrollbars on most browsers but I am stuck because I am using it for a chat box and whenever the user appends new text to the boxit does scroll using the .scrollTop() method however the plugin's scrollbar doesnt scroll with it and when the user wants to look though the chat history it will start scrolling from near the top. I have made a quick demo of my situation http://jsfiddle.net/DY9CT/2/ Does anyone know how to solve this problem?

Why does this javascript based printing cause Safari to refresh the page?

The page I am working on has a javascript function executed to print parts of the page. For some reason, printing in Safari, causes the window to somehow update. I say somehow, because it does not really refresh as in reload the page, but rather it starts the "rendering" of the page from start, i.e. scroll to top, flash animations start from 0, and so forth. The effect is reproduced by this fiddle: http://jsfiddle.net/fYmnB/ Clicking the print button and finishing or cancelling a print in Safari causes the screen to "go white" for a sec, which in my real website manifests itself as something "like" a reload. While running print button with, let's say, Firefox, just opens and closes the print dialogue without affecting the fiddle page in any way. Is there something with my way of calling the browsers print method that causes this, or how can it be explained - and preferably, avoided? P.S.: On my real site the same occurs with Chrome. In the ex