SnapCode - Building apps is a snap

(Click for video tutorial)

Key Features:Free

  • Build apps quickly
  • Drag and drop to build code
  • Learn or teach Java programming
  • Graphically design UI, pages, forms, reports
  • Graphically create schema, tables, queries
  • Graphically manage, manipulate, import data
  • SnapWeb classes enable browser style apps
  • SnapUI classes simplify UI coding
  • SnapData classes simplify data management

[ Gallery ] [ Blog ]

[ Download ]


The IDE for Everyone

SnapCode is an IDE and RAD tool for education, entertainment and the enterprise.

For education, there is a visual code editor for building Java applications with simple drag and drop. There are Studio/Actor classes with methods to move, turn, resize and more to quickly build animations and stories. There are also console I/O methods and pen graphics features. All together, it is a great way to learn and teach programming.

For the enterprise, there is a traditional JavaText code editor with modern IDE features, a UI builder, a page designer, a report builder, a data table builder, a query builder, automatic forms and reports generation, a browser runtime player, a client/server cloud back-end and more.

Graphical Design

Elegance, aesthetics and interactive effects have become essential to modern apps. Graphical design tools provide this and also accelerate development, improve iteration cycles and reduce maintenance. SnapCode features integrated graphical design tools for pages, UI, forms, reports, tables, queries, data management and more.

The page designer supports vector graphics, animation, rich text, image effects, arbitrary transforms, advanced media and much more. Auto-generate forms and reports to get started, then open in the page designer for unlimited customization.

SnapWeb for Browser Style Apps

SnapCode has classes for URL, File, Site, Page, Browser and Web, that lets you easily create applications in the browser paradigm. Every file in a Snap project, whether a page, form, report, UI file, image, sound, html or even a custom Java class, can be referenced as a URL, loaded as a File from a Site, displayed as a Page in the Browser and run as a stand-alone app. This solves a significant issue with Java: now Java runs as a browser instead of in the browser.

The SnapCode WebKit simplifies resource management and handles application navigation, page transitions, background loading, logins, backtracking, bookmarks, history, bread-crumbs and more. This is a significant improvement over popping up windows, swapping out content panes and the stunted browser support that applets alone provided.

SnapUI for Building, Binding, Managing UI

SnapCode features a UI management class for JavaFX that acts as Grand Central Station to enable anything related to the UI in a simple and consistent manner. Subclass JFXFileOwner to automatically load an accompanying UI file and optionally customize InitUI, ResetUI and RespondUI. JFXFileOwner automatically handles UI loading, configuration, data binding and event processing. One line of code can setValue on any control, add key bindings, enable/respond to events, run a dialog box and much more. The simple consistent API for this class eliminates the need to learn the API for dozens of others and makes UI coding more consistent and concise. The API of the native toolkit is still available as well.

There is an interchangeable sister class for Swing (SwingFileOwner) making it trivial to switch or migrate between Swing and JavaFX, which also opens the door for future client technologies.

SnapData for Data Management, Transport, Server, Sandbox

SnapCode has classes for Table, Row, Query, View and DataSource. Fetching, displaying, creating, modifying, saving and deleting data is trivial. Related objects in the object graph are loaded automatically on-demand and can be pulled from different data sources. Transport from a cloud server or database is handled automatically with REST/JSON support. Implementations for Google App Engine, JDBC, HTTP, FTP, FlatFile and others are provided

Shipping Soon!

Snap is almost done and very mature due to the fact that SnapCode is written with SnapCode. We would really love to hear from teachers or students that might find this useful. Send us a note (info@reportmill.com) and let us know what you think!