{"id":21726028,"url":"https://github.com/atelechev/fx-ng-template","last_synced_at":"2025-10-17T04:42:45.745Z","repository":{"id":45271007,"uuid":"440486675","full_name":"atelechev/fx-ng-template","owner":"atelechev","description":"A POC/prototype of a standalone Java application that uses Angular as the framework for the UI part.","archived":false,"fork":false,"pushed_at":"2021-12-26T07:58:27.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-25T19:29:23.213Z","etag":null,"topics":["angular","javafx","poc","standalone-app","template"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atelechev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-21T11:02:42.000Z","updated_at":"2021-12-26T07:58:30.000Z","dependencies_parsed_at":"2022-09-13T16:11:05.780Z","dependency_job_id":null,"html_url":"https://github.com/atelechev/fx-ng-template","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/atelechev%2Ffx-ng-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atelechev%2Ffx-ng-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atelechev%2Ffx-ng-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atelechev%2Ffx-ng-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atelechev","download_url":"https://codeload.github.com/atelechev/fx-ng-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244706522,"owners_count":20496570,"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":["angular","javafx","poc","standalone-app","template"],"created_at":"2024-11-26T03:20:09.508Z","updated_at":"2025-10-17T04:42:40.691Z","avatar_url":"https://github.com/atelechev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FX-NG Template\n\n## Overview\n\nThis project is a POC/prototype of a standalone Java application that uses Angular as the framework for the UI part.\n\nThe main motivation for this experiment was to be able to use the power and flexibility of an Angular application in\norder to render a UI in the standalone/desktop mode, without the need to create too much JavaFX-related code.\n\nThe idea consists in the following:\n\n* use JavaFX as the basis for a standalone Java application.\n* implement all the visual UI features with Angular, which communicates with the JavaFX part through JavaScript objects.\n\nThe JavaFX part contains:\n\n* a standard JavaFX application, with only a `WebView` instance allowing to render an SPA written in Angular.\n* an embedded instance of Jetty, which serves the static resources of the Angular app.\n\nThe Angular part contains a standard Angular application. Its only special elements are action interfaces that match the\nactions supported in the JavaFX part and are used to pass messages into the latter.\n\nThis project can be used for further experiments with the concept, or as a template for a real standalone app.\n\n## Project Structure\n\nThe `ui-angular` module contains the implementation of a simple Angular app, serving as example.\n\nThe `ui-javafx` module contains the implementation of the JavaFX part.\n\nFor more details, please check the respective `README`s in these modules.\n\n## Build\n\nThis project requires Java 15+ and Maven 3.8+ to be installed. Node and NPM are also recommended for the Angular part.\n\nTo build the application, run `mvn clean install` in the root folder of the project, either in the command line or\nthrough your IDE (IntelliJ was used for the development).\n\n## Run\n\nTo run the application from an executable jar, after building the application, use the command\n\n    java -jar ui-javafx/target/ui-javafx-0.0.1-SNAPSHOT.jar\n\nTo run from the IDE, execute the `fr.atelechev.fxng.App.main` method through the standard UI of the IDE.\n\n## License\n\nThis software is distributed under MIT license conditions.\n\nPlease check more details in `LICENSE` file.\n\n--- \n\n(c) 2021 Anton Telechev \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatelechev%2Ffx-ng-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatelechev%2Ffx-ng-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatelechev%2Ffx-ng-template/lists"}