|
|
|
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.
|
|
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 |
|
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 |
|
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! |
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.
|
|
|