[ANN] Nitro 0.1.2

Discussion in 'Ruby' started by George Moschovitis, Oct 21, 2004.

  1. = Nitro

    Nitro is an efficient, yet simple engine for developing professional Web
    Applications using the Ruby language. Nitro aims to provide a robust
    infrastructure for scalable web applications that can be distributed
    over a server cluster. However, Nitro can also power simple web
    applications for deployment on intranets or even personal computers.

    == Features

    A short summary of the major features:

    * XML server pages (.sx)

    Nitro introduces a new format for server pages that combines the
    power of embededed Ruby (like erb, eruby) with the xml compliance
    of Amrita. Even though it is a 'Callback' style templating system
    it is flexible enough to run as 'Pipeline' style system if the
    developer prefers this mode of operation.

    <?xml version="1.0"?>

    <!-- example page -->
    title = "Example"
    version = request["version"]


    <?r if version > 1 ?>
    <b>Version:</b> #{version}
    <?r end ?>


    * Shaders, XSLT templates

    Nitro promotes the usage of XSLT for web templates. The functional
    nature of XSL is ideal for the Web. Moreover, the engine efficiently
    precompiles the xsl transformation along with other transformations
    (for example localization) essentially providing a computationally
    free transformation step.

    A shader integrates many XSLT templates and or CSS stylesheets
    to encapsulate all styling/skinning requirements of a Web Application.

    * Multi phase evaluation

    Experimental, facilitates efficient HTTP1.1 caching.

    * Fragment Synthesis

    Nitro server pages can include fragments at 'Compile' time or at
    'RunTime' time.

    <!-- compile time include (static include) -->
    <?include xl:href="myfile.si" />

    <!-- run time include (dynamic include) -->
    <x:include xl:href="myfile.si" />

    * Object-Relational Mapping

    Nitro integrates the NDB object-relational mapping library. NDB
    provides transparent serialization of object graphs to a RDBMS
    backend. Unlike other similar libraries NDB maps standard Ruby
    objects to SQL tables and not vice versa. NDB provides a flexible
    and intuitive api for querieng the database, raw access to the
    SQL language if needed (for example to fine tune the automatically
    generated SQL tables, or for custom queries), suports deserialization
    to Ruby objects or tuples and provides a collection of usefull Mixins
    to synthesize common Entities.

    * Distributed State

    Nitro provides a powerfull distributed state mechanism that utilizes
    the DRb library. A typicall use of this infrastructure is to provide
    distributed sessions when running your application over a server
    cluster. Distributed sessions are fully transparent to the developer.

    * Synchronous Server

    An experimental synchronous server for implementing services like
    Chat Rooms, Multiplayer Games, etc. Compatible with Macromedia Flash.

    * Request Filters

    The develpoper has full access to the request handling pipeline.
    Request filters are a powerfull mechanism for customized processing
    of special requests. Example filters are the autologin filter,
    a gzip filter etc.

    * Hierarchical Caching

    Nitro provides a well designed and efficient caching mechanism. Caching
    will be provided at the following levels:

    * DB Cache
    * Object Cache (deserialized objects)
    * Fragment Caching (cache generated sub-parts of a page, or a page)
    * HTTP 1.1 Caching (downstream caching of whole pages)

    The engine calculates intra-page dependencies automatically. A variety
    of invalidation strategies can be implemented.

    * Support for 'nice' urls.


    * Advanced debuging features

    * When running in debug mode, all exceptions raise are logged
    to a special debug panel in the current page. Find out the offending
    file and line from the exception dump, fix the bug, refresh the page.

    * in-process console: inject an irb session to a running application
    server. You can use the irb console to investigate all variables
    and code in your running server process.

    * Parts

    Parts are organized modules of web services. A Web Framework that
    integrates a large collection of parts (User management, Blog,
    Fora, CMS, Personalization, ..) will be released by Navel.

    Other libraries of parts are expected from the Ruby community when
    the Part API is finalized.

    * UI Components

    Nitro is distributed with a collection of usefull UI components
    to make form based application development easier (for example
    an efficient, ndb-aware Pager component).

    * Path overloading


    * Localization

    Nitro supports efficient localization of web applications.

    == Download

    The latest version of Nitro can be found at

    * http://www.navel.gr/nitro

    Documentation for Nitro can be found at

    * http://www.navel.gr/nitro/doc

    == Requirements

    Nitro requires the following applications or libraries:

    * Ruby 1.8.1 and greater (http://www.ruby-lang.org)
    Version 1.8.2.preview2 is recommended

    * Apache 2.0 (http://www.apache.org)
    Will be optional in a future version.

    The following applications or libraries are optional:

    * PostgreSQL (http://www.postgres.org)
    Used for Database driven web applications

    * Ruby-psql
    Ruby interface to the PostgreSQL RDBMS.

    * Ruby-XSLT (http://gregoire.lejeune.free.fr/ruby-xslt_0.4.0.tar.gz)
    Used for XSLT based templates.

    Please install the required applications and libraries before continuing
    with the installation of Nitro.

    == Instalation

    Nitro is distributed as a RubyGem. First of all make sure you have
    installed RubyGems on your system. Then run the following command:

    gem install nitro

    Then try to run the examples/tiny Example application.

    A tar.gz distribution is also available on http://www.navel.gr/nitro

    == Support

    For any questions regarding Nitro, feel free to ask on the ruby-talk
    mailing list (which is mirrored to comp.lang.ruby) or contact

    www.navel.gr | tel: +30 2106898050 | fax: +30 2106898437

    Navel does not accept liability for any errors, viruses or omissions in
    the contents of this message. The full corporate policy is available on
    our site.

    have fun: www.joy.gr
    George Moschovitis, Oct 21, 2004
    1. Advertisements

  2. George Moschovitis ha scritto:
    > = Nitro
    > Nitro is an efficient, yet simple engine for developing professional Web
    > Applications using the Ruby language. Nitro aims to provide a robust
    > infrastructure for scalable web applications that can be distributed
    > over a server cluster. However, Nitro can also power simple web
    > applications for deployment on intranets or even personal computers.

    cool thanks for releasing :)

    Btw, I'd suggest that you add a link to navel.gr/open-source and
    navel.gr/nitro to the homepage..
    gabriele renzi, Oct 21, 2004
    1. Advertisements

  3. > cool thanks for releasing :)

    Well, we have made some money using Ruby on various projects, so it
    felt appropriate to give something back to the community.

    I am very interested in hearing about potential problems when
    installing this software. I would like to have
    installation/rdoc/test-unit problems fixed for the next minor release.
    George Moschovitis, Oct 21, 2004
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. George  Moschovitis

    [ANN] Nitro Web Engine 0.2.0

    George Moschovitis, Oct 25, 2004, in forum: Ruby
    George Moschovitis
    Oct 27, 2004
  2. George  Moschovitis

    [ANN] Nitro 0.4.1

    George Moschovitis, Nov 15, 2004, in forum: Ruby
    George Moschovitis
    Nov 15, 2004
  3. George  Moschovitis

    [ANN] Nitro 0.5.0

    George Moschovitis, Nov 23, 2004, in forum: Ruby
    George Moschovitis
    Nov 23, 2004
  4. George  Moschovitis

    [ANN] Nitro 0.6.0

    George Moschovitis, Dec 10, 2004, in forum: Ruby
    George Moschovitis
    Dec 13, 2004
  5. George  Moschovitis

    [ANN] Nitro 0.7.0 + Og 0.7.0

    George Moschovitis, Dec 27, 2004, in forum: Ruby
    George Moschovitis
    Dec 28, 2004
  6. George  Moschovitis

    [ANN] Nitro + Og 0.8.0

    George Moschovitis, Jan 12, 2005, in forum: Ruby
    George Moschovitis
    Feb 1, 2005
  7. George  Moschovitis

    [ANN] Nitro + Og 0.9.3

    George Moschovitis, Feb 1, 2005, in forum: Ruby
    George Moschovitis
    Feb 1, 2005
  8. gabriele renzi

    [Nitro] [ANN] Nitro/Og 0.31.0

    gabriele renzi, Jul 24, 2006, in forum: Ruby
    George Moschovitis
    Aug 1, 2006