GWT.create 2015: Top 5 sessions

Following my last week post about my experience at GWT.create 2015, I would have chosen more than 5 sessions to talk about, but I had to cut this short if I wanted to keep my readers 😀 Here’s my top 5:

  1. New brand and documentation
  2. Singular
  3. JsInterop
  4. GSS
  5. Incremental compile in SDM

New Brand and new website

I didn’t list this one first simply because Arcbees’ own Manon Gruaz did the design, but more because the GWT brand looked a lot like an old guy in a disco – possibly cool inside but not really looking that cool to onlookers. The centrality of Java alone feels dated for some people. The logo was definitely dated and a due for a makeover, and the documentation was starting to look like a 1990’s style early website. A full reboot of the brand was needed, something fresh that would communicate how much we care about architecture, how we work together as a community and the simplicity we seek while nevertheless building large, maintainable enterprise web applications.

GWT2015_7

While there’s still work to do on the documentation itself, the new branding was designed to be extensible, and is ready to be used seamlessly across the GWT community. I invite you to take a look at the GWT Brand book to learn more about the GWT brand and logo.

GWT2015_11

Singular

This session by Daniel Kurka was one of my favorites at GWT.Create for several reasons. While simplifying the development process considerably using the same patterns as Angular, something even more powerful lurks behind the scenes. It lets you build true multiplatform applications (Android, iOS, web). Singular uses techniques developed for Inbox that let you compile java code to Objective-C thanks to J2ObjC and to javascript thanks to GWT. So that more than 80% of you code can be shared between the three platforms. To know more, I invite you to watch j2objc’s session by Tom Ball: J2ObjC: Sharing Java Code with iOS Applications.

Angular has performance problems when it comes to really large web applications. As you know, Angular scans the DOM for directives at runtime. Singular, thanks to GWT, does that at compile time, improving performance by a lot.

The project is still in its infancy, but what Daniel did already demonstrates that writing Java can be as simple as writing Javascript while preserving Type Safety. To know more, I invite you to watch Daniel Kurka’s session: Singular – Reimagining AngularJS in Java.

JsInterop

Writing wrappers has always been a pain in the ass and while using an external javascript library is possible, it is truly tedious; to the point where I have seen some business dropping GWT because they couldn’t easily use some of their favorite Javascript libraries. This won’t be a problem anymore. You can already turn on JsInterop in GWT 2.7 as an early release, but you’ll really get everything you need to start hacking around a Javascript library in GWT 2.8. In case you have any doubts, I invite you to take a look at Ray Cromwell’s session: Deep dive in JsInterop.

GSS

If you have a web development background and have done a bit of CSS, you know how painful it can be to work with CssResources; not because it was poorly designed, but mostly because some fundamental CSS3 features weren’t even available! To keep up the with the pace of this ever-changing world, GSS has been added to GWT. GSS brings full CSS3 support and several interesting features like mixins, conditionals, variables and more. It’s now easier to write and maintain the CSS files of your GWT application.

Thanks to Julien Dramaix, this is one of the few major outside contributions made to GWT since the steering committee was created, and we’re proud to have participated in this. To learn more about GSS, I invite you to take a look at Julien Dramaix’s session: CSS3 and GWT in perfect harmony.

Incremental compile in SDM

Last,but not least, incremental compilation now lets us seamlessly refresh our work in the browser in day to day development activities, and get the latest code from our IDE in less than 2 seconds. Before, it was a real pain to use SDM because it would do a full recompile of the whole application each time you needed to see a new change. Thanks to incremental compilation, that is not the case anymore.

IDE support in both Eclipse and IntelliJ is still in active development. We can already use our favorite debugger, but in some cases, it will not work. For now, we’re still stuck debugging in my Chrome console, and thanks to source map, we can see quickly where problems are. I’m still eager to go back to my IDE, put my breakpoints in and get my usual workflows in place, and I’m pretty sure that I will see that happen really soon! To learn more, I invite you to take a look at John Stalcup’s session: Incremental compilation.

Conclusion

In conclusion, GWT.Create was a blast this year! I had fun, met great developers, great businesses and I got to see all my remote friends that I only see once or twice a year. I know I speak for the rest of my team as well in saying that, and I’ll be eager to participate in GWT.Create next year. I’m already pledging that we will submit more sessions for the pleasure of the GWT community and our own open source community!

See ya next year!

GWT.create 2015: Return of experience

As I look back, almost three weeks after GWT.create, I can’t keep myself from smiling. It was, for several reasons, the best time I’ve had with the GWT community since I joined. Traveling between Mountain View in the Computer History Museum and Munich, meeting hundreds of GWT enthusiasts and exchanging ideas with them about how to make GWT even better made me realize how incredible this community is and how lucky we are to be part of it. Learning from their technical knowledge and their deep personal and business involvement with this toolkit, I felt lucky I got the chance to connect with some of the best engineers in the world. If you’re reading these lines and you spoke with me, I’m glad to have met you 😀

GWT2015_10

GWT.create this year was Arcbees’ chance to shine! We jumped in as major partner. Julien had two sessions: Best development practice for GWT web application and CSS3 and GWT in perfect harmony, plus one workshop on how to contribute to GWT, while I delivered a keynote plus one session: How to improve your productivity using GWTP. We had major news to deliver at the keynote, having taken some of our free time to develop a new brand and a new website for GWT. This will have huge impact in the future of GWT as we try to make the brand more modern and sexy to support the design goals for upcoming developments in GWT. We spent a lot of time to give you the best experience we can and we welcome any constructive comments that might make it evenbetter in the future. One major improvement that was made to the website, even before the rebranding, was the introduction of ability to contribute documentation right from the website using markdown and GWT. We’ve preserved this functionality and hope the community will help us maintain the documentation.

GWT2015_2

When David Chandler got on stage to deliver the second keynote, I got a little bit nostalgic. He was the one that invited Philippe Beaudoin (cofounder of Arcbees) to speak about GWTP four years ago, in front of an overcrowded room at Google IO focused on how to build online business applications. He also made a statement about how everyone in the community cares deeply about abstraction and architecture, which are the two concepts that have inspired me and the rest of Arcbees for years to contribute open source libraries and frameworks to the community, to help them build better web applications. I was also amazed by the huge amount of raw talent that this community has to offer, and saw great web applications from businesses like Ruxit, Boomi and Magnolia. I could go on for a while, but needless to say that we’re starting to have great, beautiful and mature web applications built on GWT, and not just Google offspring like AdWords, Sheets and Inbox.GWT2015_9

During the first panel discussion, Ray Cromwell reminded the audience that GWT fuels the web applications that run the world. Stock exchanges, financial institutions, healthcare, airports, you name it. Whenever something needs to run on top of critical infrastructure, needs to be scalable and/or multi-platform, GWT is commonly seen. Javascript may have a lot of fresh cool toys to play with that GWT may not have (yet!), but would you invest everything you have on fresh cool toys? There’s a lot to learn from the Javascript community, but as decision makers, we need to choose robust solutions, not fashionable ones.

I got carried when I was writing this blog post and didn’t even started to write about my top 5 session/announcement, stay tuned early next week to know more about what was our top 5 sessions/announcement of the GWT.create 2015!