GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - reportmill/SnapCode: A Java workbench tool for data science and education

BranchesTags
Open more actions menu

Latest commit

 

History

1,949 Commits
1,949 Commits

Folders and files

NameName
Last commit message
Last commit date
gradle/wrapper
gradle/wrapper
 
 
lib
lib
 
 
src
src
 
 
.gitignore
.gitignore
 
 
License.txt
License.txt
 
 
ReadMe.md
ReadMe.md
 
 
build.gradle
build.gradle
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
icon.png
icon.png
 
 
package.json
package.json
 
 
snapcode.js
snapcode.js
 
 

Repository files navigation

SnapCode - a real Java IDE for the Web

( Run SnapCode )

Overview

SnapCode is a full-featured Java IDE that runs in the browser. It is free, modern, powerful, tailored for education and is the fastest and easiest way to start writing and sharing Java code.

SnapCode offers modern coding features, support for Java REPL (Read-Eval-Print-Loop), support for working with projects in the cloud and full-featured library support for UI, graphics, charting, 3D and more. The full list of compelling advantages includes:

  • Runs in any modern browser (click to run)
  • Runs on all major desktops (click to download)
  • REPL coding - just start coding (no class/main-method boilerplate needed)
  • REPL style output (shows stacked output as rich interactive views)
  • Support for working in the cloud and with GitHub
  • Support for sharing running apps/code and embedding in HTML
  • Block coding support
  • Integrated UI builder
  • Integrated help system
  • Project level search (strings or symbols, references and declarations)
  • Integrated developer tools

Modern IDE Features

SnapCode has everything you expect from a modern IDE to make writing code fast and easy:

  • Syntax highlighting
  • Code completion (receiving class/type aware)
  • Matching symbol highlighting
  • Balanced character pair handling for parens/brackets
  • Inline as-you-type warnings and errors
  • One click jump to symbol declaration, super declarations, JavaDocs and source
  • Editor shows the AST hierarchy of selected symbol

Java REPL (Read-Eval-Print-Loop)

SnapCode allows you to avoid boilerplate code and evaluates code snippets as you type for instant feedback.

  • Implicit Class and main method declarations - just start typing code
  • Variable type 'var' for implicit variable type declaration
  • Statement terminators (semi-colons) are optional
  • Direct access to common System methods without preamble (print(), println(), etc.)

Java REPL support is optional - full Java is supported, and can be auto-generated, for when code needs to be portable and compliant.

Full Featured Library Support

SnapCode is built using the SnapKit and SnapCharts libraries giving access to advanced application features.

  • Complete UI programming with SnapKit
    • Label, Button, Slider, TextField
    • ListView, TableView, TreeView, TabView, Browser
    • SplitView, ScrollView, DrawerView
    • Vector graphics shapes, arbitrary transforms, image effects, gradients, textures
    • 3D library support with OpenGL/WebGL (CameraView, VertexArray, Scene, Shape3D, Texture)
    • UI Animation to make things sizzle, slide, jiggle and bounce
  • Complete charting support with SnapCharts
    • Bar, Pie
    • Scatter, Area, Line
    • Contour, Polar Contour, Contour 3D
    • Log Axes, Multi-Y axes
    • Pan, Zoom, Mouse-Over labels

Integrated UI Builder

Because the best line of code is the one you don't have to write, UI is almost always created using the with the integrated UI builder and stored in simple XML files ('.snp' files). Simply create/save a .snp file with the same name as your custom controller class, and the default controller.createUI() method will load it.

SnapBuilder

Block Coding

Learn the basic concepts of coding in a visual way, by drag and drop. (This feature is still in preview).

Block Coding

Interactive Help System

SnapCode also has an integrated help system to quickly find templates for almost any kind of code.

Coming Soon

Many features are on the immediate roadmap:

  • Visual debugger in browser version
  • Support for Java 11 and beyond
  • Puzzle block coding
  • Github support

Technology

This project is built with the following tools:

  • SnapCode - Source for SnapCode (Github)
  • SnapKit - Java UI Kit (Github)
  • SnapCharts - Java charting library (Github)
  • CheerpJ - A Java JVM in the browser

About

A Java workbench tool for data science and education

Resources

Readme
License
Activity

Stars

46 stars

Watchers

0 watching

Forks

3 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.