Disconnect: Core

Core module for Disconnect

License

License

Categories

Categories

UML Business Logic Libraries Documents Processing
GroupId

GroupId

com.github.fluorumlabs.disconnect
ArtifactId

ArtifactId

disconnect-core
Last Version

Last Version

0.1.0-alpha2
Release Date

Release Date

Type

Type

jar
Description

Description

Disconnect: Core
Core module for Disconnect
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-core

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.fluorumlabs.disconnect/disconnect-core/ -->
<dependency>
    <groupId>com.github.fluorumlabs.disconnect</groupId>
    <artifactId>disconnect-core</artifactId>
    <version>0.1.0-alpha2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.fluorumlabs.disconnect/disconnect-core/
implementation 'com.github.fluorumlabs.disconnect:disconnect-core:0.1.0-alpha2'
// https://jarcasting.com/artifacts/com.github.fluorumlabs.disconnect/disconnect-core/
implementation ("com.github.fluorumlabs.disconnect:disconnect-core:0.1.0-alpha2")
'com.github.fluorumlabs.disconnect:disconnect-core:jar:0.1.0-alpha2'
<dependency org="com.github.fluorumlabs.disconnect" name="disconnect-core" rev="0.1.0-alpha2">
  <artifact name="disconnect-core" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.fluorumlabs.disconnect', module='disconnect-core', version='0.1.0-alpha2')
)
libraryDependencies += "com.github.fluorumlabs.disconnect" % "disconnect-core" % "0.1.0-alpha2"
[com.github.fluorumlabs.disconnect/disconnect-core "0.1.0-alpha2"]

Dependencies

compile (11)

Group / Artifact Type Version
org.teavm : teavm-classlib jar 0.6.1
org.teavm : teavm-jso jar 0.6.1
org.teavm : teavm-tooling jar 0.6.1
org.teavm : teavm-interop jar 0.6.1
org.apache.commons : commons-lang3 jar 3.8.1
commons-io : commons-io jar 2.6
com.fasterxml.jackson.core : jackson-databind jar 2.10.1
com.github.fluorumlabs.disconnect : disconnect-classlib jar 0.1.0-alpha2
org.slf4j : slf4j-api jar 1.7.30
com.squareup : javapoet jar 1.11.1
com.helger : ph-css jar 6.1.1

provided (1)

Group / Artifact Type Version
com.google.auto.service : auto-service jar 1.0-rc6

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