npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

snapcodejava

v2024.6.22

Published

A Java IDE for education

Downloads

285

Readme

SnapCode - a real Java IDE for the Web

Overview

SnapCode makes it fast and easy to start coding Java in any modern browser. SnapCode offers modern coding features, support for Java REPL (Read-Eval-Print-Loop), and full featured library support for UI, graphics, charting, 3D and more. All of this makes SnapCode effective for a broad range of uses from education to engineering and data science.

SnapCode gets things started quickly with these features:

  • No install - runs in browser (Click here to run)
  • Java REPL coding - just start coding (no class/main-method boilerplate needed)
  • REPL style output (shows stacked output as rich interactive views)
  • Integrated UI builder
  • Integrated help system
  • Block coding support
  • Project level search (strings or symbols, references and declarations)
  • Integrated developer tools
  • Support for 'Share' links to easily share code
  • Desktop app: Download Page

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: