Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl

[ANNOUNCE] Introducing GX

 

 

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded


uzarek at runlevelnull

Sep 20, 2011, 6:49 AM

Post #1 of 4 (395 views)
Permalink
[ANNOUNCE] Introducing GX

I am happy to announce the first public (developer) release of GX, a web
application framework that is designed from the ground up to be run in
persistent environments like mod_perl (or FastCGI).

You can download the (pre-alpha) release from CPAN:

http://search.cpan.org/~jau/GX-0.2000_01/

or from the GX Framework website:

http://gxframework.org/downloads/

I have also set up a public git repository at:

http://git.gxframework.org

A (pathetic excuse for a) quick start tutorial is available here:

http://gxframework.org/documentation/tutorials/quickstart/

Please give it a try and post feedback here or on the GX Framework mailing
list (http://groups.google.com/group/gxframework). Additional contact
information for reporting bugs, etc. can be found in the POD.

Have fun!

--
Jörg A. Uzarek
runlevelnull.de


jpz-mlmp at adelton

Sep 21, 2011, 7:52 AM

Post #2 of 4 (374 views)
Permalink
Re: [ANNOUNCE] Introducing GX [In reply to]

On Tue, Sep 20, 2011 at 03:49:53PM +0200, Jörg A. Uzarek wrote:
> I am happy to announce the first public (developer) release of GX, a web
> application framework that is designed from the ground up to be run in
> persistent environments like mod_perl (or FastCGI).
>
> You can download the (pre-alpha) release from CPAN:
>
> http://search.cpan.org/~jau/GX-0.2000_01/
>
> or from the GX Framework website:
>
> http://gxframework.org/downloads/
>
> I have also set up a public git repository at:
>
> http://git.gxframework.org
>
> A (pathetic excuse for a) quick start tutorial is available here:
>
> http://gxframework.org/documentation/tutorials/quickstart/
>
> Please give it a try and post feedback here or on the GX Framework mailing
> list (http://groups.google.com/group/gxframework). Additional contact
> information for reporting bugs, etc. can be found in the POD.

Hello Jörg,

three questions -- there already seems to be a GX framework for JS
animation:

http://gx.riccardodegni.net/
http://code.google.com/p/gxframework/

Aren't you affraid of namespace clash?

The tutorial is nice but it's mostly a get-mod_perl-running tutorial
-- the resulting application is what seems to be just a static
welcome.html there. Any more complex example application, showing
some Perl code executed, and database accessed? The GX man page it
lacking the relationship explanation as well.

Can you provide some high level comparison to (say) Catalyst? Surely
there was a reason to come up with yet another web application
framework, so what are the selling points?

Thanks,

--
Jan Pazdziora


dave.morgan at coolplaces

Sep 21, 2011, 9:18 AM

Post #3 of 4 (357 views)
Permalink
Re: [ANNOUNCE] Introducing GX [In reply to]

On 21/09/11 08:52 AM, Jan Pazdziora wrote:
> On Tue, Sep 20, 2011 at 03:49:53PM +0200, Jörg A. Uzarek wrote:
>> I am happy to announce the first public (developer) release of GX, a web

Snip ......

> Hello Jörg,

Snip .....

> Can you provide some high level comparison to (say) Catalyst? Surely
> there was a reason to come up with yet another web application
> framework, so what are the selling points?

I would be extremely interested in such a comparison. Almost required
for me to consider using it.

Thanks

Dave

--
Dave Morgan
Operations Manager, Cool Places In Canada
http://www.coolplaces.ca
dave.morgan [at] coolplaces
403 288 8759


uzarek at runlevelnull

Sep 22, 2011, 9:36 AM

Post #4 of 4 (369 views)
Permalink
Re: [ANNOUNCE] Introducing GX [In reply to]

> Hello Jörg,
>
> three questions -- there already seems to be a GX framework for JS
> animation:
>
> http://gx.riccardodegni.net/
> http://code.google.com/p/gxframework/
>
> Aren't you affraid of namespace clash?

No. The name collision is unfortunate, but shouldn't be a problem since the
two frameworks do very different things in two different programming languages
- there isn't much room for confusion IMHO. Besides that, the JS project
hasn't seen an update for two years now (correct me if I'm wrong), so this
should be a non-issue.

> The tutorial is nice but it's mostly a get-mod_perl-running tutorial
> -- the resulting application is what seems to be just a static
> welcome.html there. Any more complex example application, showing
> some Perl code executed, and database accessed? The GX man page it
> lacking the relationship explanation as well.

You are right. There is no end user documentation at the moment (and almost
certainly won't be for the next couple of months). I probably should have
chosen "Looking for fearless pre-alpha-testers with too much free time on
their hands" as the subject of my original post. The API reference, however,
is pretty much complete - but, as you said, it doesn't connect the dots yet.

If you (still) want to play with GX, I suggest using the bootstrapped
application (from the tutorial) as a starting point. Try modifying the
default() action in the application's Root controller for starters. Since
everything in a GX application revolves around the context object skimming
over the GX::Context POD is probably very insightful. The GX::Controller POD
contains some basic examples on how to declare routes, use filters and define
(custom) renderers for your actions. Unfortunately, it doesn't explain the
automatic template rendering mechanism yet. But it works as expected: Simply
add a template file to your application's templates/ directory and GX will
render it automatically (if a corresponding action exists). The test
application in t/GX-Controller/06_rendering/data/ gives an overview of the
possibilities (formats, multiple template engines). Looking at the other test
applications in t/GX-Controller (and in t/GX-Context) is probably helpful too.

To use the GX database API, simply create a database component (module) and
add it to your application's lib/ directory. Just take a look at the synopsis
of the GX::Database subclass you want to use (e.g. GX::Database::Pg). To get a
(cached) database handle, simply call MyApp::Database::Foo->dbh().

> Can you provide some high level comparison to (say) Catalyst? Surely
> there was a reason to come up with yet another web application
> framework, so what are the selling points?

The main selling point would be that GX is designed for persistent
environments (mod_perl or FastCGI). GX preloads, precaches, prerenders and
precompiles as much as possible as soon as the application is loaded/setup.
Besides the performance gain, this has the additional advantage that many
common errors can be caught at setup time (e.g. a bad route or a missing [%
END %] tag in a .tt template).

Another major selling point would be the reload mechanism. When running in
development mode, a GX application automatically reloads itself whenever one
of its components (or templates) is changed: No need to restart the server.

GX is also highly modular and very easy to extend. A GX application is
basically a sequence of hooks. The application's components/plugins add
callbacks ("handlers" in GX terminology) to those hooks. You can add/remove
hooks/handlers as you like, which makes customizations/optimizations (and also
writing plugins) a breeze.

GX also offers a database connection cache, a highly customizable rendering
mechanism, powerful flow control options, out-of-the-box session management,
informative exceptions and, last but not least, a clean, consistent API.

But again, this is a pre-alpha release. I'm just looking for some feedback and
maybe a few fearless testers. I'm sorry for not making that clear earlier.

--
Jörg A. Uzarek
runlevelnull.de

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.