Granite Data Services 3.0.0.M1 introduces JavaFX 2.2 support

Daniel Zwolenski zonski at gmail.com
Mon Dec 3 13:31:41 PST 2012


Reliable "core" features I'm all for. It's more a question of whether things like charts, 3d, node orientation, etc are higher priority than simple distribution to users. Subjective of course and you will get arguments both ways - best not to get me going on this topic :)

The jfx:run option is just a quick convenience as a starting point for developers. In that same project, if you run jfx:build-jar it will build an executable jar for you that you can send around. If you run jfx:build-webstart it will build a webstart bundle you can upload to your server. If you run jfx:build-native it will create a native installer for you (eg MSI on windows) - though this last option still needs work. 

Basically it provides a project that is instantly all setup and ready to go so a developer (especially one new to jfx) doesn't have to wade through all the setup steps of the ANT tasks. The Maven philosophy of minimal config. 

If you open the Pom file in an IDE you will also have a working project with the classpath setup etc. 

Takes about 5 minutes for a developer to go from nothing to having a working project with WAR distribution and JFX client distribution. 

Enjoy,
Dan 



On 04/12/2012, at 8:14 AM, Franck Wolff <franck.wolff at graniteds.org> wrote:

> Daniel,
> 
> We do use Maven in one of our tutorials: http://granitedataservices.com/blog/2012/11/26/data-management-tutorial-with-javafx-2-2/
> 
> The only difference with your REST client-server setup is the way we are starting the JavaFX client application (ie. "java -jar ..." instead of "mvn jfx:run"). Using jfx:run could be an improvement.
> 
> The best, of course, would be a reliable WebStart solution with an easy one-click startup (we have been used to this kind of instant/no install demos with Flex). But while I agree with you about the importance of this feature, I definitely prefer to see the JavaFX team working on the core features first: a not-so-friendly (or even tedious) startup process of a very good and stable framework is much better than the opposite ;)
> 
> Franck.
> 
> 2012/12/3 Daniel Zwolenski <zonski at gmail.com>
> Sorry Frank, I was being cheeky. That comment was aimed more at the JavaFX team and was about giving the users a way to easily run your demos, i.e. wouldn't it be cool if you could just send out a URL and a couple of simple, user friendly clicks later your users are running your demo and can see it in action? This issue of deployment is a bit of an on going crusade of mine and the JavaFX guys don't rank it nearly as highly as I do in the priority list so I couldn't resist a chance to highlight a situation where a good deployment option would help win people over to JFX.
> 
> Regarding your "test drive" for developers a good way to do this might be a Maven archetype - basically a way of creating quick "template" projects (not sure if you guys use Maven for your stuff at all?). I have written a Maven plugin for JavaFX (https://github.com/zonski/javafx-maven-plugin) and also added a simple Maven archetype for a quick starter client-only JFX project (see: http://www.zenjava.com/2012/11/24/from-zero-to-javafx-in-5-minutes/).
> 
> Last night I also finished a kickstarter archetype for doing a simple REST client-server setup (based on SpringMVC for the server, and JavaFX plus Spring REST templates for the client). It's here: 
> 
>     https://github.com/zonski/javafx-rest-archetype
> 
> We have to wait until Sunday for it to get synched to the main Maven repo at which point I'll write a blog post on how to use it. If you want to have a look before then you can check out a sample generated project at: http://code.google.com/p/zenjava-playtime/source/browse/trunk/javafx-simple-rest-app/
> 
> Something like this for your Granite project could well reduce the barrier to entry, giving developers a way to be up and running with a client-server skeleton project in just 5 minutes or so. 
> 
> I intend to add a spring-remoting client-server using HttpInvoker archetype (much better than REST but REST was a good starting point from a marketing angle because web is so popular) that also includes Spring Security and Spring Data (hopefully by xmas or early Jan). Your project is not a bad option for the space I am targeting so if you guys wanted to work together on getting an example skeleton app converted into a Maven archetype I be willing to explore that. Probably best to email me directly.
> 
> Cheers, 
> Dan 
> 
> 
> 
> 
> 
> On Tue, Dec 4, 2012 at 3:44 AM, Franck Wolff <franck.wolff at graniteds.org> wrote:
> Daniel,
> 
> Thanks for your feedback. We will definitely provide a "test drive" in the next 3.0.0.M2 release, hopefully by the end of the year. It should be based on a Jetty or Tomcat server (Tomcat can be more complicated because of native APR libraries), packaged together with few binary sample applications and their sources. Testing the release would then be only a matter of downloading the so-called "test drive", starting it and then running the JavaFX applications (java -jar ... or double-click).
> 
> Is it roughly what you are looking for when saying "if users could run them with a couple of clicks"?
> 
> Franck.
> 
> 
> 2012/11/30 Daniel Zwolenski <zonski at gmail.com>
> Websockets are a powerful emerging option. Nice use of them in this project and nice fallback onto polling given the newness of Websockets.
> 
> Imagine how much more powerful those demos would be if users could run them with a couple of clicks - sorry, couldn't resist.
> 
> 
> On 01/12/2012, at 1:01 AM, Franck Wolff <franck.wolff at graniteds.org> wrote:
> 
> > (sorry for the double post, I first replied to Richard without the forum in
> > copy and then tried today to forward my answer, which is not in the same
> > thread, my fault, first time in this forum, won't do it again...)
> >
> > --------------------
> >
> > The features and the samples you are looking for exist and are available
> > through tutorials:
> >
> > http://granitedataservices.com/blog/2012/11/26/real-time-messaging-tutorial-with-javafx-2-2/
> >
> > http://granitedataservices.com/blog/2012/11/26/data-management-tutorial-with-javafx-2-2/
> >
> > We don't have any other material right now (such as videos or a test
> > drive), but we did our best to make things as clear and easy as possible.
> >
> > And yes, if you open each application described in those tutorials twice,
> > your changes in one of them will be reflected in the other one "in real
> > time".
> > --------------------
> >
> > More on the subject: Richard has tried to run the 2nd tutorial on a Mac
> > (Mountain Lion, java 1.7.0_09 64 bits) and it's causing some ugly random
> > crashes of the JVM:
> >
> > #
> > # A fatal error has been detected by the Java Runtime Environment:
> > #
> > #  SIGSEGV (0xb) at pc=0x00007fff900dc250, pid=366, tid=9991
> > #
> > # JRE version: 7.0_09-b05
> > # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode bsd-amd64
> > compressed oops)
> > # Problematic frame:
> > # C  [libobjc.A.dylib+0x6250]  objc_msgSend+0x10
> > #
> > # Failed to write core dump. Core dumps have been disabled. To enable core
> > dumping, try "ulimit -c unlimited" before starting Java again
> > #
> > # An error report file with more information is saved as:
> > # /Users/franckwolff/shop-admin/shop-admin-javafx/javafx/hs_err_pid366.log
> > #
> > # If you would like to submit a bug report, please visit:
> > #   http://bugreport.sun.com/bugreport/crash.jsp
> > # The crash happened outside the Java Virtual Machine in native code.
> > # See problematic frame for where to report the bug.
> > #
> > Abort trap: 6
> >
> > I have been able to reproduce the issue (same environment) and I really
> > don't know what to do with this error ("outside the Java Virtual Machine in
> > native code")...
> >
> > You shouldn't experience this problem on Windows, and hopefully on Linux.
> >
> > Franck.
> >
> > 2012/11/29 Richard Bair <richard.bair at oracle.com>
> >
> >> Cool! Are there any online samples? BlazeDS I remember had some great
> >> sample pages or videos (I don't remember which) that showed things such as
> >> two browser windows open, writing in one and auto-updating the UI in the
> >> other, etc. I'm wondering if graniteds has anything of that kind?
> >>
> >> Thanks
> >> Richard
> >>
> >> On Nov 29, 2012, at 8:21 AM, Franck Wolff <franck.wolff at graniteds.org>
> >> wrote:
> >>
> >>> Hi all,
> >>>
> >>> We have long been providing a solution to Flex developers, and have
> >>> recently released a version of our product that supports JavaFX 2.2:
> >> Granite
> >>> Data Services <http://www.graniteds.org> (GraniteDS) is a comprehensive
> >>> development and integration solution for building Flex (and now JavaFX) /
> >>> JavaEE RIA applications. The entire framework is open-source and released
> >>> under the LGPL v2 license.
> >>>
> >>> To know more about what GraniteDS provides to JavaFX developers, see a
> >>> comprehensive documentation
> >>> here<
> >> http://www.graniteds.org/public/docs/3.0.0/docs/reference/java/en-US/html/index.html
> >>>
> >>> .
> >>>
> >>> The full announcement about this new 3.0.0.M1 version is available
> >>> here<
> >> http://granitedataservices.com/blog/2012/11/26/granite-data-services-3-0-0-m1-is-out/
> >>> ,
> >>> together with several links to tutorials and resources. This first public
> >>> release of a GraniteDS for JavaFX is clearly in a beta stage at this
> >> time,
> >>> but with the help of your feedback, we hope to be able to provide new
> >>> milestones and a stable 3.0.0.GA within the coming months.
> >>>
> >>> Here are some additional links:
> >>>
> >>>
> >>>  - Community Site: http://www.graniteds.org/
> >>>  - Blog: http://granitedataservices.com/blog/
> >>>  - Forum: https://groups.google.com/forum/?fromgroups#!forum/graniteds
> >>>  - Bug Tracking System (Jira):
> >>>
> >> http://www.graniteds.org/jira/browse/GDS?report=com.atlassian.jira.plugin.system.project:roadmap-panel
> >>>  - Nightly Builds (Bamboo):
> >>>  http://www.graniteds.org/bamboo/allPlans.action
> >>>  - Source Repository: https://github.com/graniteds
> >>>  - Maven Repository: http://repo2.maven.org/maven2/org/graniteds/
> >>>
> >>> Your feedback will be greatly appreciated,
> >>>
> >>> Franck Wolff
> >>
> >>


More information about the openjfx-dev mailing list