Your SlideShare is downloading. ×
OpenDolphin: Enterprise Apps for collaboration on Desktop, Web, and Mobile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OpenDolphin: Enterprise Apps for collaboration on Desktop, Web, and Mobile

411

Published on

see http://open-dolphin.org

see http://open-dolphin.org

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

  • Be the first to like this

No Downloads
Views
Total Views
411
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OpenDolphin Enterprise Apps for Desktop, Web & Mobile Donnerstag, 7. November 13
  • 2. OpenDolphin Enterprise Apps for Desktop, Web & Mobile Donnerstag, 7. November 13
  • 3. Collaborative Enterprise Desktop Android iPad Embedded Donnerstag, 7. November 13 for for for for the office the field meetings displays
  • 4. Tour Guide Single client Multiple clients Multiple channels Donnerstag, 7. November 13
  • 5. Single client Enterprise == Server-side application Clean separation Least possible coupling Donnerstag, 7. November 13
  • 6. View Model Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 7. View Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 8. View How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 9. Client View How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 10. Client View Server How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 11. How it works Asynchronous commands “@KentBeck: If MVC is so damn clear, in strictdo I see classes like sequence why XViewController & YViewModel? Rich, generic models in Something's wrong with this picture.” managed environment 20. April 2013 Donnerstag, 7. November 13
  • 12. How it works Asynchronous commands in strict sequence Rich, generic models in managed environment Donnerstag, 7. November 13
  • 13. Independent Views Donnerstag, 7. November 13
  • 14. View Controller Shared Presentation Model Donnerstag, 7. November 13 abc
  • 15. LoginAction View Controller Shared Presentation Model Donnerstag, 7. November 13 abc
  • 16. LoginAction View Controller id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 17. LoginAction View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 18. LoginAction Name Passw Login View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 19. LoginAction Name Passw Login binding View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 20. LoginAction Name Passw Login View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 21. Name LoginAction abc Passw Login View Controller id: currentUser abc name passw loggedIn id: currentUser abc name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 22. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 23. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 24. Name Passw Login LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 25. Name Passw LoginAction abc *** read Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 26. Name Passw LoginAction abc *** Login write View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 27. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn TRUE id: currentUser abc name abc passw loggedIn TRUE Shared Presentation Model Donnerstag, 7. November 13 abc
  • 28. LoginAction View Controller id: currentUser abc name abc passw loggedIn TRUE id: currentUser abc name abc passw loggedIn TRUE Shared Presentation Model Donnerstag, 7. November 13 abc
  • 29. Create PM ClientPresentationModel user = clientDolphin.presentationModel( CURRENT_USER, USER, new ClientAttribute(NAME), new ClientAttribute(PASSW), new ClientAttribute(LOGGED_IN) ); Donnerstag, 7. November 13
  • 30. Bind to view bind(NAME).of(user) .to(TEXT).of(nameTextField); Donnerstag, 7. November 13
  • 31. Send command clientDolphin.send(LOGIN); Donnerstag, 7. November 13
  • 32. Read from store ServerPresentationModel user = serverDolphin.getAt(CURRENT_USER); String name = user.getAt(NAME).getValue(); Donnerstag, 7. November 13
  • 33. Change value changeValue( user.getAt(LOGGED_IN), true ); Donnerstag, 7. November 13
  • 34. Multiple clients Presence Notification Instant update Shared information Donnerstag, 7. November 13
  • 35. Multiple clients in collaboration Donnerstag, 7. November 13
  • 36. Client Server View Controller Model Model Shared Presentation Model Donnerstag, 7. November 13
  • 37. Server View 1 Controller Model View 2 Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 38. Multiple channels Same application logic Different UI technologies Least common denominator Donnerstag, 7. November 13
  • 39. Multiple channels Same application logic Different UI technologies Least common denominator Full channel fidelity! Donnerstag, 7. November 13
  • 40. Server View 1 Controller Model View 2 Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 41. Server Desktop Controller Model Mobile Web Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 42. Swing iPhone JavaFX Hybrid Web Android Nexus Donnerstag, 7. November 13
  • 43. Embedded device Donnerstag, 7. November 13
  • 44. JavaFX + PI Donnerstag, 7. November 13
  • 45. OpenDolphin What it is Why we care How it works Donnerstag, 7. November 13
  • 46. OpenDolphin is a small, generic library for communication between view and controller in an async [remote] fashion with presentation models. Donnerstag, 7. November 13
  • 47. Why we care Save money Protect investment Outperform competition Donnerstag, 7. November 13
  • 48. Save money Implement cleanly Less maintenance costs Easy to test Donnerstag, 7. November 13
  • 49. Protect investment UI channels come and go, application logic lives on. You can bet who will win or bet that things change. Donnerstag, 7. November 13
  • 50. Lead the pack Multi-user, multi-channel, collaboration, instant updates, 3D, undo/redo, validation, lazy loading, local devices, ... Donnerstag, 7. November 13
  • 51. Channel fidelity Donnerstag, 7. November 13
  • 52. Use when Clean is better low coupling, build, test, maintain, extend, safe threading The future is open Donnerstag, 7. November 13
  • 53. Donnerstag, 7. November 13
  • 54. dierk.koenig@canoo.com @mittie @OpenDolphin open-dolphin.org github.com/canoo/open-dolphin available from MavenCental Donnerstag, 7. November 13
  • 55. canoo UI Engineering Donnerstag, 7. November 13
  • 56. canoo UI Engineering We enable you to write great applications. Donnerstag, 7. November 13

×