$30 off During Our Annual Pro Sale. View Details »

GWT or Javascript? A Vaadin expert's opinion. by Haijian Wang

GWTcon
November 14, 2016

GWT or Javascript? A Vaadin expert's opinion. by Haijian Wang

GWT or Javascript? A Vaadin expert's opinion. by Haijian Wang
#GWTcon2016 - Firenze 14-15th November 2016

GWTcon

November 14, 2016
Tweet

More Decks by GWTcon

Other Decks in Technology

Transcript

  1. G W T O R J A V A S C R I P T ?
    A V A A D I N E X P E R T ’ S O P I N I O N
    H A I J I A N W A N G

    View Slide

  2. Is GWT Dying?
    Scary Questions First
    Should I use JavaScript Instead?

    View Slide

  3. Scary Questions First
    Too Scary to answer

    View Slide

  4. Let’s limit the scope to Vaadin
    application
    Too Scary to answer

    View Slide

  5. What is Vaadin?
    A Java web framework for
    building Web applications.

    View Slide

  6. A
    What is Vaadin?
    Server Side Java web framework for
    building Web applications.

    View Slide

  7. How does Vaadin application look like?

    View Slide

  8. Vaadin Application Architecture

    View Slide

  9. GWT or JavaScript?
    Custom Widget: two approaches

    View Slide

  10. •Language Preference
    •Community Support
    •Development Speed
    •Requirement
    Considerations

    View Slide

  11. Language Preference
    JavaScript sucks?https://www.youtube.com/watch?v=xE8tL8NdHaY
    Or not.

    View Slide

  12. Community Support

    View Slide

  13. Development Speed
    •Widgetset Compilation
    •Debugging

    View Slide

  14. Requirement
    Case studies
    •Workflow canvas in SVG
    •Disable backspace navigation

    View Slide

  15. Workflow Canvas in SVG

    View Slide

  16. Workflow Canvas in SVG
    raphael4gwt
    ->Snap.svg
    -> Raphaël?

    View Slide

  17. Disable backspace navigation
    Event.addNativePreviewHandler(new NativePreviewHandler() {
    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
    if(event.getNativeEvent().getKeyCode() == KeyCodes.KEY_BACKSPACE) {
    if(!WidgetUtil.isFocusedElementEditable()) {
    event.getNativeEvent().stopPropagation();
    event.getNativeEvent().preventDefault();
    }
    }
    }
    });

    View Slide

  18. Disable backspace navigation
    It’s now disabled by default since
    Chrome 52.

    View Slide

  19. Conclusion
    •GWT is NOT dead.
    •It’s fun to learn some JavaScript.
    •Choose whichever fits you best.

    View Slide

  20. Q U E S T I O N S ?

    View Slide

  21. G R A Z I E

    View Slide