Ted, read Brions response about Titanium on 8/13 to see why were opting to experiment with PhoneGap first.
That being said .. if you want to write a Titanium version with the same features then go for it. We can then benchmark them for ease of development and overall speed to see which is best across all platforms. --tomasz On Mon, Aug 29, 2011 at 4:28 AM, Ted Chien <[email protected]> wrote: > Since you mentioned PhoneGap, how about Titanium Mobile? > http://www.appcelerator.com/products/titanium-mobile-application-development/ > It also can help you to build native applications across multiple platforms > (Android and iOS), and you can leverage native C++ code in the application. > It can also leverage file system APIs across multiple platforms. > Regards, > Ted Chien / 眼鏡虎 > Freelance Software Engineer (Android / Windows) > Secretary, Wikimedia Taiwan > Volunteer, Taipei Google Technology User Group > -- > Blog: http://htchien.blogspot.com > LinkedIn: http://linkedin.com/in/htchien > -- > Support the Free Knowledge: > http://donate.wikimedia.org > -- > Taipei Google Technology User Group > http://www.taipei-gtug.org > -- Sent from my MacBook Pro > > > 2011/8/29 Tomasz Finc <[email protected]> >> >> Agreed. I'd LOVE to see openZIM support in a Wikipedia app. We need to >> make sure that our users can still access content even if their >> disconnected. I personally would love to be able to download a couple >> of collections in the openZim format and redistribute as needed. It >> would be really cool to download them trivially on a phone and then >> redistribute them to areas that may not have a faster internet >> connection but have a decent wifi connection. >> >> Christian, Patrick and I can easily connect you with the PhoneGap team >> to help you out with this plug in. It would be good to get an early >> proof of concept out for the openZim and wikitech developers to play >> with. What do you say? Are you up for it? >> >> --tomasz >> >> >> >> On Sat, Aug 27, 2011 at 7:06 PM, Patrick Reilly <[email protected]> >> wrote: >> > That would be a really nice addition to the official application in the >> > future. >> > >> > We should definitely continue to talk about this and try to figure out >> > the optimal approach. >> > >> > Also, once the PhoneGap based Android application is developed it >> > should be easy to fork and experiment with the various approaches >> > described below. >> > >> > — Patrick >> > >> > On Sat, Aug 27, 2011 at 10:17 PM, Christian Pühringer <[email protected]> >> > wrote: >> >> Hi, >> >> >> >> It would be really nice if offline (=zim) support was integrated in the >> >> official wikipedia app: The user could switch between online access >> >> and >> >> offline reading. >> >> >> >> If I understand Tomasz correctly, it is planned to implement the >> >> wikipedia app >> >> with phonegap, >> >> so having zim support for phonegap would allow integration of offline >> >> support >> >> into the app. >> >> Therefore I think its a good idea to implement zim support for phone >> >> gap. >> >> >> >> Regarding the technical details there a basically to ways to implement >> >> zim >> >> support in phonegap: >> >> - Using phonegap API. Theoretically device independent, but >> >> questionable >> >> whether actually working >> >> with sufficient performance on all target platforms. >> >> - As plugin: Implemented as a native component, with bindings to >> >> phonegap. >> >> >> >> I'd prefer the plugin approach. The additional effort of implementing >> >> the zimlib >> >> plugin >> >> for different platforms is not that high. The zimlib (and liblzma) is >> >> already >> >> available for >> >> C++ (STL): Symbian[1], Meego[2], >> >> Android (with NDK, cleaner is to use Java), >> >> iPhone (untested, may have some issues (see >> >> [5]), >> >> alternative would be to port to objective-C) >> >> and probably Bada >> >> Java (less mature than C++ implementation) : Android, Blackberry >> >> and other >> >> J2ME [3] (not sure whether possible on J2ME, but this is even more >> >> true for >> >> phonegap API approach) >> >> Porting needs only to be done to: >> >> C#: Windows Mobile >> >> Other: ? >> >> In addition the plugins for the platforms need to be written but this >> >> shouldn't >> >> be a too high effort. >> >> The zimlib is already pretty stable, so the maintenance effort for the >> >> ports >> >> should not be too bad. >> >> >> >> An additional benefit of the plugin-approach is that the ported >> >> zimlibs plugins >> >> can also be used for native apps. >> >> (Besides having the plain zimlib, the plugin projects can be used as a >> >> starting >> >> point for new projects). >> >> >> >> For the phonegap API approach zimlib must be ported to java script. As >> >> mentioned before I doubt that the javascript zimlib would work with >> >> sufficient >> >> performance on all (if any) . >> >> devices. See for example [4] >> >> >> >> Best regards, >> >> Christian >> >> [1] Neither File (required for phonegap API approach) nor plugins >> >> officially >> >> supported in phonegap. However, should be pretty easy to add. >> >> (Either in official (=WRT) phonegap, or in QT port. >> >> Probably >> >> better in QT port). >> >> [2] Not supported by phonegap. However, should be possible to use QT >> >> phonegap port. >> >> [3] Not supported by phonegap. >> >> [4] >> >> http://community.phonegap.com/nitobi/topics/how_to_implement_lzma?from_gsfn=true >> >> [5] >> >> >> >> http://stackoverflow.com/questions/823116/how-do-i-use-c-stl-containers-in-my-iphone-app >> >> >> >> Am 27.08.2011 10:34, schrieb Manuel Schneider: >> >>> Hi, >> >>> >> >>> is this maybe also useful for ZIM - to make ZIM readers which are >> >>> working cross-platform? >> >>> >> >>> As far as I understood phonegap is mainly a framework to create mobile >> >>> apps based on HTML 5. At least the display of ZIM contents should be >> >>> simple then as we just need a HTML widget for that. >> >>> But what about libraries needed to read file contents, such as zimlib? >> >>> I >> >>> couldn't find out if Phonegap itself supports native file access (so >> >>> we >> >>> could re-implement ZIM features with that) or if it allows the use of >> >>> native libraries. >> >>> >> >>> /Manuel >> >>> >> >>> Am 27.08.2011 02:44, schrieb Tomasz Finc: >> >>>> Thanks for the super detailed write up Brion. I've been actively >> >>>> talking with the PhoneGap guys after doing some more research on this >> >>>> and it seems like a really good fit to have a consistent experience >> >>>> across a whole host of devices. >> >>>> >> >>>> What were looking at is not necessarily a lot of depth in every >> >>>> single >> >>>> platform but a lot of horizontal range. Phonegap platform support >> >>>> beats out Titanium pretty easily there. >> >>>> >> >>>> We'll be working a lot closer with the PhoneGap team going forward to >> >>>> quickly have something in the android store to start. >> >>>> >> >>>> If anyone is interested in helping then we'll have plenty of >> >>>> opportunities to join in. Over the next weeks we'll be adding bugs >> >>>> and >> >>>> sending out more calls to get involved. >> >>>> >> >>>> --tomasz >> >>>> >> >>>> >> >>>> >> >>>> On Tue, Aug 16, 2011 at 1:50 PM, Brion Vibber<[email protected]> >> >>>> wrote: >> >>>>> On Tue, Aug 16, 2011 at 1:14 PM, Tomasz Finc<[email protected]> >> >>>>> wrote: >> >>>>> >> >>>>>> I've been asking around on IRC but thought it would be good to open >> >>>>>> up >> >>>>>> to a larger audience. >> >>>>>> >> >>>>>> Has anyone here used PhoneGap (http://www.phonegap.com/) for mobile >> >>>>>> app development? I'm eager to get your thoughts and potentially >> >>>>>> brainstorm some new ideas. >> >>>>>> >> >>>>> I haven't used PhoneGap except for some brief testing, but I have >> >>>>> used >> >>>>> Titanium Appcelerator, which is another framework in that space, in >> >>>>> working >> >>>>> on StatusNet's iPhone& Android app. >> >>>>> >> >>>>> Between the two I'd recommend PhoneGap for our usage as preferable >> >>>>> over >> >>>>> Titanium, but would appreciate more feedback from people who've done >> >>>>> fuller >> >>>>> PhoneGap work. >> >>>>> >> >>>>> A few key differences: >> >>>>> >> >>>>> PhoneGap models around extending a full-screen web view with >> >>>>> additional >> >>>>> JavaScript-accessible APIs to use device& OS capabilities (camera, >> >>>>> address >> >>>>> book, notifications, etc). This gives you few/no "native widgets" >> >>>>> for your >> >>>>> primary screens, but can make it relatively easy to create an >> >>>>> HTML/JS-based >> >>>>> web application that's extended with native abilities and can be >> >>>>> shipped >> >>>>> into native app stores. >> >>>>> >> >>>>> Titanium was originally based on a similar model, but switched to a >> >>>>> native >> >>>>> widget bridging system, where your JavaScript code instantiates and >> >>>>> manipulates objects which are bridged to native UI components and >> >>>>> such. This >> >>>>> can make your widgets look& feel more native, and can make some UI >> >>>>> bits >> >>>>> faster. But it also makes behavior less consistent between >> >>>>> platforms; many >> >>>>> widgets or features simply aren't available on all platforms, and >> >>>>> last I >> >>>>> checked there was basically *no* working support other than iOS and >> >>>>> Android. >> >>>>> (An early BlackBerry demo came out, was insufficient to do anything >> >>>>> we >> >>>>> needed, and never got updated that we saw.) >> >>>>> >> >>>>> Since the Wikipedia app is mostly a webview and ...... maybe a >> >>>>> menu? >> >>>>> PhoneGap is probably a good choice. Titanium can also embed a >> >>>>> webview, but >> >>>>> it's a lot more work to deal with two levels of JS! PhoneGap has >> >>>>> much >> >>>>> broader device support, but be warned -- it'll use the native >> >>>>> webview on >> >>>>> each system, so JS and HTML/CSS support will still vary across >> >>>>> platforms. >> >>>>> >> >>>>> >> >>>>> Debugging in PhoneGap basically devolves to being able to debug a >> >>>>> web >> >>>>> application; various tools likehttp://phonegap.github.com/weinre/ >> >>>>> can help >> >>>>> with this (or if you code carefully you may get away debugging your >> >>>>> app in >> >>>>> your favorite desktop browser directly ;) >> >>>>> >> >>>>> >> >>>>> Titanium was always a bear to debug things in and basically came >> >>>>> down to >> >>>>> 'watch the system log output in Android, that's the only place >> >>>>> you'll >> >>>>> actually see low-level errors'; this may be better now with their >> >>>>> IDE >> >>>>> support. >> >>>>> >> >>>>> Titanium also pretty aggressively pushes their support& training >> >>>>> services >> >>>>> which I find offputting; their project build tool wants you to login >> >>>>> to >> >>>>> their 'cloud' stuff to let you hook up to their remote build& >> >>>>> analytics >> >>>>> services, which we didn't ever really use. >> >>>>> >> >>>>> Support seemed to center on getting people to take training webinars >> >>>>> or >> >>>>> pointing people at the documentation and examples when they ask how >> >>>>> to do >> >>>>> something; I didn't find them very responsive about platform bugs or >> >>>>> missing >> >>>>> documentation except by contacting their couple of Android >> >>>>> developers >> >>>>> one-on-one in IRC to ask for merges -- which was usually a pretty >> >>>>> good >> >>>>> experience! Getting fixes for iOS merged was very difficult; I could >> >>>>> never >> >>>>> get ahold of their iOS developers directly, and they didn't seem to >> >>>>> be any >> >>>>> more responsive to low-level bugs we filed through their customer >> >>>>> support >> >>>>> system. >> >>>>> >> >>>>> We had to build with a patched version of the iOS and Android >> >>>>> runtimes for >> >>>>> quite some time as there were serious bugs. On the plus side, >> >>>>> maintaining a >> >>>>> patched branch in git was very easy -- a lot of 'git pull origin >> >>>>> master' and >> >>>>> occasionally tidying up conflicts. Their source is all on github and >> >>>>> is easy >> >>>>> to fork and not too awful to build, at least for the mobile runtime. >> >>>>> >> >>>>> >> >>>>> Note that both PhoneGap and Titanium frameworks are open source& >> >>>>> hosted on >> >>>>> github, though both require a CLA to submit code upstream. (I have >> >>>>> signed >> >>>>> the Titanium CLA to submit patches to them last year; haven't done >> >>>>> for >> >>>>> PhoneGap yet.) >> >>>>> >> >>>>> -- brion >> >>>>> _______________________________________________ >> >>>>> Wikitech-l mailing list >> >>>>> [email protected] >> >>>>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> >>>>> >> >>>> _______________________________________________ >> >>>> Wikitech-l mailing list >> >>>> [email protected] >> >>>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> >> >> >> >> >> >> >> _______________________________________________ >> >> Wikitech-l mailing list >> >> [email protected] >> >> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> >> >> > >> > _______________________________________________ >> > Wikitech-l mailing list >> > [email protected] >> > https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> > >> _______________________________________________ >> dev-l mailing list >> [email protected] >> https://intern.openzim.org/mailman/listinfo/dev-l > > > _______________________________________________ > dev-l mailing list > [email protected] > https://intern.openzim.org/mailman/listinfo/dev-l > > _______________________________________________ dev-l mailing list [email protected] https://intern.openzim.org/mailman/listinfo/dev-l
