Google Web Toolkit
•
• http://twitter.com/kaiseh
• http://d.hatena.ne.jp/kaiseh/
Blogopolis




http://blogopolis.jp/
• GWT
• GWT
• GWT
GWT
Google Web Toolkit


• Google   Web

• Java           Ajax
Ajax

• JavaScript
  • jQuery, Dojo, mootools, ...
•
  • Firebug, IE Developer Toolbar, ...
Ajax

• JavaScript
•
• Eclipse, NetBeans   IDE
GWT
• Java                        JavaScript

• java.lang.*, java.util.*          Java API

• JavaScript
  ✓              ...
GWT

•
•
•
•
GWT
•
    • CPU
    •
• HTML5
  • Canvas, WebSockets, Web Storage, ...
  • JavaScript     RIA
WebGL + GWT




         Quake II GWT Port
http://code.google.com/p/quake2-gwt-port/
GWT
Google Plugin for Eclipse


• GWT         GAE
    Eclipse

•
Google Plugin
GWT         GAE
Button sendButton = new Button(“send”);
TextBox nameField = new TextBox();
Label errorLabel = new Label();
...
panel.add(n...
sendButton.addClickHandler(
      new ClickHandler() {
        public void onClick(ClickEvent e) {
          //
        }
...
UiBinder New in 2.0
    • XML
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:g='urn:import:com.google.gw...
UI
                       MenuBar
SuggestBox
                                 DatePicker
             RichTextArea
UI


                       Ext GWT
                         Ext JS
                         Look & Feel


http://www.extj...
Google API                 UI
• Google Maps API for GWT
• Google Chart Tools for GWT
• etc
Ajax

•        JavaScript Java
                       -

• Java                     GWT
GWT RPC

  RemoteService      RemoteServiceImpl

          1   1


RemoteServiceAsync
public interface AddService extends RemoteService {
    int add(int a, int b);
}
                                         ...
RPC
service.add(a, b, new AsyncCallback<Integer>() {
      public void onSuccess(Integer result) {
        //
      }
    ...
JSNI (JavaScript Native Interface)

 •   JavaScript

 •   native


 public static native String encode(String s) /*-{
   r...
public interface MyMessages extends Messages {
    public String edit();
    public String delete();
}
MyMessages_ja.prope...
New in 2.0

GWT.runAsync(new RunAsyncCallback() {
      public void onSuccess() {
        //
        // JS
      }
      p...
•   Ajax


•   GWT       URL


    http://example.com/foo/Foo.html#state1

•
GWT
New in 2.0


•

• JavaScript
•                  Java
Speed Tracer New in 2.0
•
• Chrome
• GWT      Web
•
  • DOM
  •
  •
Maven

• GWT
•
•
• etc
http://mojo.codehaus.org/gwt-maven-plugin
• GWT       HTML5
    Web

• GWT RPC

•
Google Web Toolkitのすすめ
Upcoming SlideShare
Loading in...5
×

Google Web Toolkitのすすめ

3,509

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,509
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Google Web Toolkitのすすめ

  1. 1. Google Web Toolkit
  2. 2. • • http://twitter.com/kaiseh • http://d.hatena.ne.jp/kaiseh/
  3. 3. Blogopolis http://blogopolis.jp/
  4. 4. • GWT • GWT • GWT
  5. 5. GWT
  6. 6. Google Web Toolkit • Google Web • Java Ajax
  7. 7. Ajax • JavaScript • jQuery, Dojo, mootools, ... • • Firebug, IE Developer Toolbar, ...
  8. 8. Ajax • JavaScript • • Eclipse, NetBeans IDE
  9. 9. GWT • Java JavaScript • java.lang.*, java.util.* Java API • JavaScript ✓ Java
  10. 10. GWT • • • •
  11. 11. GWT • • CPU • • HTML5 • Canvas, WebSockets, Web Storage, ... • JavaScript RIA
  12. 12. WebGL + GWT Quake II GWT Port http://code.google.com/p/quake2-gwt-port/
  13. 13. GWT
  14. 14. Google Plugin for Eclipse • GWT GAE Eclipse •
  15. 15. Google Plugin GWT GAE
  16. 16. Button sendButton = new Button(“send”); TextBox nameField = new TextBox(); Label errorLabel = new Label(); ... panel.add(nameField); panel.add(sendButton); ...
  17. 17. sendButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent e) { // } });
  18. 18. UiBinder New in 2.0 • XML <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'     xmlns:g='urn:import:com.google.gwt.user.client.ui'>   <g:HTMLPanel>     Hello, <g:ListBox ui:field='listBox' visibleItemCount='1'/>.   </g:HTMLPanel> </ui:UiBinder>
  19. 19. UI MenuBar SuggestBox DatePicker RichTextArea
  20. 20. UI Ext GWT Ext JS Look & Feel http://www.extjs.com/products/gwt/
  21. 21. Google API UI • Google Maps API for GWT • Google Chart Tools for GWT • etc
  22. 22. Ajax • JavaScript Java - • Java GWT
  23. 23. GWT RPC RemoteService RemoteServiceImpl 1 1 RemoteServiceAsync
  24. 24. public interface AddService extends RemoteService { int add(int a, int b); } Google Plugin public interface AddServiceAsync { void add(int a, int b, AsyncCallback<Integer> callback); }
  25. 25. RPC service.add(a, b, new AsyncCallback<Integer>() { public void onSuccess(Integer result) { // } public void onFailure(Throwable caught) { // } });
  26. 26. JSNI (JavaScript Native Interface) • JavaScript • native public static native String encode(String s) /*-{ return encodeURIComponent(s); }-*/;
  27. 27. public interface MyMessages extends Messages { public String edit(); public String delete(); } MyMessages_ja.properties MyMessages_en.properties edit= ... edit=Edit... delete= delete=Delete
  28. 28. New in 2.0 GWT.runAsync(new RunAsyncCallback() { public void onSuccess() { // // JS } public void onFailure(Throwable caught) { } });
  29. 29. • Ajax • GWT URL http://example.com/foo/Foo.html#state1 •
  30. 30. GWT
  31. 31. New in 2.0 • • JavaScript • Java
  32. 32. Speed Tracer New in 2.0 • • Chrome • GWT Web • • DOM • •
  33. 33. Maven • GWT • • • etc http://mojo.codehaus.org/gwt-maven-plugin
  34. 34. • GWT HTML5 Web • GWT RPC •
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×