[bt-devel] Backend Proposal
Greg Hellings
greg.hellings at gmail.com
Sat Jun 18 14:49:16 MST 2011
http://devel.bibletime.info/wiki/Backend_API
In the interest of getting the ball rolling on the discussion we had
in IRC today, I have created a wiki page on the implementation of a
back end API that could be utilized by BibleTime to serve as
1) A barrier between the application and SWORD. This would allow us
to use the same code base to create a desktop GUI, mobile GUIs,
web-based GUIs, etc which can all leverage the work done to bring the
data into Qt.
2) A fulcrum to uncouple BibleTime from strict SWORD dependence. This
will allow us to leverage other technologies to store, fetch and
maniuplate texts to supplement those available from SWORD.
Possibilities such as EPub reading, Perseus, specialized web sites all
exist and who knows of what others people might come up with.
This is the first of a 3 part partitioning of BibleTime code into
Backend, Rendering and GUI components. The main thrust of this is to
allow us to create multiple GUI applications based off of as much
shared code as possible. Obviously we already have a GUI application
which runs great in Linux and other desktop environments. There has
been talk about Symbian or MeeGo mobile apps. Web frontends could be
created. I believe there is also a semi-official port of Qt to
Android as well. Bindings could be created around the Storage and
Rendering APIs into scripting languages of choice. All in all, this
could open up a lot of possibilities for developers who like Qt and
want to leverage the work we've done against SWORD (and possibly other
sources in the future) to develop a GUI or CLI or any other interface
with the Qt toolkit.
I would encourage those who have a passion for such things to tackle
putting together a design for the Rendering component or to help
improve my proposed API. Also to think about different UIs you'd like
to see worked on and start planning for them and making API proposals
based on what you see a need for. If enough people are interested we
can setup a way to collaborate beyond just these wiki pages in the
future if you think we'd be more productive meeting in other ways.
--Greg
More information about the bt-devel
mailing list