Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Atmosphere/atmosphere
Event Driven WebSockets Framework with Cross-Browser Fallbacks
https://github.com/Atmosphere/atmosphere
asynchronous event-driven java javascript microservices netty spring-boot websocket websockets
Last synced: about 1 month ago
JSON representation
Event Driven WebSockets Framework with Cross-Browser Fallbacks
- Host: GitHub
- URL: https://github.com/Atmosphere/atmosphere
- Owner: Atmosphere
- Created: 2010-06-30T14:26:23.000Z (over 14 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T14:21:52.000Z (about 2 months ago)
- Last Synced: 2024-10-29T10:42:30.310Z (about 2 months ago)
- Topics: asynchronous, event-driven, java, javascript, microservices, netty, spring-boot, websocket, websockets
- Language: Java
- Homepage: http://async-io.org/
- Size: 108 MB
- Stars: 3,690
- Watchers: 237
- Forks: 749
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: license/LICENSE-2.0.txt
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- useful-java-links - Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [![GitHub stars](https://img.shields.io/github/stars/Atmosphere/atmosphere.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Atmosphere/atmosphere). ![business friendly license](https://github.com/Vedenin/useful-java-links/blob/master/img/business-friendly.png?raw=true) (I. Development / 2. Web development)
README
### Welcome to Atmosphere: The Event Driven Framework supporting WebSocket and HTTP
The Atmosphere Framework contains client and server side components for building Asynchronous Web Applications. Atmosphere transparently supports WebSockets, Server Sent Events (SSE), Long-Polling, HTTP Streaming and JSONP.
The Atmosphere Framework works on all Servlet based servers, [Spring Boot](https://spring.io/projects/spring-boot) and frameworks like [Netty](http://atmosphere.github.io/nettosphere/), [Play! Framework](http://atmosphere.github.io/atmosphere-play/) and [Vert.x](https://github.com/Atmosphere/atmosphere-vertx). We support a variety of [extensions](https://github.com/Atmosphere/atmosphere-extensions/tree/extensions-2.4.x) like [Apache Kafka](https://github.com/Atmosphere/atmosphere-extensions/tree/master/kafka/modules), [Hazelcast](https://github.com/Atmosphere/atmosphere-extensions/tree/master/hazelcast/modules), [RabbitMQ](https://github.com/Atmosphere/atmosphere-extensions/tree/master/rabbitmq/modules), [Redis](https://github.com/Atmosphere/atmosphere-extensions/tree/master/redis/modules) and many more.
Atmosphere's Java/Scala/Android Client is called [wAsync](https://github.com/Atmosphere/wasync).
Atmosphere 3.0.x on JDK 17 and 23
[![Atmopshere 3.0.x](https://github.com/Atmosphere/atmosphere/actions/workflows/maven.yml/badge.svg?branch=main)](https://github.com/Atmosphere/atmosphere/actions/workflows/maven.yml)
Atmosphere 2.7.x on JDK 8 up to 23
[![Atmopshere 2.7.x](https://github.com/Atmosphere/atmosphere/actions/workflows/maven.yml/badge.svg?branch=atmosphere-2.7.x)](https://github.com/Atmosphere/atmosphere/actions/workflows/maven.yml)
### Commercial support
Commercial Support is available via [Async-IO.org](http://async-io.org)### To use Atmosphere, add the following dependency:
```xml
org.atmosphere
atmosphere-runtime
3.0.13
```
or
```xml
org.atmosphere
atmosphere-{atmosphere-module}
2.7.15
```
atmosphere-module can be: runtime (main module), jersey, spring, kafka, guice, redis, hazelcast, jms, rabbitmq, jgroups etc. Our official releases are available from Maven Central [download](http://search.maven.org/#search|ga|1|atmosphere).### Official Documentation
Complete repository of samples [sample](https://github.com/Atmosphere/atmosphere-samples/).Our Wiki contains [several tutorials](https://github.com/Atmosphere/atmosphere/wiki) for getting started as well as [FAQ](https://github.com/Atmosphere/atmosphere/wiki/Frequently-Asked-Questions). You can also browse the framework's [Javadoc](http://atmosphere.github.io/atmosphere/apidocs/) for Server Components, and [atmosphere.js](https://github.com/Atmosphere/atmosphere/wiki/atmosphere.js-API) for Client Components.
### Getting started
Here's how to get your first Atmosphere project off the ground.#### Prerequisites
Ensure you have Java 8 (or later) installed on your system. For managing your Java Project and its dependencies, you'll need a build automation tool. We recommend [Maven](https://maven.apache.org/), which is widely used in the Java ecosystem.#### Project Setup
Create a new project using Maven. Add Atmosphere as a dependency in your `pom.xml` to access all the necessary libraries.#### Server Configuration
In your project, you'll define a server endpoint that listens to incoming connections. Atmosphere's annotations and resource handlers make this process straightforward.#### Running Your Server
With the server set up, use your IDE or the Maven CLI to compile and run your application.
#### Create a Client
Your web client will need to establish a connection to your server. You can create a simple HTML page with JavaScript to connect and communicate with your server endpoint.#### Keep Going!
Once you've got the basics down, explore the full range of Atmosphere's capabilities to create more sophisticated real-time applications.For detailed instructions, examples, and advanced configurations, refer to the [official Atmosphere tutorial](https://www.async-io.org/tutorial.html).
Z
#### Supported Atmosphere VersionsAtmosphere 2.7.x requires JDK 8 or 11. Atmosphere 3.0.x requires JDK 11.
@Copyright 2008-2024 [Async-IO.org](http://async-io.org)