{"id":25777223,"url":"https://github.com/reportmill/SnapCode","last_synced_at":"2025-02-27T06:07:23.819Z","repository":{"id":89517298,"uuid":"569428840","full_name":"reportmill/SnapCode","owner":"reportmill","description":"A Java workbench tool for data science and education","archived":false,"fork":false,"pushed_at":"2025-02-21T17:10:03.000Z","size":8488,"stargazers_count":21,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T18:23:27.663Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reportmill.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-22T20:05:10.000Z","updated_at":"2025-02-21T17:10:07.000Z","dependencies_parsed_at":"2023-10-25T22:33:32.210Z","dependency_job_id":"637ac790-0251-47ee-b855-b6111c1d27e4","html_url":"https://github.com/reportmill/SnapCode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportmill%2FSnapCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportmill%2FSnapCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportmill%2FSnapCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportmill%2FSnapCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reportmill","download_url":"https://codeload.github.com/reportmill/SnapCode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987436,"owners_count":19889335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-27T06:01:39.316Z","updated_at":"2025-02-27T06:07:23.810Z","avatar_url":"https://github.com/reportmill.png","language":"Java","funding_links":[],"categories":["在线编辑器"],"sub_categories":[],"readme":"\u003c!-- title: \"SnapCode - a real Java IDE for the Web\" --\u003e\n\n\u003cdiv style=\"position:relative;left:-25px;top:-40px;height:60px;\"\u003e\n  \u003cscript src=\"https://reportmill.com/shared/navbar.js\"\u003e\u003c/script\u003e\n  \u003cfont size=\"1\" face=\"Verdana, Helvetica, Arial\" color=\"#CB0017\"\u003e\n    \u003ca href=\"http://www.reportmill.com\"\u003eHOME\u003c/a\u003e \u0026gt; SnapCode\n  \u003c/font\u003e\n\u003c/div\u003e\n\n# \u003ca name=\"title\"\u003eSnapCode - a real Java IDE for the Web\u003c/a\u003e\n\n\u003cdiv style=\"margin-left:20px;\"\u003e\n  \u003ca href=\"https://reportmill.com/SnapCode/app\"\u003e\n    \u003cdiv style=\"margin:0; padding:0;\"\u003e\n      \u003cimg src=\"https://reportmill.com/SnapCode/images/Charting.png\" width=\"300\" height=\"262\"\u003e\n      \u003cimg src=\"https://reportmill.com/SnapCode/images/Tetris.png\" width=\"300\" height=\"262\"\u003e\n    \u003c/div\u003e\n    \u003cdiv style=\"margin:0; padding:0;\"\u003e\n      \u003cimg src=\"https://reportmill.com/SnapCode/images/Flappy.png\" width=\"300\" height=\"262\"\u003e\n      \u003cimg src=\"https://reportmill.com/SnapCode/images/Vector.png\" width=\"300\" height=\"262\"\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e  \n\u003cdiv style=\"margin-left:260px\"\u003e\n  \u003ca href=\"https://reportmill.com/SnapCode/app\"\u003e( Run SnapCode )\u003c/a\u003e\n\u003c/div\u003e\n\n\u003c!-- [ ![SnapCode](https://reportmill.com/SnapCode/SnapCode.png)](http://www.reportmill.com/SnapCode/app/) --\u003e\n\n## \u003ca name=\"Overview\"\u003eOverview\u003c/a\u003e\n\nSnapCode makes it fast and easy to start coding Java in any modern browser. SnapCode offers modern coding features, support for\nJava REPL (Read-Eval-Print-Loop), and full featured library support for UI, graphics, charting, 3D and more.\nAll of this makes SnapCode effective for a broad range of uses from education to engineering and data science.\n\nSnapCode gets things started quickly with these features:\n\n- No install - runs in browser [(Click here to run)](https://reportmill.com/SnapCode/app)\n- Java REPL coding - just start coding (no class/main-method boilerplate needed)\n- REPL style output (shows stacked output as rich interactive views)\n- Integrated UI builder\n- Integrated help system\n- Block coding support\n- Project level search (strings or symbols, references and declarations)\n- Integrated developer tools\n- Support for 'Share' links to easily share code\n- Desktop app: [Download Page](https://reportmill.com/SnapCode/download.html)\n\n## \u003ca name=\"ModernFeatures\"\u003eModern IDE Features\u003c/a\u003e\n\nSnapCode has everything you expect from a modern IDE to make writing code fast and easy:\n\n- Syntax highlighting\n- Code completion (receiving class/type aware)\n- Matching symbol highlighting\n- Balanced character pair handling for parens/brackets\n- Inline as-you-type warnings and errors\n- One click jump to symbol declaration, super declarations, JavaDocs and source\n- Editor shows the AST hierarchy of selected symbol\n\n## \u003ca name=\"JavaRepl\"\u003eJava REPL (Read-Eval-Print-Loop)\u003c/a\u003e\n\nSnapCode allows you to avoid boilerplate code and evaluates code snippets as you type for instant feedback.\n\n- Implicit Class and main method declarations - just start typing code\n- Variable type 'var' for implicit variable type declaration\n- Statement terminators (semi-colons) are optional\n- Direct access to common System methods without preamble (print(), println(), etc.)\n\nJava REPL support is optional - full Java is supported, and can be auto-generated, for when code needs to be\nportable and compliant.\n\n## \u003ca name=\"FullLibrary\"\u003eFull Featured Library Support\u003c/a\u003e\n\nSnapCode is built using the SnapKit and SnapCharts libraries giving access to advanced application features.\n\n- Complete UI programming with [SnapKit](https://github.com/reportmill/SnapKit)\n  - Label, Button, Slider, TextField\n  - ListView, TableView, TreeView, TabView, Browser\n  - SplitView, ScrollView, DrawerView\n  - Vector graphics shapes, arbitrary transforms, image effects, gradients, textures\n  - 3D library support with OpenGL/WebGL (CameraView, VertexArray, Scene, Shape3D, Texture)\n  - UI Animation to make things sizzle, slide, jiggle and bounce\n- Complete charting support with [SnapCharts](https://github.com/reportmill/SnapCharts)\n  - Bar, Pie \n  - Scatter, Area, Line\n  - Contour, Polar Contour, Contour 3D\n  - Log Axes, Multi-Y axes\n  - Pan, Zoom, Mouse-Over labels\n\n## \u003ca name=\"UIBuilder\"\u003eIntegrated UI Builder\u003c/a\u003e\n\nBecause the best line of code is the one you don't have to write, UI is almost always created using the with the\nintegrated UI builder and stored in simple XML files ('.snp' files). Simply create/save a .snp file with the same\nname as your custom controller class, and the default controller.createUI() method will load it.\n\n[ ![SnapBuilder](https://reportmill.com/snaptea/SnapBuilder/SnapBuilder.gif)](https://reportmill.com/snaptea/SnapBuilder/)\n\n## \u003ca name=\"BlockCoding\"\u003eBlock Coding\u003c/a\u003e\n\nLearn the basic concepts of coding in a visual way, by drag and drop. (This feature is still in preview).\n\n[ ![Block Coding](https://reportmill.com/SnapCode/images/BlockCoding.png)](https://reportmill.com/snaptea/SnapBuilder/)\n\n## \u003ca name=\"HelpSystem\"\u003eInteractive Help System\u003c/a\u003e\n\nSnapCode also has an integrated help system to quickly find templates for almost any kind of code.\n\n## \u003ca name=\"ComingSoon\"\u003eComing Soon\u003c/a\u003e\n\nMany features are on the immediate roadmap:\n\n- Visual debugger in browser version\n- Support for Java 11 and beyond\n- Puzzle block coding\n- Github support\n\n## \u003ca name=\"Technology\"\u003eTechnology\u003c/a\u003e\n\nThis project is built with the following tools:\n\n- [SnapCode](https://github.com/reportmill/SnapCode) - Source for SnapCode (Github)\n- [SnapKit](https://github.com/reportmill/SnapKit) - Java UI Kit (Github)\n- [SnapCharts](https://github.com/reportmill/SnapCharts) - Java charting library (Github)\n- [CheerpJ](https://leaningtech.com/cheerpj/) - A Java JVM in the browser\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freportmill%2FSnapCode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freportmill%2FSnapCode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freportmill%2FSnapCode/lists"}