That's a great question, Jason, and one I will artfully dodge until we finally decide to build said library ;-). Could be a nice session for next year's Wikimedia Dev Summit!
Until then, we'll try to build the components for the Wikipedia app with some amount of generalization in mind. As we the refactoring dust settles around our current networking stack, we can take a step back and ask for feedback on what ObjC/Swift developers would want out of such a library (perhaps an RFC), and do more research into existing MW API libraries. In particular, I don't know of any official or unofficial JS API wrappers, nor do I know anything about pywikibot (which might be something to take inspiration from).
Keep in touch,
Brian
On Tue, Jul 28, 2015 at 1:38 PM, Jason Ji jason.y.ji@gmail.com wrote:
Hey Brian,
Nice to hear from you too, and this thread isn't that old, so no worries!
I'm wondering, with this Obj-C/Swift MediaWiki library you're planning in the future, would it be a "generic" MediaWiki library, or specific to the Wikimedia wikis? I ask because I remember back at the Hackathon, some of your queries assumed the existence of certain extensions that the Wikimedia wikis (or at least Wikipedia) have installed, like Extension:TextExtracts https://www.mediawiki.org/wiki/Extension:TextExtracts, but not all MediaWiki instances would have them. A Wikimedia-specific library would probably have more abilities, but a generic one would allow other communities using MediaWiki to build iOS apps around their own wikis, which would be pretty amazing.
Jason
On Tue, Jul 28, 2015 at 12:25 PM, Brian Gerstle bgerstle@wikimedia.org wrote:
Sorry for awkwardly entering/reviving the thread, guess I wasn't on this list until now!
Jason, thanks for jumping in! Great to "see" you again :-).
Tong, he's correct that our app is open source and you're free to use anything there that's useful. Our current networking stack is built on top of AFNetworking, and you can find the API calls we're making inside the various "Fetcher" classes (in the Networking folder https://github.com/wikimedia/wikipedia-ios/tree/master/Wikipedia/Networking).
We hope to eventually release a standalone MediaWiki client in Objective-C, or Swift, or both! However, the dynamic nature of the MediaWiki API's requests and responses will probably require us to keep the framework limited to a set of components that allow iOS developers to build requests and serialize responses into model objects of their choice. We can provide high-level abstractions for the most common queries (i.e. the ones we're already using in the app).
We're in the midst of a more UI-focused update at the moment, but hopefully our next big infrastructure push can result in the release of such a library, probably on CocoaPods or Carthage.
In the future, you can email mobile-l with any questions related to the iOS client, and be sure to subscribe there for future updates on the app.
Cheers!
Brian
-- EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle IRC: bgerstle
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api