Coder Social home page Coder Social logo

brianbatchelder / apps-ios-wikipedia Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wikimedia/wikipedia-ios

0.0 2.0 0.0 4.6 MB

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

apps-ios-wikipedia's Introduction

Wikipedia-iOS

New (late 2013) native rewrite of the Wikipedia reader application for iOS.

This version has not yet been deployed to the App Store -- the source of the older app currently in the store is in the WikipediaMobile project on GitHub.

Building

Requires Xcode 5 or higher on Mac OS X, with the bundled iOS 7 SDK. You may need to get Xcode 5.1 beta with iOS 7.1 beta to support the latest storyboard - it's 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 5, 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 nodejs and npm.

Running tests

In Xcode, hit โŒ˜U to run tests. Note that tests must run on iOS 7 simulator or device -- they do not run successfully on iOS 6.x.

Filing Bugs

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

Note that existing bug reports for other versions of the app may be mixed in there; this requires some cleanup.

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.

Design

A major complaint about the currently deployed Wikipedia app is its non-iOS-y UI appearance and behavior.

We'll be working with the Wikimedia Foundation's Design team on UI design, with an eye to coordinating the look & branding with mobile web and Android while keeping a nice native iOS 7 feel.

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.

apps-ios-wikipedia's People

Contributors

bvibber avatar dr0ptp4kt avatar legoktm avatar montehurd avatar somechris avatar translatewiki avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.