dtrukr / apps-ios-wikipedia

Github mirror of "apps/ios/wikipedia" - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wikipedia-iOS

Native rewrite of the Wikipedia reader application for iOS.

Building

Requires Xcode 6 or higher on Mac OS X - available at developer.apple.com after signing in with your Apple ID.

Standard Xcode project stuff: check out the repo, open Wikipedia.xcodeproj in Xcode, pick a device or simulator target and hit ⌘R.

Note that due to Apple's restrictions on iOS app installation, to run a custom build on a standard iOS device you must pay for a developer account with Apple and register the device with your account.

You'll also need to install the following (used by build scripts):

  • nodejs and npm
  • grunt-cli (run 'sudo npm install -g grunt-cli')
  • Inkscape

Filing Bugs

Please file bugs at bugzilla.wikimedia.org; use the "iOS App" component.

Submitting patches

See mediawiki.org's Gerrit page for general information about contributing to Wikimedia project source code hosted in Gerrit -- use the project name "apps/ios/wikipedia" in place of "mediawiki/core" etc.

You can also follow or fork from our GitHub mirror. Note that pull requests submitted through GitHub must be manually copied over to Gerrit for review and merge (though there is a bot we plan to enable to simplify this).

Please include unit tests with any new code where possible.

Architecture

This generation of the Wikipedia reader app is built around native UI chrome (menus, toolbars, search UI, preferences, caching, etc) to improve startup time, responsiveness and "nativey" look-n-feel versus a previous HTML-based approach using PhoneGap/Apache Cordova.

The majority of app logic and UI will be in the native layer; we expect to use the WebView component as a relatively dumb content display & event trigger layer.

Components of the app will be relatively self-contained, communicating via NSNotificationCenter as a messaging bus to avoid over-close coupling of parts and to make test-driven development more feasible.

Development team

The app is primarily being developed by the Wikimedia Foundation's Mobile Apps team, starting at the end of October 2013. The team operates on an "agile"-style process with 2-week sprints, and checkin scrums on Monday/Wednesday/Friday at 10:15am US Pacific Time.

In addition to a general bug pool in Bugzilla, we'll be tracking ongoing work on the backlog board and active sprint boards on Trello.

Volunteer contributions are welcome!

We can be reached during California office hours (and sometimes outside them) in IRC: #wikimedia-mobile on irc.freenode.net.

About

Github mirror of "apps/ios/wikipedia" - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing


Languages

Language:Objective-C 96.2%Language:JavaScript 2.2%Language:Python 0.5%Language:PHP 0.4%Language:Shell 0.3%Language:CSS 0.2%Language:C 0.2%Language:Ruby 0.0%