Snapper - XML Application SourceForge.net Logo  

Snapper Development System
Snapper Links

Snapper's SourceForge Page

Download

Documentation


Snapper brings easy application development to the Linux platform.  The Snapper system incorporates an entire working application in an XML file.  The Visual Development tool combines scripts, graphical objects and extensions into a single XML file that is then run via the Snapper thin client.  Command line versions of all tools are also available.  The Graphical Environment is GTK+/Gnome and the scripting language is Perl.  TCL, Python, and Ruby will be included in the future.

By incorporating the entire application into a single XML file the benefits are enormous, i.e. single point administration, rapid deployment of bug fixes and enhancements, and delivery of application via web server, file server, database server, or even email.

SnapRun

Snapper's thin client, "SnapRun", is used to activate Snapper applications, it can pull the application XML file from any source, i.e. file system, web server, etc.

The "user", and "password" fields can be used to supply a login for a protected URL.

Snapper Thin Client

  Technology

The terminal session on the left shows the file hierarchy, how the structure is compiled and then the invocation of the application.  The entire working order entry program is contained in a 250K perl file.  The output could also be written in XML and activated via SnapRun.   The GtkPizza example can be found in the contrib archive.  This program appeared in a Linux magazine several years ago, and was converted with minimal effort from C.  Please note that the command line programs used below are also available in the visual IDE.

The output from the snapmake command that was run below can be found here.

[bill@shark contrib]$ ls -lR gtk_pizza
gtk_pizza:
    header/
    MAIN.module/
gtk_pizza/header:
    project.options
    start_script.pl
gtk_pizza/MAIN.module:
    scripts/
    widget/
gtk_pizza/MAIN.module/scripts:
    001_customer_screen.pl
    001_DB.pl
    001_display_screen.pl
    001_docket_screen.pl
    001_login_screen.pl
    001_message_box.pl
    001_order_screen.pl
    001_select_cust_screen.pl
    001_select_screen.pl
    001_user_utils.pl
    001_utils.pl
    999_startup.pl
gtk_pizza/MAIN.module/widget:
    MAIN.glade
    oix.xml

[bill@shark contrib]$ snapmake -d gtk_pizza -c -f gtk_pizza.pl
[bill@shark contrib]$ perl gtk_pizza.pl

GtkPizza
GtkPizza

  Samples

The Snapper distribution contains a samples directory which contains several sample programs that demonstrate how Snapper can be used. The pizza sample is simple POS system, while the robo sample is an example from a programming class. The robo driver sample is an n-sided track where the student must write the driver function to guide the car.

Pizza LifeTrack Robo Driver!
Pizza LifeTrack Robo Driver!

  Interface

SnapperIDE consists of three main components; the Snapper compiler, the object integration and extension manager, and the data dumper/loader.

SnapperIDE is used to compile a project directory, run the project, and manage/edit the project files in a graphical environment.

Figure 2 - Oix

Content owned by Albacore Technology is copyright 1999-2000 Albacore Technology, LLC All rights reserved.