Future of GWT Report 2012

Embed Size (px)

Citation preview

  • 7/28/2019 Future of GWT Report 2012

    1/32

    The Future o GWT ReportStatistics o today and desires o tomorrow

    2012

  • 7/28/2019 Future of GWT Report 2012

    2/32

    2012 has brought many exciting eatures to GWT and it has also changed how

    developed in the uture. While the product and the community are stronger than

    have been asking what happens next with GWT?

    Google announced in June that the development model or GWT will be made m

    To acilitate the move and uture development, the GWT Steering Committee wa

    Vaadin is proud to be a part o it together with Google, Sencha, RedHat and oth

    input on what the users o GWT are doing with i t and what are their expectation

    orward and asked.

    The Future o GWT Survey is the result o the work o Vaadin, Ray Cromwell (Go

    representative and acting GWT Steering Committee Chair), Artur Signell (VP o R

    Representative), Mike Brock (Project Lead, JBoss Errai, RedHat Representative)

    Chandler (Developer Advocate, Google), Daniel Kurka (developer o mGWT, GWT

    Bhaskar Janakiraman (Google) - and you can see their comments and reactions

    report.

    With over 1300 respondents (1349 to be exact), who answered over 30 questio

    that this is the most complete survey o the GWT community ever completed. W

    thank all the survey respondents or their time and honesty, and look orward to

    on the data!

    Joonas Lehtinen CEO Vaadin

    Let thecommunityguide theway

    https://vaadin.com/press/2012-06-29-vaadin-to-support-google-web-toolkit-gwt-developmenthttps://vaadin.com/press/2012-06-29-vaadin-to-support-google-web-toolkit-gwt-development
  • 7/28/2019 Future of GWT Report 2012

    3/32

    1.

    Learn who, where and how GWT is used today

    1.1 All work and no p lay makes Duke a happy puppy1.2 Your average GWT team

    1.3 GWT is rom Europe, right?

    1.4 Look at the size o those apps!

    1.5 How do people measure app size?

    1.6 Going mobile

    1.7 Technologies or mobile development

    1.8 Java > XML >> Designer

    1.9 Model View Presenter

    1.10 Crash test dummies

    1.11 Extensions everywhere

    1.12 Use o JavaScript

    1.13 Backend communication

    Contents

    2.

    Take a crash course on the strengths and

    weaknesses o GWT

    2.1 Feeling productive?

    2.2 We do RTFM

    2.3 Welcome to the dark side o GWT

    2.4 Read while compiling

    2.5 Are you a dev or super dev?

    2.6 For the love o GWT

    2.7 Latest is the greatest

    2.8 Does it bug you?

    3.

    Where should GWT be h

    3.1 GWT is doomed - or is 3.2 Where is the competitio

    3.3 Joining orces

    3.4 Your wishlist

    3.5 Browsers to support in

    Conclusions

    About the survey

  • 7/28/2019 Future of GWT Report 2012

    4/32

    Section 1:

    Learn who, where and howGWT is used today

  • 7/28/2019 Future of GWT Report 2012

    5/32

    Game

    Other

    1%

    7%

    Content-rich website

    Portlet

    11%

    1.5%

    Business application

    80%

    1.1 All work and no play makes Duke a happy puppy

    As might be expected GWT users are much more likely to be building business

    games, but content-rich websites also make up or a signicant portion o usag

    What you might not have expected, is that more applications are being built or

    internal usage (35%). Even the publicly used applications are very business orien

    customers.

    How isGWT usedtoday?

    I eel that the number o

    portlets is surprisingly low,

    unless they are included in

    business applications.

    This surprised me - The

    number o people working on

    paid applications is higher than

    I expected.

    The large number o apps

    developed or public use show

    that we need to pay a lot o

    attention to security.

    BhaskarArtur

    Daniel

    Public (paying users)

    Public (ree or all users)

    Internal use

    46%

    19%

    35%

  • 7/28/2019 Future of GWT Report 2012

    6/32

    1.2 Your average GWT team

    The average team on a GWT

    project is made up o just over 12

    people. This is a combination o

    Back End Developers, Front End

    Developers, Designers, Testers,

    Project/Product Managers, and

    a ew others. We did not ask

    respondents who those others

    might be... perhaps this could be a

    customer representative, someone

    ocused on UX, or perhaps GWT

    teams have ound a way to bring

    the elusive Bigoot into a corporate

    environment.

    3.7Back End Developers

    2.Teste

    2F

    1.3Project / Product Managers

    Tester

    2.5

    1Other

    0.9Designers

  • 7/28/2019 Future of GWT Report 2012

    7/32

    1.3 GWT is rom Europe, right?

    Wrong, but the community is very active there

    Geographic dist

    54% Europe

    29% North America

    9% Asia

    5% South America

    2% Australia

    1% Arica

  • 7/28/2019 Future of GWT Report 2012

    8/32

    >10M

    2M - 10M

    1M - 2M

    501k - 1M

    301k - 500k

    101k - 300k

    100K or less

    1.4 Look at the size o those apps!

    We asked our respondents to tell us about the largest

    application they were building with GWT. The size o their

    (uncompressed obuscated) JavaScript range rom 100k to

    >10M, and the distribution is spread rather evenly across the

    spectrum. GWT developers are clearly building some o the

    largest client-side web applications in the world.

    Size o the uncompressed obuscated JavaScript

    One o the things that people

    oten ask me when Im giving

    talks is when should I use

    GWT? Or when not to use

    GWT?. My answer is kind o

    borne out by what I see here:

    GWT is the right tool or buildinglarge, maintainable applications.

    JavaScript is quick and nimble.

    But when the app gets large,

    maintainability quickly alls o a

    cli.

    Mike

    When dierent people

    are working on the same

    JavaScript code, you have to

    keep up conventions that are

    not enorced by a compiler >

    this makes it dicult to scale

    teams or maintain applicationsover time, whereas with GWT,

    these conventions are enorced

    by the compiler, making the

    technology much easier to use,

    grow, and maintain

    Daniel

    "GWT is the right tool large, maintainable ap

    12%

    22%

    16%

    16%

    12%

    12%

    10%

  • 7/28/2019 Future of GWT Report 2012

    9/32

    1.5 How do people measure app size?

    We also asked what respondents thought would be the best way to

    measure the size o their app to be able to ask correct questions in the

    uture. It seems that Aggregate number o coees consumed by the team

    who built it is a valid measure o application size.

    Number o screens

    14

    510

    10.1%20.1%

    1120

    21+

    23.2%

    46.6%

  • 7/28/2019 Future of GWT Report 2012

    10/32

    1.6 Going mobile

    GWT is a versatile technology that allows developers to create application UI or

    desktop, tablet, and mobile consumption. As can be expected, over 98% o apps

    support desktop browsers, but we ound it interesting that tablets had overtaken

    phones (at least when it came to support rom GWT-based apps). In US, the number

    o apps supporting tablets was as high as 46%, while it was just 34% in Europe.

    What kind o devices does your app support?

    98.1%

    36.1%

    Tablets

    Desktopbrowsers

    Others

    2.1%

  • 7/28/2019 Future of GWT Report 2012

    11/32

    1.8 Java > XML >> Designer

    Coding Java by hand is still the most popular method o b

    GWT projects. What surprised us was how popular UiBind

    Now 59% o GWT developers are using XML to build their

    On the other hand, GWT designer has not been able to ge

    How UIs are built

    1.7 Most popular technologies or mobile development with GWT

    While you can develop mobile applications without any additional technologies in

    GWT, there are many rameworks around to help you. mGWT and PhoneGap are

    much more widely used than any others. Out o the people who use some tech-

    nologies or tool or using some tool, these two are used by 42% and 55% respec-

    tively. Most o the ones using PhoneGap also use GWT-phonegap. While 30% o

    people chose Other, we ailed to nd a trend there. People are building apps and

    custom rameworks on top core GWT as well as using technologies not related to

    GWT or building their mobile UIs.

    mGWT PhoneGap

    (and/or GWT-phonegap)

    Others

    30%42% 55%

  • 7/28/2019 Future of GWT Report 2012

    12/32

    1.9 Model-View-Presenter

    Opinions are split on whether and

    what kind o pattern one should

    use to organize component ori-

    ented UI. One o the most popular

    patterns used is MVP and there are

    quite a ew rameworks or GWT to

    help use o the pattern.

    GWT 2.4 Activities

    & Places

    Homegrown None

    19%27% 27%

    OtherGWT-Platorm GWT-MVP

    7%10% 5%

  • 7/28/2019 Future of GWT Report 2012

    13/32

    1.10 Crash test dummies

    Two o every three respondents say that their apps are either tested man-

    ually or not tested at all. It is striking that only one third o developers use

    automated tests or their GWT apps. The most popular tools used today

    or testing GWT apps are Selenium and GWTTestCase.

    Manual testing Selenium GWTTestCase Im not testing my UI Other

    13%48% 19% 10% 8%

    Its surprising to see so much

    manual testing. This should

    be another area o ocus or

    uture GWT releases support

    or automated testing o GWT

    apps.

    Bhaskar Daniel

    50% o the people doing

    manual testing is not that great

    since there are very good tools

    out there or doing automated

    tests, such as Jucikito.

  • 7/28/2019 Future of GWT Report 2012

    14/32

    1.11 Extensions everywhere

    People are using a lot o extensions

    with GWT. Here are the key areas

    where extensions are used most.

    Obviously, respondents were able

    to choose multiple areas where they

    use extensions, so results do not

    add up to 100%.

    Data access

    (like GWT-rpc, GWT-dispatch)

    UI unctionality

    (like GWT-dnd, GWT-x)

    Application structure

    (like gin, GWT-presenter)

    Access to

    (like Goo

    GWT-bo

    Ot

    (please

    Data handling

    (like gilead)

    Application unctionality

    (like GWT-platorm)

    Dont use any

    extensions

    23

    13

    26%42% 35%

    6%15% 19%

  • 7/28/2019 Future of GWT Report 2012

    15/32

    1.12 Use o JavaScript 1.13 Backend communication

    Daniel

    Using big chunks o JavaScript in a GWT application is

    technically possible, but it also has a downside: the GWT

    Compiler can not optimize those parts o a project. So you

    should always ask yoursel i their isnt an equal implementation

    in Java (GWTQuery instead o JQuery) that could be used instead

    or i rewriting something rom scratch might be an option.

    Not surprising to see GWT RPC

    winning given how easy it is to

    use with existing Java code.

    Ray

    However, Us

    mobile phon

    is not such a

    client and se

    to have the s

    With apps in

    in control o t

    so requesta

    are way bett

    situation.

  • 7/28/2019 Future of GWT Report 2012

    16/32

    Section 2:

    Take a crash courseon the strengths and weaknesses

    o GWT

  • 7/28/2019 Future of GWT Report 2012

    17/32

    2.1 Feeling productive?

    Normally, when Im asked to talk about my eelings, I suer fashbacks to 7th gr

    on one side o the room, and all the girls on the other... my eyes begin to dart ro

    get clammy and sweaty... Its not pretty. When we asked our respondents or th

    GWT, Im pleased to report that everyone was much more positive! 60.39% o r

    Very or Extremely productive when using GWT - as opposed to the 8.48% w

    productive at all.

    The Strengthsand Weaknesseso GWT

    60.39% o respondents reported eelingVery or Extremely productive when using GWT

    How productive respondents eel using GWT

  • 7/28/2019 Future of GWT Report 2012

    18/32

    2.2 We do RTFM

    One o the key elements o the productivity or a ramework is how well it is documented.

    Nothing kills productivity like endless guessing and using sources as the documentation.

    How good is the documentation

  • 7/28/2019 Future of GWT Report 2012

    19/32

    2.3 Welcome to the dark

    side o GWT

    You thought there were no dark painul

    secrets? Every technology has them.

    When someone claims a technology

    to be perect, take that with a grain o

    salt: reality distortion elds are known

    to exist in this business.

    To discover pain points, we asked

    people to name the name the top two

    worst eatures o GWT. Conveniently,

    this gives us a list o things that could,

    should, must and eventually will be

    improved.

    Ability to fnd

    and fx bugs ast

    6%

    Application Speed

    (at runtime,

    not compile time)

    Widgets

    (not enough good quality

    widgets available)

    Compile Time

    Development tools

    in the ecosystem

    Extensions

    (not enough good quality

    extensions available)

    5%

    49% 34%

    Dev-mode

    reresh time

    27%

    Styling o the

    application / applicat

    appearance

    18%

    9%

    Code size

    8%8%

    Worst eatures o GWT

  • 7/28/2019 Future of GWT Report 2012

    20/32

    2.4 Read while Compiling

    The compile time is the #1 pain point or GWT developers. Fortunately we

    asked a couple o questions about it and learned the reason. Because

    GWT really shines on building large apps, guess what - people build really

    large apps with it. And they take a while to compile.

    Compilation time correlation to size o the (uncompressed

    30 min5%

    17%

    48%

    31%

    2%

    6%

    29%

    63%

    3%

    10%

    42%

    46%

    1%

    9%

    54%

    36%

    3%

    11%

    57%

    29%

    Ray

    There are three phases o compile time: Precompilation, Optimization

    o Permutations, and Linking. Obviously, the second phase can grow

    proportional to the number o permutations. At Google, we shard out

    GWT permutations to a cluster o machines, sometimes hundreds, to

    speed up compile.

    While the general tools to do this are available in the GWT SDK, no

    one has made an easy to use rontend or them. Some o the Cloud

    vendors or IDE vendors who ship continuous build products could be

    helpul in this regard by oering easy to use management solutions or

    build clustering.

    In general, giving more memory to the compiler (-Xmx4g), using SSD

    drives, aster CPUs, will speed up the compile.

    We are working on several ideas right now to speed up the compiler or

    the next version o GWT.

  • 7/28/2019 Future of GWT Report 2012

    21/32

    2.5 Are you a dev or a super dev?

    The key to minimizing compilation time in the project is skipping compilation in the rst place. GWT includes an

    amazing dev mode that allows running a GWT app on the JVM instead o compiling it to JavaScript. This should

    mostly eliminate compilations rom the make a change -see what it looks -cycle.

    With the newly released GWT 2.5, the next generation o dev mode is included. Naturally i t is called super dev

    mode. Though it is still marked as experimental, over 10% o our respondents have already started using it

    and enjoy the benets o dev mode without cumbersome browser plugins or browser-JVM bridge slowing the

    application down.

    Updating the dev mode plugins has be

    years since browser vendors started to

    browsers, breaking our development p

    With super devmode we are no longer

    There is a new emerging standard or

    source maps that will eventually be s

    It allows any language that is compiled

    bidirectional mapping between the sou

    GWT this means that you can directly

    Going orward this should be the way t

    development (including mobile) withou

    When we started the SuperDevMode p

    speed up compilation dramatically, but

    it. How much delay could a developer

    becoming annoyed? For smaller apps,medium sized apps it turns out 10 sec

    varies depending on the amount o GW

    more UIBinder, I18N, GWT RPC, and o

    working on speeding up SuperDevMod

    or all applications.

    In which mode are you?

  • 7/28/2019 Future of GWT Report 2012

    22/32

    2.6 For the love o GWT

    What are the strong points where GWT really shines? We asked everyone to name two o their avorite eatures. Although compilation with GWT takes time, th

    time by magically making your application cross browser compatible and well optimized without the need to ne-tune JavaScript by hand.

    Cross browser

    compatibility

    (no messing with

    JavaScript)

    Development tools

    in the ecosystem

    Getting started with

    GWT is easy

    Ability to fnd

    and fx bugs ast

    Application Speed

    (at runtime)

    Usability

    Modularity

    Widgets (good quality

    widgets available)

    ExtDev-mode

    reresh time

    8% 8% 7%8%

    19% 15%60% 25% 21%

    Best eatures o GWT

  • 7/28/2019 Future of GWT Report 2012

    23/32

    2.7 Latest is the greatest

    How up to date are most people when it comes to GWT? Well, as it

    turns out, most teams are using a version o GWT that is barely a year

    old and over 84% o respondents are using GWT 2.4 or newer. One

    ourth o the users have already upgraded to 2.5 that was released just

    a month ago on October 26th. Thats a pretty good sign o a healthy,

    up-to-date community.

    2.8 Does it bug you?

    When we asked i people have reported bugs in the past, its not surpris

    olks havent. Whether that means that theyve never encountered a bu

    it is let open to your own interpretation, but just in case its the latter, th

    best place to report bugs in GWT.

    Version o GWT used today Have you reported bugs in GWT?

    http://code.google.com/p/google-web-toolkit/issues/listhttp://code.google.com/p/google-web-toolkit/issues/list
  • 7/28/2019 Future of GWT Report 2012

    24/32

    Section 3:

    Where should GWT be heading?

  • 7/28/2019 Future of GWT Report 2012

    25/32

    3.1 GWT is doomed - or is it?

    This is what we have been hearing rom the doomsday prophets o the

    blogosphere since the dawn o Dart. While predicting the uture is hard,

    dynamics o an open source project are somewhat more predictable. In

    most cases, i there is a strong developer community that wants to use

    some technology, it will - and the technology will thrive. Especially i the

    technology happens to be already established and widely in production

    use in huge business apps by top companies.

    So we asked a pivotal question - I you were going to start a new project

    that had a UI component, would you include GWT in i t? and heard

    blazing 89% o the people say hell yeah. Well, it was actually just a polite

    Yes, but with that percentage one is allowed to add superlatives, right?

    89% o

    respondentswould useGWT ontheir nextproject

    Bhaskar

    Google has large GWT apps,

    several o them exceeding 1

    million lines o source code,

    many o them under active

    development. We have a keen

    interest in making sure GWT

    stays healthy. As part o thesteering committee, we plan to

    continue to improve GWT and

    make it even better.

    Would you use GWT on your next project?

  • 7/28/2019 Future of GWT Report 2012

    26/32

    3.2 Where is the competition?

    Another take to the question o using GWT in the next project would be: i not, what

    then? So we asked about the other rameworks people could consider using.

    Dart SmartGWT

    JSF Play! Other languages that

    compile to JavaScript

    JavaScript + REST

    ExtGWT/GXT SpringMVC Vaadin

    Errai ZK

    8% 4%

    19% 17%

    16% 16% 16%

    38%

    29% 28% 26%

  • 7/28/2019 Future of GWT Report 2012

    27/32

    I'm glad to see, as evide

    GWT community is alive

    that they have stuck with

    period. As GWT transitio

    source context, I hope w

    the project and also prov

    the community with time

    better.

    3.3 Joining orces

    In June this year, Google announced that it would open control over GWT to a steering committee, in hopes that it

    would blossom as Eclipse did ater IBM relinquished control over the open source tools project.

    We asked the community what they thought would happen to GWT now, under its new stewards, and although

    a large group think that its too early to tell, 36% think that GWT will get even better and 38% think that GWT will

    continue or a long time. Very ew people think that GWT is dead (4%), or that GWT will die once Dart takes o

    (8%) -- so overall, the uture looks bright or companies considering urther use o Google Web Toolkit.

    GWT will die o

    Dart takes o

    Too early to tell GWT will get even

    better

    The new stewards will

    succeed in making

    GWT prosper

    Everything will

    continue as beore

    8%18% 12%50%

    GWT will continue

    or a long time

    Once youve got 100k+ lines o

    code, you dont change overnight

    38% 36%

    Prediction on what happens now that a steering committee is beginning to lead the project

    http://www.techworld.com.au/article/429211/google_hands_over_control_google_web_toolkit_steering_committee/http://www.techworld.com.au/article/429211/google_hands_over_control_google_web_toolkit_steering_committee/http://www.techworld.com.au/article/429211/google_hands_over_control_google_web_toolkit_steering_committee/http://www.techworld.com.au/article/429211/google_hands_over_control_google_web_toolkit_steering_committee/
  • 7/28/2019 Future of GWT Report 2012

    28/32

    3.4 Your wishlist

    In that light, we wanted to help guide uture development, so we asked people to share their thoughts about

    the problems they are acing with GWT, missing eatures and extensions as well as their thoughts or the uture

    killer eatures o GWT 3. And we got what we asked or - even more than we asked or! In act, we got so many

    suggestions that it is virtually impossible to list them in this report on a page, two or even ten.

    So instead o that, we decided to post the ull wishlist o online.

    Just go tovaadin.com/gwt/report-2012/wishlistto see it all, contribute your thoughtsand vote the best ideas.

    Mike

    I think its interesting that

    GWT's biggest strength (large,

    maintainable applications) turns

    out to be its biggest weakness

    (compile times). It seems to

    me that a big priority or the

    SC and the GWT community

    in general, should be the

    amelioration o the compile-

    time problem.

    Mike

    The most important missing

    eature in GWT, rom my

    perspective in my selsh

    disposition as the Errai lead,

    is the lack o a good AST

    transormation API in the GWT

    generator ramework.

    Artur

    GWT currently ignores the

    server side and how data is

    handled there, even though it

    is a eature o all applications.

    It would be great to see

    improvements in this part.

    Daniel

    What I would like to see is in

    GWT is a CSS3 Parser, some

    more optimizations on CSS,

    reducing bolierplate with easier

    data binding, having great

    mobile support in gwt, more

    great looking widgets

    https://vaadin.com/gwt/report-2012/wishlisthttps://vaadin.com/gwt/report-2012/wishlist
  • 7/28/2019 Future of GWT Report 2012

    29/32

    Browsers developers expect to support in 2013

    3.5 Browsers to support in 2012

    IE 6/7 Saari Opera IE 8

    6/7

    14% 18% 36% 54

    Chrome9 10

    IE 9 IE 10 Fireo

    79% 80% 94% 94

  • 7/28/2019 Future of GWT Report 2012

    30/32

    With over 20 pages o data, charts, stats, and commentary rom some o the most well-respected olks in the world o GWT, wed like to think that this

    report is the most complete survey o the GWT community to date. Weve looked at everything rom the composition o GWT teams to the worst eatures

    o GWT to predictions or the uture but the one thing that stands out most about the Future o GWT is this: Now that the codebase or GWT is open or

    contributions, The Future o GWT is really in your hands, the hands o the community.

    Heres how you can get involved:

    Get your hands on the code at the GWT Repository

    https://gwt.googlesource.com/gwt/

    Follow the conversation o the Steering Committee

    https://groups.google.com/orum/#!orum/gwt-steering

    Report a Bug

    http://code.google.com/p/google-web-toolkit/issues/list

    Gerrit Votinghttps://gwt-review.googlesource.com/

    Share this report!

    https://vaadin.com/gwt/report-2012

    Conclusions

    https://gwt.googlesource.com/gwt/https://groups.google.com/forum/#!forum/gwt-steeringhttp://code.google.com/p/google-web-toolkit/issues/listhttps://gwt-review.googlesource.com/https://vaadin.com/gwt/report-2012https://vaadin.com/gwt/report-2012https://gwt-review.googlesource.com/http://code.google.com/p/google-web-toolkit/issues/listhttps://groups.google.com/forum/#!forum/gwt-steeringhttps://gwt.googlesource.com/gwt/
  • 7/28/2019 Future of GWT Report 2012

    31/32

    Experience with GWT

    About the survey

    This survey has been created through the work o Vaadin, with the support and contributions o the GWT Steering Committee and GWT-minded

    individuals, most notably: Ray Cromwell (Google representative and acting GWT Steering Committee Chair), Artur Signell (VP o R&D, Vaadin

    Representative), Mike Brock (Project Lead, JBoss Errai, RedHat Representative), David Chandler (Developer Advocate, Google), Daniel Kurka (developer

    o mgwt, gwt-phonegap), Bhaskar Janakiraman (Google), Michael Vogt (Vaadin), David Booth, and Joonas Lehtinen (CEO, Vaadin).

    We humbly recognize that there may be problems with some o our data, due to the sample size (n = 1349) and sel-selecting nature o our respondents.

    None o our respondents were required to answer any question (no questions were mandatory), nor were they required to provide contact inormation.

    That being said, wed like to graciously thank those who contributed their time and experiences into our 40+ question survey - and we look orward tocreating a similar report next year, to track the changes that happen over the next 365 days.

    I youre curious, heres a little ino about our respondents:

    Job roles o the respondents

  • 7/28/2019 Future of GWT Report 2012

    32/32

    thinking o U and

    Psssst!Did you know that Vaadin oerscommercial support and proessionalservicesor GWT?

    https://vaadin.com/serviceshttps://vaadin.com/serviceshttps://vaadin.com/serviceshttps://vaadin.com/services