Disconnect: Maven plugin

Maven plugin for building of disconnect applications

License

License

Categories

Categories

Maven Build Tools UML Business Logic Libraries Documents Processing
GroupId

GroupId

com.github.fluorumlabs.disconnect
ArtifactId

ArtifactId

disconnect-maven-plugin
Last Version

Last Version

0.1.0-alpha2
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

Disconnect: Maven plugin
Maven plugin for building of disconnect applications
Project URL

Project URL

https://github.com/fluorumlabs/disconnect-project
Source Code Management

Source Code Management

http://github.com/fluorumlabs/disconnect-project/tree/master

Download disconnect-maven-plugin

How to add to project

<plugin>
    <groupId>com.github.fluorumlabs.disconnect</groupId>
    <artifactId>disconnect-maven-plugin</artifactId>
    <version>0.1.0-alpha2</version>
</plugin>

Dependencies

compile (12)

Group / Artifact Type Version
org.apache.maven : maven-model jar 3.5.0
org.apache.maven : maven-plugin-api jar 3.5.0
org.codehaus.plexus : plexus-utils jar 3.3.0
org.twdata.maven : mojo-executor jar 2.3.1
org.apache.commons : commons-lang3 jar 3.9
org.slf4j : slf4j-api jar 1.7.29
org.apache.maven : maven-embedder jar 3.5.0
commons-io : commons-io jar 2.6
org.teavm : teavm-tooling jar 0.6.1
com.github.fluorumlabs.disconnect : disconnect-core jar 0.1.0-alpha2
com.github.marschall : memoryfilesystem jar 2.1.0
org.takes : takes jar 1.18

provided (2)

Group / Artifact Type Version
org.apache.maven : maven-core jar 3.5.0
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.4

Project Modules

There are no modules declared in this project.

Disconnect Project

Disclaimer: this is work in progress

What?

Disconnect is a framework to write offline-first mobile-ready applications in a pure Java. No GWT involved.

Why?

Being a Java veteran, I was always looking for a way to build web-apps with Java. There are several UI frameworks out there, but they either use outdated technology, or simply do not allow to create offline-first application without JavaScript.

How?

At the heart of Disconnect lies TeaVM -- ahead-of-time JVM byte-code to JavaScript transpiler. (Well, it also does C and WASM, but that's out of scope of this project). The most powerful features of TeaVM are metaprogramming helpers (that allows you to emulate reflection without actual reflection) and class transformers, which provide a way to manipulate byte-code before transpilation. I use both.

Again: this is still work in progress, the API and implementation is changing frequently, so some of the details below might be out of sync with the reality.

Roadmap

  • Test framework integration
  • Web workers authoring
  • Proper documentation
  • Routing
  • Spring security integration
  • Encrypted RPC (for the one who cares of security)
  • Sky is the limit

Versions

Version
0.1.0-alpha2
0.1.0-alpha1