[rfc] developer documentation on user interaction
Alexander Belchenko
bialix at ukr.net
Fri Sep 25 07:45:26 BST 2009
John Arbash Meinel пишет:
> I honestly feel that Gui's should be interacting with an object model,
> and never interacting via a stdout pipe. Though qbzr's policy of
> interacting via a subprocess (to preserve interactivity in the main
> thread, IIRC) means that this is difficult.
Hear, hear, hear. I suppose you guys will blame us for ever for our
decision to use qsubprocess. I don't really care.
What I'm really care is maintaining load: bzr CLI API is 2 orders of
magnitude STABLE than your internal API. So we don't have to update all
q-dialogs every time new version of bzr is released. But other dialogs
which working with bzrlib directly required constant maintaining and
fixing various small and big problems (like suddenly annotate becomes
broken because 2a format repositories have changed locking policy/sequence).
Using bzrlib directly means for any decent GUI implementing wrapper
around your API to make the GUI more responsive, to execute long
operations in the background and so on and so on.
Clearly bzr and bzrlib is supposed to use as one-threaded command-line
application (IIRC I've read this in some docs or on wiki). So next time
you will blame us think for a while about our reasons.
Thanks.
More information about the bazaar
mailing list