MVP with GWT and GWTP

6,574 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,574
On SlideShare
0
From Embeds
0
Number of Embeds
830
Actions
Shares
0
Downloads
82
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

MVP with GWT and GWTP

  1. 1. www.arcbees.com
  2. 2. Gwt and GWTP MVP www.arcbees.com
  3. 3. About ArcBees and about me <ul><ul><li>ArcBees </li></ul></ul><ul><ul><li>Founded by Christian Goudreau and Philippe Beaudoin </li></ul></ul><ul><ul><li>Two open source projects </li></ul></ul><ul><ul><ul><li>GWTP </li></ul></ul></ul><ul><ul><ul><li>Jukito </li></ul></ul></ul><ul><ul><li>More projects to come </li></ul></ul><ul><li>Me </li></ul><ul><ul><li>Entrepreneur </li></ul></ul><ul><ul><li>Open source fan </li></ul></ul><ul><ul><li>Dad </li></ul></ul>www.arcbees.com
  4. 4. GWT <ul><li>What is GWT? </li></ul><ul><ul><li>  Build complex browser-based apps in Java </li></ul></ul><ul><ul><ul><li>Java -> Javascript cross compiler </li></ul></ul></ul><ul><ul><ul><li>All the goddies of Java </li></ul></ul></ul><ul><ul><ul><ul><li>Rock-Solid IDEs </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Refactoring </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Unit Testing </li></ul></ul></ul></ul><ul><ul><li>Deferred binding </li></ul></ul><ul><ul><ul><li>Serves a different app to different users </li></ul></ul></ul><ul><ul><ul><ul><li>Browsers </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Mobiles </li></ul></ul></ul></ul><ul><ul><ul><ul><li>I18N </li></ul></ul></ul></ul><ul><ul><li>Code compression and remove unused references </li></ul></ul>www.arcbees.com
  5. 5. GWT-Platform <ul><li>What about GWTP? (GOO-TEEPEE </li></ul><ul><ul><li>  Build complex browser-based apps in Java </li></ul></ul><ul><ul><ul><li>Java -> Javascript cross compiler </li></ul></ul></ul><ul><ul><ul><li>All the gooddies of Java </li></ul></ul></ul><ul><ul><ul><ul><li>Rock-Solid IDEs </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Refactoring </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Unit Testing </li></ul></ul></ul></ul><ul><ul><li>Deferred binding </li></ul></ul><ul><ul><ul><li>Serves a different app to different users </li></ul></ul></ul><ul><ul><ul><ul><li>Browsers </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Mobiles </li></ul></ul></ul></ul><ul><ul><ul><ul><li>I18N </li></ul></ul></ul></ul><ul><ul><li>Code compression and remove unused references </li></ul></ul>www.arcbees.com
  6. 6.   MVP, MVC <ul><ul><li>Lousely coupled </li></ul></ul><ul><ul><li>Easy to test code </li></ul></ul>www.arcbees.com
  7. 7. <ul><li>A little bit of code </li></ul><ul><li>Lifecycle functions </li></ul><ul><li>onBind() </li></ul><ul><li>onUnbind() </li></ul><ul><li>onReset() </li></ul><ul><li>onReveal() </li></ul><ul><li>prepareFromRequest(PlaceRequest request) </li></ul>MVP with GWTP www.arcbees.com
  8. 8. MVP with GWT Activity et Place www.arcbees.com
  9. 9. Suite. www.arcbees.com
  10. 10. Suite.. www.arcbees.com
  11. 11. Suite… www.arcbees.com
  12. 12. Suite…. www.arcbees.com
  13. 13. And… even more! Kidding. www.arcbees.com
  14. 14. Key concepts www.arcbees.com <ul><li>Tokenizer </li></ul><ul><li>Place </li></ul><ul><li>ActivityMapper </li></ul><ul><li>Activity (Oh, you can call this one presenter… confusing) </li></ul><ul><li>View </li></ul><ul><li>PlaceController </li></ul><ul><li>PlaceHistoryHandler </li></ul>
  15. 15. Nested presenters www.arcbees.com <ul><li>Are presenters included inside other presenters that can also be included inside presenters, and… so on! </li></ul>
  16. 16. Nested presenter in GWTP www.arcbees.com
  17. 17. <ul><li>  </li></ul>Nested presenter with Activities, YAGNI? www.arcbees.com
  18. 18. Suite. www.arcbees.com
  19. 19. Don’t worry, on won’t go through the first example a second time. www.arcbees.com
  20. 20. Advanced topics www.arcbees.com <ul><li>Security </li></ul><ul><li>EventBus </li></ul><ul><li>Client / server communications </li></ul><ul><li>URL Parameters </li></ul><ul><li>Code splitting </li></ul>
  21. 21. <ul><li>ClientActionHandlers </li></ul><ul><li>Eclipse and IntelliJ plugin </li></ul><ul><li>Code generators </li></ul><ul><li>Server side ActionValidators </li></ul><ul><li>Provider bundle </li></ul><ul><li>Bread crumbs </li></ul><ul><li>Dialog presenters </li></ul><ul><li>Presenter Widgets </li></ul><ul><li>Navigation confirmation </li></ul><ul><li>Etc. </li></ul>And much much more… www.arcbees.com
  22. 22. <ul><li>GWTP and GWT are for structured web applications; </li></ul><ul><li>Web apps become easily testable; </li></ul><ul><li>Good tooling; </li></ul><ul><li>GWT optimize the JS outputted code; </li></ul><ul><li>GWTP MVP makes it easy to work in team and to modularize content; </li></ul><ul><li>Same code base for mobile web application; </li></ul><ul><li>It’s the best way to write enterprise web applications. </li></ul><ul><li>It’s not for Hello world web application; </li></ul><ul><li>It’s not for small web pages; </li></ul><ul><li>It’s not for functional languages fan (who wants to work with fan boys anyway); </li></ul><ul><li>PS: I really enjoy RAD with Python or Ruby. </li></ul>Conclusion www.arcbees.com
  23. 23. <ul><li>BookedIn </li></ul><ul><li>oVirt </li></ul><ul><li>Storeplacer </li></ul><ul><li>Phole-Halo </li></ul><ul><li>CRMdipidy </li></ul>Great projects done with GWTP www.arcbees.com
  24. 24. <ul><li>http://code.google.com/p/gwt-platform/source/browse/#hg%2Fgwtp-samples </li></ul><ul><li>http://code.google.com/p/gwtp-demo/ </li></ul>Samples www.arcbees.com
  25. 25. www.arcbees.com

×