Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GWT Meetup 2015 - GWT 2.8 and Beyond

GWT Meetup 2015 - GWT 2.8 and Beyond

Avatar for Lipeng Han

Lipeng Han

June 10, 2015

Other Decks in Programming

Transcript

  1. New Features • Java 8, all language features enabled •

    JsInterop • GSS default • System.getProperty() • Plus performance and fixes
  2. JsInterop • Spec nearing finalization (see mailing list) • Much

    of changes are naming conventions and restrictions checking/diagnostics • Still need to implement native method for concrete class types (Elemental 2.0 especially need this)
  3. Lessons Learned • Javascript used to suck • GWT arose

    to solve 10 years old problems • Duplicates a lot of modern Java and JS toolchain • Javascript no longer sucks • And ES6, Typescript, JSX, CoffeeScript • Mobile taking over • JS Frameworks like Angular, React, Polymer are ahead
  4. Realizations • Our old codebase doesn’t have much in it

    to address where market is headed • It’s staggering complexity makes it hard to evolve without breaking compatibility
  5. GWT is a …? • Transpiler (Java -> JS) •

    Java Code Optimizer, Js Code Optimizer • Annotation Processors (Generators) • Builder System (Linkers) • Runtime • UI Toolkit
  6. Future Directions • Radically reduce technical debt • Use standard

    toolchain where possible • Standard Java toolchain • Perm Properties -> Command line properties • Generators -> Annotation Processors • Linkers -> Build Systems / Plugins
  7. Future Directions • Standard JS Toolchain • Idiomatic ES6/JS modules

    output • Closure Compiler as JS Optimizer • Leverage standard browser APIs (Elemental) and JS libraries for UI through JsInterop
  8. Future Vision • Arbitrary Java and JS liberties just “work”

    together • Extremely fast and simple compiler, conceptually easier to understand • Compiled Java a first class citizen on par with hand written JS, as friendly as CoffeeScript or Typescript