incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Krivanek <pavel.kriva...@gmail.com>
Subject Re: CouchDB and XULJet for development of desktop applications
Date Fri, 10 Dec 2010 18:35:52 GMT
Hi Florian,

No, XULRunner cannot serve web pages. It can only display them. If
your web interface uses mainly and almost solely Ajax then you can
create a very simple XULRunner application with HTML instead of XUL
that will send an initial XMLHttpRequest (GET) to the server, replace
the current document with the resultant data and then you will
continue with Ajax-only communication.

So you will have one web server and two kinds of clients - one that
will access the server (with LivelyCouch) from normal web browser and
that will have access to the data only from server database. The
second kind of clients will have to use special browser (your simple
XULRunner application). It will show content provided by the same
server with LivelyCouch however it will have wider privileges so it
will be able to communicate with local CouchDB too, access to local
files, processes etc.

-- Pavel

On Fri, Dec 10, 2010 at 5:03 PM, Florian Leitner
<florian.leitner@gmail.com> wrote:
> Hi Pavel,
>
> Thanks for your detailed responses. As you will have seen, I've
> replied to your comments in another thread, too. Specifically to what
> you wrote here:
>
> Yes, XULjet seems to very much solve the client side issues and
> creates a nice platform-independent interface for desktop apps.
> However, as I already wrote in another thread you replied to, too, it
> seems I will have to create _two_ interfaces: one web interface for
> the servers (using some web server wrapper for CouchDB, such as
> LivelyCouch), and one desktop interface for the clients (using
> XULjet). However, I could be completely wrong about this and maybe
> XULjet could also be used to serve web pages, so I can use XULjet for
> both interfaces? If that were the case, XULjet would actually be the
> perfect solution I am looking for, because I do not need to maintain
> two interfaces. So, is that possible with XULjet?
>
> Regards,
> Florian
>
> On 10 December 2010 09:56, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
>> Hi,
>>
>>> Hi Pavel,
>>>
>>> I just read your post after my own, entitled "CouchDB/App, XHR, and
>>> the JavaScript Same Origin Policy". This sounds pretty interesting,
>>> especially your qoute about the Ajax issue and working around the Same
>>> Origin Policy. So, if this is a good tool to build desktop-based
>>> CouchDB apps, how platform-independent is it?
>>
>> It is possible to run on every platform where Firefox works, so MacOS,
>> Windows and Linux are OK. Other processors should be ok too, if you
>> look at XULRunner Debian builds, it is supported by alpha amd64 arm
>> armel hppa i386 ia64 mips mipsel powerpc s390 sparc. I suppose that
>> other systems like BSD should work too. On the other hand, most of the
>> mobile platform are currently out of the game.
>>
>>> Can I easily build tools
>>> that work equally well on OSX, Windows, and Linux without any "special
>>> case" checking, much like in a platform independent language?
>>
>> XULRunner have some displaying issues, for example it doesn't show
>> lines in groupboxes on Linux. If some hacks will be necessary I expect
>> it will be solved inside the XULJet framework.
>>
>>> Does it
>>> support any other platforms beyond those "big three"?
>>
>> See above
>>
>>> And, last, you
>>> write you can easily embed SVG and HTML - what about PDF files, can
>>> you view/display those through some plugin, maybe like the typical
>>> browser plugins?
>>
>> I have no personal experience with it however it seem that it is possible:
>> http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/d7f78f95d0185a79
>>
>> -- Pavel
>>
>>> Thanks,
>>> Florian
>>
>> On 8 December 2010 22:58, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
>>> Hi all,
>>>
>>> I think you should pay attention XULJet framework [1]. This framework
>>> tries to facilitate the development of JavaScript applications on the
>>> Mozilla XULRunner runtime and it is maybe the most natural way how to
>>> develop desktop applications supported by CouchDB.
>>> Ajax requests have no limited destinations in XULRunner and with other
>>> privileges (access to local files, execution of local processes...) it
>>> provides an easy-to-use platform for desktop applications with native
>>> look&feel.
>>> Because the applications are written in JavaScript it is really very
>>> easy to work with CouchDB.
>>>
>>> XULJet has this main features:
>>> - component-based structure that increases reuseability of the code
>>> - readable description of GUI directly in JavaScript, no need of
>>> external XML files
>>> - powered by Google Closure Library that provides good modular system
>>> and additional tools
>>> - easy access to XUL elements using bindings to component properties
>>> - simple embedding of HTML and SVG
>>> - forms (they have no direct support in XUL)
>>> - simple generation of printed reports
>>>
>>> The archive with version 2.0.1 includes CouchDB library from Futon
>>> with small modifications for the Closure Library.
>>>
>>> [1] http://code.google.com/p/xuljet/
>>>
>>> Cheers,
>>> -- Pavel Krivanek
>>>
>>
>

Mime
View raw message