Enjoying your dicussion, and thanks for the link to XULJet and it's CouchDB support. Hoping to check that out soon.

In the meantime, you both might like Mozilla's Chromeless project. It's not XUL, but rather a reincarnation of the old Prism project--essentially, standalone, single-use "browsers." Basically, you have a browser with no UI other than what the OS provides for the titlebar. You, the developer, can then provide the full browser UI with just HTML/JS/CSS. It uses XULRunner underneath.

https://github.com/mozilla/chromeless

It's still pretty primitive, but promising all the same. :)

On 12/10/10 1:35 PM, Pavel Krivanek wrote:
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.leit...@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.kriva...@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.kriva...@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


Reply via email to