Showing posts with label javafx. Show all posts
Showing posts with label javafx. Show all posts

Sunday, February 28, 2010

Best of this Week Summary 22 February - 28 February 2010

Saturday, February 21, 2009

Best of this Week Summary 16 February - 22 February 2009

Sunday, December 7, 2008

Best of this Week Summary 1 December - 7 November 2008

Sunday, November 9, 2008

Best of this Week Summary 03 November - 09 November 2008

Sunday, August 24, 2008

Best of this Week Summary 18 August - 24 August 2008

  • Patterns-based Evaluation of Open Source BPM Systems: jBPM, OpenWFE, and Enhydra Shark. Report's conclusion: "Overall one can conclude that the open source systems are geared more towards developers than business analysts. If one is proficient with Java, jBPM may be a good choice, although if not, choosing jBPM is less advisable. Similarly, whilst OpenWFE has a powerful language for workflow specification in terms of its support for the workflow patterns, we postulate that it will be difficult to understand by non-programmers. Finally, Endydra Shark’s minimalistic support for the workflow patterns may require complicated work-arounds for capturing nontrivial business scenarios."

  • As part of their EC2 offering, Amazon introduced this week their Elastic Block Store, enabling you to mount an EBS and format it or setup a database on it. S3 is not really intended for database-like storage. Here's another introduction, including a link to an article on how to setup MySQL on EBS. Here's ESB explained, including some diagrams.

  • Article on the succesful execution of a large project (20 man years, 100.000+ lines of code) with an Agile approach using Scrum, with developers from India and The Netherlands. Includes lessons learned. Technologies used: Java, Spring, Hibernate, WebLogic, Oracle, Swing (UI) and Flex (for the displays) and Bamboo (continuous integration).

  • Handy short comparison between LWUIT (recently open sourced by Sun) and JavaFX Mobile. Here's another comparison from Sun.

Sunday, August 3, 2008

Best of this Week Summary 28 July - 03 August 2008

Sunday, November 11, 2007

Best of this Week Summary 6 Nov - 11 Nov 2007

  • This is a good blog to get you started on JavaFX and related technologies. See this post on what's been covered until now.

  • Madly interesting is this technical posting about Amazon's Dynamo, which is a their internal distributed storage system in which the data is stored and looked up via a key, with a put() and get() interface. Sounds quite similar to the put() and get() for a Hashtable in Java right? ;-) Actually Dynamo is built in Java, so I guess that's no coincidence! The posting gives you quite some details on Amazon's internal infrastructure, and introduces interesting new terms like that it is an "eventually consistent storage system". What is also cool is that each of Amazon's internal applications can setup their own SLA with Dynamo. This SLA defines the amount of delays and data discrepancy the application will tolerate from Dynamo. The fact that Amazon is opening up its services (with S3 and EC2), makes it a huge differentiator from companies like Google and Microsoft, which don't open up their systems (some Google GFS info you can find here). Related to this the new term that is being coined recently: HaaS (Hardware as a Service). No time to read the whole paper? A summary you can find here. Compare it with Hadoop and CouchDB.

  • Related to my last week's post about OpenSocial, this week the (very) alpha version 0.5 of the Container API has been released.

  • Note: I turned on moderation for comments this week because of a big spamming "effort"... Thanks whoever you are...

Tuesday, May 22, 2007

A perspective on Apollo vs Silverlight vs JavaFX vs Flash/Flex

Introduction
In the last few weeks, quite a few RIA framework announcements and/or rebrandings were announced:

  • Apollo from Adobe, which is a runtime to be able to enable richer RIA applications on your desktop.

  • Silverlight from Microsoft, which is a browser plugin to provide a richer RIA browser experience.


  • JavaFX from Sun, which is also a a runtime to enable richer RIA applications on your desktop.



These three frameworks are all in some way also related to Flash/Flex from Adobe.

In this article, I'll be making a first stab at comparing these four frameworks. It should help you to get some perspective and initial understanding on the differences and the similarities.

The goal of all these frameworks is be able to build Rich Internet Applications more easily and to make the user experience as rich as possible. Currently a lot of this kind of functionality is being built with AJAX (asynchronous Javascript, CSS, DOM manipulation and XML) and Flash/Flex. Manual construction of applications with the four AJAX components is quite a pain, and thus companies are trying to create the silver bullet for easy creation of RIA applications. Creating applications with Flash/Flex is relatively easy and makes the applications really rich, but it is vendor-specific (Adobe). Note that recently Adobe made Flex open source (note that this is not the same as the Flash runtime, which stays closed source). Some of the newly announced frameworks are more open source (JavaFX) than others (Silverlight).

To make the comparison easier, I've created a table that lists different aspects of the frameworks I found interesting to have detailed out, and for each of those aspects, how the four frameworks fit in.






























































































































































































































































































































































































































































































































































































































































































































































































































Apollo












Silverlight












JavaFX












Flash/Flex












Definition













"Apollo
is the code name for a cross-operating system runtime being
developed by Adobe that allows developers to leverage their
existing web development skills (Flash, Flex, HTML, JavaScript,
Ajax) to build and deploy rich Internet applications (RIAs) to the
desktop."












