Awesome
gwt-react
GWT Java bindings for React
Introduction
gwt-react provides Java GWT bindings for React v16.3 based on the new JsInterop capabilities introduced in GWT 2.8 <br/> <br/> In addition, you can now use the same bindings with Preact v8.1
Prerequisites
Any documentation assumes you are familiar with React. If this is not the case, please take the time to learn the basic concepts first. Check out the resources section for useful links.
You should also be familiar with the GWT 2.8 JsInterop specification. You can find the specification here.
Getting Started
Please take a look at the gwt-react-examples project for details on how to use the library.
You can download the latest release .jar from Maven Central using the following coordinates:
- groupId com.github.gwtreact
- artifactId gwt-react
- version 1.0.0
Documentation
Check out the Documentation. There are a number of important concepts specific to gwt-react that may not be obvious, even if you are an experienced GWT developer.
Contributing
Once the project is stable we will be happy to except pull requests. If you find any problems please file issues.
Roadmap
-
Investigate writing an Annotation processor to create fluent prop classes
-
Refine the different prop types for basic HTML elements
-
Refine the CSS prop types and add enumerations and more useful setter methods where possible
-
Remove any dependencies on com.google.gwt.dom.*. Replace with Elemental 2 or something equivalent, DONE -
Add facility to create factory interfaces like <code>React.DOM.xxx</code>, DONE -
Add server implementation of Array and StringSet (to allow a JSON structure to be modelled on client/server with one class), DONE -
Investigate splitting ObjectLiteraL, Array, StringSet... into it's own project, DONE -
Prepare project(s) for publishing to Maven e.g. add Gradle build/release files, DONE -
Publish project(s) to Maven, DONE -
Verify interop within existing Widget based GWT projectsDONE, check out widget_interop in the gwt-react-examples project -
Show how to use npm and webpack to create a javascript bundleDONE, check out the documentation.
Change log
Date | Version | Description |
---|---|---|
5/02/2017 | 1.0.0 | Support React 16.3 and GWT 2.8.2 |
4/29/2017 | 0.6.0 | Support React 15.5, Preact 8.1 and GWT 2.8.1 |
3/18/2017 | 0.5.0 | Refactored to use more future proof ES6 styled stateful components and added Preact support |
10/28/2016 | 0.3.0 | Support react 15.3.2 and GWT 2.8 final release |
6/18/2016 | 0.2.0 | Update to use gwt-interop-utils library |
5/13/2016 | 0.1.0 | Initial preview release to Maven Central |