posts - 97,  comments - 93,  trackbacks - 0

          據說極有可能迅速取代目前流行的SWING和SWT技術。

          轉自http://blogs.sun.com/chrisoliver/entry/f3

          F3

          My name is Chris Oliver. I came to Sun through their acquisition of Seebeyond in September 2005. I'd like to present something about my current work – it’s not public yet but it should be open-sourced on java.net shortly.

          My project is called F3 which stands for “Form follows function”, and its purpose was to explore making GUI programming easier in general.

          F3 is actually a declarative Java scripting language with static typing for good IDE support and compile-time error reporting (unlike JavaScript...), type-inference, declarative syntax, and automatic data-binding with full support for 2d graphics and standard Swing components as well as declarative animation. You can also import java classes, create new Java objects, call their methods, and implement Java interfaces.

          We have IDE plugins for both Netbeans and Eclipse Both plugins support as-you-type validation, code-completion, syntax highlighting, and hyperlink navigation (with control-mouse-over).

          F3 attempts to demonstrate that we're not exploiting the full capabilities of the Java platform for GUI development and that together with supporting tools like F3, the Java platform is highly competitive with or superior to competing GUI development platforms such as Macromedia Flash/Flex/Open Laszlo, Adobe Apollo, Microsoft WPF/XAML, Mozilla XUL, AJAX/DHMTL..

          F3 fully supports Swing as well as Java2D. In fact, we have a translator that can translate most of SVG to F3.

          Here are some small examples to give you a flavor of what F3 is like:

           1 import f3.ui.canvas.*;
           2 
           3 import f3.ui.*;
           4 
           5 Canvas {
           6     content: Rect {
           7         x: 20
           8         y: 20
           9         height: 80
          10         width: 300
          11         arcHeight: 20
          12         arcWidth: 20
          13         fill: cyan
          14         stroke: purple
          15         strokeWidth: 2
          16     }
          17 }
          18 

          produces:

          An example using image filters is:

           1 import f3.ui.*;
           2 
           3 import f3.ui.canvas.*;
           4 
           5 import f3.ui.filter.*;
           6 
           7 Canvas {
           8     content: Text {
           9         x: 20
          10         y: 20
          11         content: "Welcome to F3"
          12         font: Font { face: VERDANA, style: [ITALIC, BOLD], size: 80 }
          13 
          14         fill: LinearGradient {
          15             x1: 0, y1: 0, x2: 0, y2: 1
          16             stops: 
          17             [Stop {
          18                 offset: 0
          19                 color: blue
          20             },
          21             Stop {
          22                 offset: 0.5
          23                 color: dodgerblue
          24             },
          25             Stop {
          26                 offset: 1
          27                 color: blue
          28             }]
          29         }
          30         filter: [Glow {amount: 0.1}, Noise {monochrome: true, distribution: 0}]
          31     }
          32 }

          which gives:

          It’s also possible to use 2D content as a TexturePaint through the concept of a “Pattern” as in SVG, for example:

           1 import f3.ui.*;
           2 import f3.ui.canvas.*;
           3 
           4 Canvas {
           5     content: Ellipse {    
           6         fill: Pattern {
           7              content: Polygon {
           8                  points: [552551525]
           9                  fill: orange
          10                  stroke: red
          11                  strokeWidth: 3
          12              }
          13        } 
          14        cx: 100
          15        cy: 50
          16        radiusX: 90
          17        radiusY: 40
          18        stroke: black
          19     }
          20 }

          which gives:

          These snippets don’t demonstrate F3’s full capabilities.

          Using F3, I’m able to write nearly exact replicas of many Flash or DHTML or Java programs in a remarkably short amount of time, for example this Flash program the F3 version below was written in 2 days):

          This combination DHTML/Flash program the F3 version below (although incomplete) was also written in about 2 days:

          posted on 2007-05-07 22:30 wqwqwqwqwq 閱讀(994) 評論(1)  編輯  收藏 所屬分類: SUN Tech

          FeedBack:
          # re: F3(轉http://blogs.sun.com/chrisoliver/entry/f3)
          2010-03-03 11:36 | runescape gold
          He too, loved his 2nd wife. She is a very considerate person, always patient and in fact is the merchant’s
          confidante. Whenever the merchant faced some problems,
          he always turned to his 2nd wife and she would always help him out and tide him through difficult times  回復  更多評論
            
          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術網站

          java技術相關

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 晋宁县| 昂仁县| 南丰县| 北海市| 政和县| 锡林浩特市| 山东省| 合川市| 临高县| 滕州市| 庐江县| 湛江市| 信宜市| 镇江市| 潞城市| 门头沟区| 礼泉县| 建瓯市| 雅江县| 洞头县| 隆林| 潢川县| 临潭县| 沾化县| 安多县| 新乐市| 肥东县| 鹤庆县| 锡林郭勒盟| 陆丰市| 龙州县| 赤壁市| 炎陵县| 河源市| 武陟县| 崇阳县| 卢氏县| 崇礼县| 牟定县| 湖口县| 环江|