Dolphin Platform: A Sneak Peek
#Desktop Application Framework (JSR 377)
#Dolphin Platform
#JavaFX
Today I want to give you a first overview of the Dolphin Platform, a new open source project on that Michael Heinrichs and I are currently working at Canoo.
The Dolphin Platform is a framework that implements the presentation model pattern and provides a modern way to create enterprise applications. As you might know there are several of this frameworks out there. So let me start this post by describing what makes the Dolphin Platform special and why we decided to create it.
Architecture overview
Since most of you know Michael and me as part of the JavaFX community, we don’t stop here when talking about the Dolphin Platform. The Platform will provide several client implementations. Currently it’s our main goal to provide a first preview at JavaOne with JavaFX, AngularJS and Polymer client support. Based on this you can simply create desktop, web or mobile clients with the Dolphin Platform. The client APIs are pure Java or JavaScript APIs and you don’t need to learn any new language to use them.
What we’ve started on the client side will be continued on the server. Here the Dolphin Platform provides an API to create server side controllers that will automatically be managed by the underlying platform. Therefore we create a Spring and JavaEE implementation of the public APIs on server side. As you will see later you can simply inject all your business services in a controller and don’t even think about any lifecycle because the web container will handle that for you. But before I go into the details I want to give a short overview about presentation models and the patterns that are implemented and provided by Dolphin Platform.
Synchronized Presentation Models
In the Dolphin Platform all models will automatically be synchronized between client and server. By doing so you don’t need to think about any specific endpoints or requests.
Based on this the Dolphin Platform defines server side controllers that contains all the controller logic for a specific view. The lifecycle of these controllers is automatically synchronized with the view lifecycle. By doing so you have a MVC group for each client view with a synchronized model and a managed controller.
Ok, I think this was enough description and I hope that you want to see some code ;) I will post a preview of the controller API, the model API and the view API the next days.
Here are the links to additional DOlphin Platform sneak peeks:
- I blogged about the Dolphin Platform controller API.
- I blogged about the Dolphin Platform model API.
- I blogged about the Dolphin Platform view API.
- I created a first “getting started” tutorial for the Dolphin Platform.
- I blogged about Dolphin Platform Web Frontends with Polymer.
- I blogged about the first release of the Dolphin Platform.
- I blogged about how to use Dolphin Platform with kumuluzEE.
- I was interviewed for the Nighthacking YouTube channel.
Hendrik Ebbers
Hendrik Ebbers is the founder of Open Elements. He is a Java champion, a member of JSR expert groups and a JavaOne rockstar. Hendrik is a member of the Eclipse JakartaEE working group (WG) and the Eclipse Adoptium WG. In addition, Hendrik Ebbers is a member of the Board of Directors of the Eclipse Foundation.