Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robertvazan/pushmode
Server-side Java library that streams web app's HTML output down to the browser while user's actions are streamed back to the server.
https://github.com/robertvazan/pushmode
hookless html html5 java java-library pushmode streaming-server web-framework websocket-library
Last synced: about 2 months ago
JSON representation
Server-side Java library that streams web app's HTML output down to the browser while user's actions are streamed back to the server.
- Host: GitHub
- URL: https://github.com/robertvazan/pushmode
- Owner: robertvazan
- License: apache-2.0
- Created: 2019-10-05T19:10:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-11-13T23:55:22.000Z (about 1 year ago)
- Last Synced: 2023-11-14T22:37:55.752Z (about 1 year ago)
- Topics: hookless, html, html5, java, java-library, pushmode, streaming-server, web-framework, websocket-library
- Language: Java
- Homepage: https://pushmode.machinezoo.com/
- Size: 168 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
# PushMode
[![Maven Central](https://img.shields.io/maven-central/v/com.machinezoo.pushmode/pushmode)](https://central.sonatype.com/artifact/com.machinezoo.pushmode/pushmode)
[![Build status](https://github.com/robertvazan/pushmode/workflows/build/badge.svg)](https://github.com/robertvazan/pushmode/actions/workflows/build.yml)
[![Test coverage](https://codecov.io/gh/robertvazan/pushmode/branch/master/graph/badge.svg)](https://codecov.io/gh/robertvazan/pushmode)PushMode is a server-side Java library that streams web app's HTML output down to the browser
while user's actions are streamed back to the server.
The only code the browser ever sees is a tiny JavaScript file.
Application effectively runs all on the server,
but interactivity is almost the same as if it was running in the browser.
This architecture has its [advantages](https://pushmode.machinezoo.com/architecture-comparison).
PushMode is reactive by default as it is based on [Hookless](https://hookless.machinezoo.com/).More on [homepage](https://pushmode.machinezoo.com/).
## Status
Experimental. [Stagean](https://stagean.machinezoo.com/) is used to track progress on class and method level.
Read-only streaming of HTML to the client is fairly stable. Streaming of user input to the server is early alpha.
Browser APIs (e.g., history manipulation) aren't implemented at all.## Getting started
See [homepage](https://pushmode.machinezoo.com/).
## Documentation
* [Homepage](https://pushmode.machinezoo.com/)
* [Javadoc](https://pushmode.machinezoo.com/javadoc/com.machinezoo.pushmode/module-summary.html)Some APIs are undocumented. You might have to peek in the [source code](src/main/java/com/machinezoo/pushmode).
## Feedback
Bug reports and pull requests are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
## License
Distributed under [Apache License 2.0](LICENSE).