http://www.perlmonks.org?node_id=240861

In the recent use AnyGUI thread Ctrl-z brought up the topic of plXPCOM, a module for integrating Perl into the Mozilla application framework. Although I had been congnizant of XUL for some time, I had no idea of just how amazing Mozilla's UI/application framework really was (Actually, the book link above is the first online reference I've found that bothered to explain the framework in an overarching way). If you read the first few chapters of the book, you'll realize that this represents a concrete step forward in cross-platform development in general and UI development in particular. It is just the sort of gui toolkit that many Perl programmers yearn for. I hadn't even heard of plXPCOM

Unfortunately, plXPCOM is not ready for production use. The project appears to have garnered little interest from the Perl community, and still less concrete support. The mailing list is a barren wasteland. As Ctrl-z said, "IMHO this is a goddamned tradegy."

I'd like to propose a call to arms. I strongly encourage anyone reading this who is excited by the prospect of XPCOM bindings for Perl to get involved in some way. I find myself with little time these days and I am unequiped to yield much direct development support to plXPCOM at this time, so I subscribed to the mailing list and offered to help with testing and documentation. This is the sort of project that should have more than a single developer. I realize that most of you, like me, don't have the time (or perhaps skills) to do all that much for this project. Nonetheless, I bet a lot of you would really like to have access to the end result. If you can't help with development, perhaps you might be able to do the sorts of auxiliary tasks I hope to do. Just as importantly, you can raise community awareness of the project on sites such as this one; there have to be some Perl hackers out there with the abilities and interests necessary to keep this project rolling.

I realize that this call to arms has been repeated numerous times for various open source projects. I just felt it necessary to make mention of this particular project because I was so shocked at the lack of momentum behind the effort. This is the sort of mainstream, generally useful, DBI-like project that one expects to see tangible support for.

Update: Matt (the guy maintaining plXPCOM) responded to my offer to help. He's most interested in getting feedback from the community on what sort of direction we want the project to take, what he should focus on, etc. Drop by the mailing list to offer your 2 cents.

Replies are listed 'Best First'.
Re: plXPCOM - A Call to Arms
by Ctrl-z (Friar) on Mar 06, 2003 at 13:13 UTC
    thanks a lot for posting this - a meditation was my initial intention, but the gui post provoked me before I got the chance to choose my delivery ;P
    Nothing much else to offer in the way of words, so heres some various propoganda for anyone interested.
    It should also be noted that as of the current beta, Mozilla ships with a Gecko Runtime Environment. As embedders' are Gecko's direct interest, there has recently been a significant attempt at modularizing the lizard. This is the result, and its still pretty fresh and undocumented - but you can read more straight from the horses mouth, here

    general overview: if youve no idea whats going on, read this to whet your appetite. Then imagine using it as a Perl GUI kit.
    Creating Applications with Mozilla the Oreilly Open Book. The bible so far.
    xul tutorials and widgets overview
    Embed the lizard
    mozillazine.org general dev info and developer weblogs.
    google coverage of XPCOM newsgroup
    moz based projects including a link to the Mozilla ActiveX control, so Gecko can be fired up inside Explorer.

    Most of the Moz dev stuff goes on in Newsgroups and IRC - the online documentation can be pretty stale, so no news there!

    I'll post more later this evening, enjoy.


    time was, I could move my arms like a bird and...
Re: plXPCOM - A Call to Arms
by kvale (Monsignor) on Mar 06, 2003 at 17:34 UTC
    plXPCOM looks like a potentially nice toolkit. But there are other cross platform GUI toolkits available, such as the mature Perl/Tk and the developing nicely PerlQt. In both toolkits, one can specify user interfaces in terms of text: SpecTcl .ui files for perl/Tk and QtDesigner .ui files for PerlQt.

    What potential advantage would plXPCOM over these?

    -Mark



      plXPCOM isn't a GUI kit - using Gecko as a GUI renderer is just one of its benefits. With plXPCOM it would be possible to create perl components that can be accessed and controlled via any Mozilla based browser or Gecko embedded application.
      Inversely, it would be possible to access any XPCOM interface directly from Perl, in a similar manner as XS.
      I dont know if you have worked with COM, but apart from the ActiveX/M$ part, it is a pretty awesome technology. XPCOM is simply a more secure cross-platform implementation.
      I love being able to plug components developed by Apple, Adobe, Macromedia into my perl apps. Wx, Qt, Tk will never be this good. Mozilla already is.

      Think about it, international companies develop for and with the Mozilla platform. Innovation follows it.

      In regard to GUIs, its just more handwaving material;
      XUL uses XML, CSS, DTDs - its contents can be skinned, internationaly localised, connected to an RDF datasource, and delivered across the network like a regular (or dynamic) webpage.
      Anyone creating CGI applications or simply a designer who understands DHTML can immediately get to grips with the basics of GUI creation. GUIs are simpler to manage than their CGI/DHTML equivalent, and custom widgets are relatively easy to create.

      Do you use Mozilla? Set your skin to "modern" and take a look at how a GUI should look. In comparison, Tk/Wx look decidedly amateurish.

      Neato, a browser widget that can display colored text!

      Perl has never made itself conducive to distributing applications, let alone GUI ones. It barely manages modest in-house projects. This is my no.1 gripe with my no.1 language.
      XPCOM offers a framework that any language can plug into and represent itself from. This is great news for all scripting languages, but especially certain ones with a particular niche in string processing and data munging. Perl can do what its good at, and leave Gecko to make it look sexy.
      A full-blown, slick, professional, cross-platform application written in Perl seems very realistic with XPCOM. Not with Tk.
      When you said "mature", I think you meant "old". ;)

      Perl not being bound to Mozilla, is like Perl not having Apache bindings. Its just plain wrong.


      time was, I could move my arms like a bird and...
      on re-read my above comments seem needlessly aggressive. My apologies if there was any offense taken...


      time was, I could move my arms like a bird and...
Re: plXPCOM - A Call to Arms
by petesmiley (Friar) on Mar 06, 2003 at 16:31 UTC
    Well, I subscribed to the mailing list and then looked at the web interface for the cvs repository. It says there haven't been any changes for 8 months.

    Any idea what's the going on with this project?

    smiles

    Update: Well look at that, the original code maintainer poked his head out of the bushes and he's interested and fixing the old beater up :)

Re: plXPCOM - A Call to Arms
by Ctrl-z (Friar) on Mar 07, 2003 at 03:41 UTC
    a few more tasty treats, curtesy IBM developerWorks

    getting started with XPCOM 4 part overview of the technology
    into to pyXPCOM a good example of implementing a BerkelyDB python class as an XPCOM component, manipulating it via javascript, and accessing XPCOM from python.


    time was, I could move my arms like a bird and...

      I picked up "Creating Applications With Mozilla" (another fine O'Reilly title), and read with pleasure that work was underway on the Perl bindings for XPCOM.

      Unfortunately it looks like the book was a little optimistic; I couldn't find anything concrete. I guess the Pythoners are ahead of us on this one... : (

      I wouldn't be able to C code my way out of a wet paper bag, but I'd be happy to test anything.

      [Jon]

        I guess the Pythoners are ahead of us on this one...

        Well, the original project author still seems intent on developing this further and is looking for input regarding what perl hackers would want from plXPCOM.
        Even if you cant actively contribute, subscribing to the list would let him know there is people out there who would use the end result.


        time was, I could move my arms like a bird and...