Monday Feb 22, 2010

And the winner is…


There was overwhelming response for the poll - "What is "Rich" in RIA?" and its time to announce the results... The vote was for core components Graphics-Effects-Animation (25%) followed by CSS support (19%) and "Controls" (17%) as third.

Now lets try to map this back to JavaFX stack..

Vote was for lower level core APIs and CSS framework. I think that makes sense. If we have stable core library with CSS support, we can create most of common controls without putting much effort. Yes, we need platform support for Popup and complex components such as Grid and Tree.

A bit surprised to note low priority for "Client - Server" communication (7%). May be because its more to do with "I" of "RIA" and not "R" It would have been very tough to choose, all those components are required for "Rich" User Experience.. I will discuss more about "CSS" features after next JavaFX release.. Jonathan Merritt has a nice blog post in which he tries to predict the release date here..

Since "Reach" (platform/device independence) is very low, we may mix JTable & JTree using SwingComponent (for now). Of-course yes, these components should not stand out and say "Hey! I'm Swing!", we need to tweak the Cell-Renderers so that it gel well with the user interface.

Above diagram of stack may also be used to decide which language to use for implementing functionality. I have seen many applications written purely in JavaFX (without using Async APIs). As you may already know, code written in JavaFX is executed on Event Dispatch Thread. This thread is used to execute tasks specific to user interface. Cluttering this thread with execution of business-logic, IO operations, database access etc will impact the application responsiveness. So the application must be designed in such a way that only UI specific code is written & executed in JavaFX layer. I will gather some of tips & tricks and write about it..

Once again Thanks a lot for participating in this poll, hope you found it useful..


<script type="text/javascript">var dzone_style = '2';</script> <script language="javascript" src="/rakeshmenonp/resource/RichRIAPoll/zoneit.js"></script>

Monday Feb 15, 2010

What is "Rich" in RIA?


I viewed my tag cloud and noticed some pattern in my posts. The topics are mostly inspired by feedback from various JavaFX related forums. So I think it reflects the requirements / expectations of end users.

Earlier developers focused on "User Interface" and first impression that I get from "RIA" is Photoshopped or GIMPed UI. But now we expand the scope so as to include various other aspects and focus on "User Experience". The scope of "RIA" itself may broaden to include "REA".

All these brings an interesting question.. What does "Rich" in "RIA" mean to you? Here is an attempt to map those "Rich" User Experience requirements back to technology and find what it means in terms of technology.

Please participate in this poll so as to help me understand your requirements.. This will also help me decide future topics to be included in my blogs.. Thanks a lot for your time, support and feedback..

Poll results announced here...

<script type="text/javascript" language="javascript" src="http://static.polldaddy.com/p/2697711.js"></script>


<script type="text/javascript">var dzone_style = '2';</script> <script language="javascript" src="/rakeshmenonp/resource/RichRIAPoll/zoneit_q.js"></script>

Thursday Jun 18, 2009

JavaFX - RSS and ATOM Task


JavaFX 1.2 provides new APIs to handle RSS and ATOM feeds. RssTask and AtomTask parses the feeds and provide the content as JavaFX objects. It can also be configured to provide updates on regular intervals.

RssTask parses the feed and provides the content as Channel and Item objects. These objects in-turn provides other information such as image, link, title, category, date etc.

Similarly AtomTask parses feed and provides Feed and Entry objects. These objects in-turn provides information such as author, category, link, logo, contributors etc.

News ticker using Yahoo RSS feed is given below.

<script src="http://dl.javafx.com/1.2/dtfx.js"></script><script src="/rakeshmenonp/resource/RssAtom/RssAtom.js"></script>

For Applet mode, click on above image

For standalone mode

RssTask Usage:

var rssTask = RssTask {
    
    location: "http://rss.news.yahoo.com/rss/world"
    interval: 300s

    onException: function(e) {
        e.printStackTrace();
    }

    onChannel: function(channel) {
        println("{channel.title}");
    }

    onItem: function(item) {
        println("{item.title}");
    }
}
rssTask.start();

AtomTask Usage:

var atomTask = AtomTask {
    
    location: "http://jfxstudio.wordpress.com/feed/atom"
    interval: 300s

    onException: function(e) {
        e.printStackTrace();
    }

    onFeed: function(feed) {
        println("{feed.title}");
    }

    onEntry: function(entry) {
        println("{entry.title}");        
    }
}
atomTask.start();

JavaFX Tweeter sample demonstrates use of both RssTask and HttpRequest.

Source:

<script type="text/javascript">var dzone_url = "http://blogs.sun.com/rakeshmenonp/entry/javafx_rss_and_atom_task";</script> <script type="text/javascript">var dzone_style = '2';</script> <script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>

About


The views expressed on this blog are my own and do not necessarily reflect that of my organization

Search

Categories
Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today