"[Apollo
is] a runtime complementary to the browser, to bring webapps to
the desktop, so richer and more interactive RIAs"













"Silverlight
is a cross-browser, cross-platform plug-in for delivering the next
generation of Microsoft .NET–based media experiences and
rich interactive applications for the Web"













JavaFX
Script takes advantage of the Java Runtime Environment's (JRE)
ubiquity across devices and enables creative professionals to
begin building applications based on their current knowledge base.
It also uses Java technology's "write once, run anywhere"
capability to help realize a future where consumers can access
content whenever and wherever on any Java-powered device.”













Flash:
"[...] is software for creating rich, interactive content
for digital, web, and mobile platforms." “[...] it
provides the tools you need to deliver an engaging user
experience.”












Flex:
“[...] it is an application development solution for
creating and delivering cross-platform rich Internet applications
(RIAs) within the enterprise and across the web.” It has a
client-runtime which is based upon the Flash Player.













How
is Flex different from Flash: “Flex and Flash have
complementary strengths. Flash is the leading authoring tool for
web developers, multimedia professionals, animators, and
videographers who want to create rich interactive content. Flex 2
products enable more application developers to leverage the
powerful Flash runtime to create data-driven RIAs. In addition,
developers can use Flash and Flex Builder together to add rich
interactive elements to a structured, Flex based application.”












Status













Alpha,
public beta in US summer, v1.0 early winter 2007













1.0
beta













Super
alpha













Flash:
version CS3












Flex:
version 2












Runtime













6MB













About
2-4MB













2-4MB
maybe













Flash:
client-runtime uses Adobe Flash Player 9: 1.1MB.












Flex:
client-runtime uses Adobe Flash Player 9, 1.1MB.












Technologies













Runtime
outside browser













Plugin
for browser + based upon existing WPF/E (.NET based) platform for
Windows and Mac













New
language F3+runtime outside browser+java
webstart/applets+Swing+Java2D













Flash:
IDE to build Flash applications with ActionScript.












Flex:
"The Flex [UI] application framework consists of MXML,
ActionScript 3.0, and the Flex class library. Developers use MXML
to declaratively define the application user interface elements
and use ActionScript for client logic and procedural control.
Developers write MXML and ActionScript source code using the Adobe
Flex Builder™ IDE or a standard text editor."












Platform













Windows
+ Linux + Mac













Windows
browser + Mac browser













Windows
+ Linux + Mac













Flash/Flex
player client-runtime: Windows + linux + mac












Licensing













Licensed
(not opensource)













Licensed













OSS
(GPL)













Flash:
closed, Flex: OSS












Interesting











links












Sample Apollo apps: Apollohunter


























Open source JavaFX wiki: wiki

















Conclusions
Since Silverlight is meant to be running in the browser, it should be seen much more as a competitor to Flash/Flex than to the Adobe and Sun solutions, which are runtimes running outside the browser. Currently Flash/Flex has of course a large installed base already. Silverlight has the advantage it can easily be put on every Windows computer by letting it piggy-back with some automatic Windows update. The Apollo and JavaFX solutions are a very interesting new development where much richer internet applications can be built, because they run outside the browser, thus giving much more freedom to build richer GUIs. Some interesting questions that remain for these runtimes are:
  • Are users willing to wait for 4-6 MB downloads?
  • Are we now again moving away from making the browser the platform? Notice that Mozilla is extending the browser even more via XUL to become one RIA platform. See here for some more info on that.

Finally, here are a few other interesting developments in this area:

  • The Mono project is going to try to port Silverlight to Linux.
  • MS just announced a new Silverlight app Popfly that allows users to create mashups (like Y! Pipes).
  • A lightweight JRE for Java 6 is indeed not a rumor and thus the amount of runtime to download is significantly reduced.
Sources
Sources for this article were:
Other Resources
For more detailed information see:

Update 02 June 2007:

  • This week of course Google Gears came out. Here's shortly how it relates to Apollo and Dojo offline. Google is working with Adobe to get it integrated with Apollo. Together with Adobe and Mozilla it is also trying to make Gears an industry standard. Note that you can use each of the 3 components also seperately, you don't need to only use it for writing synchronzation software.
  • Here's another overview of these three and how they relate: Apollo, Silverlight, Gears.
  • Here's a good landscape overview of RIA tools and why Flex could be a good way of building user interfaces, even to Java developers.
  • As John said in the comments, don't forget Java Applets (aren't they extinct? ;-) and XUL.

Wednesday, May 16, 2007

Sun announces JavaFX at JavaOne 2007

Looking at this post, I totally agree that it remains to be seen whether JavaFX is going to be the winner of the three technologies: Apollo (Flex), Silverlight and JavaFX.
Most promising of it all looks the scripting language (code name was F3).

Here's the homepage of JavaFX btw.

This post is *not* so sure a new language is the way to go. I think an abstraction layer in some form (new language or library/components layer) is definitely needed. Maybe not in this combination as Sun proposes it, but we need more abstraction to be able to build RIAs more easily, less error prone.