[sword-devel] OS X/iPhoneOS based development
manfred.bergmann at me.com
Thu Apr 15 03:00:45 MST 2010
Just as a follow-up, here are some key differences between iPhone and iPad in terms of UI:
Am 15.04.2010 um 10:51 schrieb Manfred Bergmann:
> Hi Nic.
> Am 15.04.2010 um 10:30 schrieb Nic Carter:
>> Just one quick thing, though: PocketSword will be one app that works on both iPad and iPhone/iPod touch. I was looking at this today and I think this will be the best way forward. Apple have designed everything so that this is easily possible, with one codebase... :)
> Well, I know iPhone Apps work almost unchanged on iPad. But the iPad had a much larger display and I think that eventually it also offers more possibilities in terms of UI so that maybe sooner or later a new iPad application will be there. Even if there were only small changes in Interface Builder XIBs/NIBs and view controllers you would need to branch.
> I'm also not sure whether the UI design guidelines are the same for both.
> If I look at iWork on the iPad for example then this is a completely new set of applications with a new designed UI especially for the iPad.
>> Oh, and to answer your question about NSUserDefaults, yes, that's there! I have just added unlocking of modules to PocketSword, which will be available in v1.2.2 (currently in beta), and that works great using the code in SwordModule.mm :)
> Alright, good to know.
>> Thanks for this work, Manfred! :)
>> nic... :)
>> Nic Carter
>> PocketSword Developer - an iPhone Bible Study app
>> www: http://crosswire.org/pocketsword
>> iTunes: http://itunes.apple.com/app/Pocketsword/id341046078
>> Twitter: http://twitter.com/pocketsword
>> On 15/04/2010, at 7:15 PM, Manfred Bergmann wrote:
>>> Hi there.
>>> Now with the iPad already released in USA and in other countries shortly I'd like to push for a consolidation of the Objective-C++ SWORD wrapper classes.
>>> Which over time has grown quite large consisting of 20 classes in the version MacSword uses. Just for an explanation to others, they build the basis for SWORD based OS X applications and are intended to be able to code in Objective-C exclusively in upper levels of the application (UI).
>>> PocketSword uses a subset of those classes with some modifications.
>>> Now shortly since I believe we will again branch for the iPad because it will be a different UI eventually I feel that we have to do something now. Otherwise we will end up having to maintain three code bases which could be one. And it will be a mess.
>>> Since MacSword 2.2 was released recently I have some time now to work on this.
>>> I would suggest to make a framework of the Objective-C wrapper classes which can then be used in any OS X (Cocoa) based application just as easily as other frameworks can be used. It would still be necessary to have different builds for ARM and Intel/PPC and Xcode projects but those can use the same code base.
>>> If any user of the framework needs customised behaviour it is still possible to subclass if really needed.
>>> The things that need closer look are:
>>> - Make it work in gc and none-gc environments.
>>> In MacSword 2.2 refactorings I tried to put in -dealloc and -finalize methods in all classes I touched together with autoreleased initialisations.
>>> - Logging.
>>> This might need some time. While I would like to be able to write logs to file with specifying log levels this is not something the iPhone/iPad wants due to slower FS access. But I'm sure there is a solution to this. If some protocols are defined each front-end can still implement it's own logging implementation.
>>> - Code that uses NSUserDefaults.
>>> Right now keys for locked modules are stored in NSUserDefaults. Is this something that works on iPhoneOS?
>>> - Searching/indexing.
>>> While the iPhone uses the SWORD provided clucene based indexing and searching MacSword uses SearchKit.
>>> This not a problem at all but we have to define a protocol where each application can implement a provider.
>>> - Further we would need a place to source control it. Can we have a place for it at CrossWire including a new project in Jira?
>>> Nic, if you are busy with things for PocketSword right now, don't worry. I would start working on this, compare both code bases and would start a discussion with you about things I'm uncertain - if you give your "go" to do this all.
>>> I'd also like to finally put in some Unit tests for critical parts so that it can be tested more easily. Unfortunately Unit testing is not so comfortable in Obj-C as it is in Java.
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> Instructions to unsubscribe/change your settings at above page
>> sword-devel mailing list: sword-devel at crosswire.org
>> Instructions to unsubscribe/change your settings at above page
> sword-devel mailing list: sword-devel at crosswire.org
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel