もしトラ

Preview:

Citation preview

もしトラ2011/05/28

at レッツゴーデベロッパー20112011/06/17

at G*ワークショップ

と、ツイートがありましたので、

今回は、仙台のイベント「レッツゴーデベロッパー2011」

で、時間の都合で出来なかったLTを再構築して

お送りします。

お断り

LT中、実在の人物・団体が登場し

ますが、

LTの内容とは無関係なので、ご了承下さい

m(_ _)m

前振り

仙台でのLTにあたり、

と募集したところ、

とか、

とか、

ムチャなツイート

失礼、噛みまみた

心温まるツイート

をいただきましたので、

LTの何処かに少し入れていこうかと。

ということで、

時間もないので、

出落ち部分だけやります。

What's“もしトラ”

だいたい皆様のご想像通りですが、

『もしドラ』のパロディーです。

もしトラ

 もし           トラ                        

  

「もし幼馴染みの女の子がバートランド・メイヤーの『契約プログラミング』を読んだ

ら」

← こんな体で

お前、誰よ

名前:めんま (本間芽衣子)出身:『あの日見た花の名前を僕達はまだ知らない。』放送:フジテレビ、関西テレビ、東海テレビ、ほか。説明:幼少時に亡くなったが、高校生になった 幼馴染みの「じんたん」の前に現れ、 「願いを叶えて欲しい」と頼む。

杉 浦 孝 博

ここから『もしドラ』風にお送りします。

第一章めんまは『契約プログラミ

ング』を手に入れた

契約 プログラミング

← こんな体で

LTの途中ですが、LTの途中ですが、

オリジナルのLTは、契約プログラミングの話と、GContractsの話が続くのですが、

オリジナルのLTは、契約プログラミングの話と、GContractsの話が続くのですが、

出落ちネタはここまでですので、出落ちネタはここまでですので、

急遽、番組内容を変更して、急遽、番組内容を変更して、

JavaFX 2.0とGroovy

2011/06/17at G*ワークショップ

をお送りします。をお送りします。

契約プログラミングとGContractsは、機会があればいずれかのG*ワークショップで。

契約プログラミングとGContractsは、機会があればいずれかのG*ワークショップで。

JavaFX 2.0とGroovy

2011/06/17at G*ワークショップ

JavaFXとは

JavaFXは、JavaVM上で動作するリッチクライアント向けのプラットフォームです。

JavaFX 1.x

JavaFX 1.xでは、JavaFX Scriptという言語で開発します。

JavaFX 2.0

JavaFX 2.0になり、JavaFX自体、リッチクライアント向けのライブラリとして生まれ変わろうとしています。

JavaFX Scriptは...

その代わり...

JavaFXのライブラリ化に伴い、Javaをはじめ、Groovy, Scala, JRuby, JythonといったJavaVM上で動作する言語からJavaFXアプリの開発ができるようになりました。

GroovyでJavaFXと言えば

FxBuilderというJavaFX Script APIをラップするビルダーがあります。

http://griffon.codehaus.org/FxBuilder

FxBuilder

Griffon用のプラグインとして提供されていますが、スタンドアロンでも使用できます。

FxBuilder

ですが、最新版でもJavaFX 1.2.1までしか対応していません。

そんなあなたに

最近、codehausからGroovyFXが発表されました。http://groovy.codehaus.org/GroovyFX

GroovyFX

JavaFX 2.0に対応し、GroovyでJavaFX 2.0アプリの開発を容易にするビルダーやDSLを提供します。

現在のバージョンは、Alpha 1.0です。

コード例 : Javaimport javafx.application.Application;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.Label;import javafx.stage.Stage; public class Hello extends Application { @Override public void start(Stage stage) { // コンテナ Group container = new Group(); // シーングラフのルート要素を生成し、コンテナを貼る Scene scene = new Scene(container, 100, 20); stage.setScene(scene); // ラベルを生成しコンテナに貼る Label label = new Label("Hello, World!"); container.getChildren().add(label); // 表示 stage.setVisible(true); } public static void main(String[] args) { Application.launch(Hello.class, null); }}

コード例 : Groovypackage demo

import javafx.application.Applicationimport javafx.scene.Groupimport javafx.scene.Sceneimport javafx.scene.control.LabelImport javafx.scene.text.Fontimport javafx.stage.Stage class Hello extends Application { void start(Stage stage) { // シーングラフのルート要素を生成し、コンテナを貼る def scene = new Scene( new Group( new Label(text: 'Hello, World!', font: new Font(20)), ), 100, 30 ) stage.scene = scene

// 表示 stage.visible = true }}

Application.launch(Hello, null)

コード例 : Groovy+GroovyFXpackage demo

import groovyx.javafx.GroovyFXimport groovyx.javafx.SceneGraphBuilderimport javafx.scene.text.Font

GroovyFX.start { primaryStage -> new SceneGraphBuilder(primaryStage).stage( title: 'Demo', width: 100, height: 60, visible: true ) { scene (width: 100, height: 30) { group { label(text: 'Hello, World!', font: new Font(20)) } } }}

デモ

JavaFX 2.0では、WebKitをベースとしたUIコンポーネントをサポートしていますので、WebKitを使ったデモを行います。

デモの環境

Windows 7Java 6Groovy 1.8JavaFX 2.0 Beta SDK (build 30)※32ビット版

Griffonでも使えるっぽい

Griffon 0.9.3 beta-1で試しましたが、GriffonからもJavaFXとGroovyFXが使えるっぽいです。

イケテナイところ

エラーメッセージがわからんとです...(´・ω・`)

プロパティ名を間違えた場合、↓の2行だけ。

Exception in Application start method

Caught: java.lang.RuntimeException: Exception in Application start method

イケテナイところ( ゚д゚) ・・・

(つд⊂)ゴシゴシ

(;゚д゚) ・・・

(つд⊂)ゴシゴシゴシ   _, ._ (;゚ Д゚) …!?

まとめ

JavaFX 2.0はまだベータ段階ですが、リッチクライアントを開発する際、GroovyFXともども、選択肢の一つとして検討してみてはいかがでしょうか。

まとめ

GroovyFXのデモが早く動けば、昨日(6/16)のJavaFX勉強会でLTとか何かできたかもしれませんが、動いたのが今日(6/17)の午前中だったので...orz

ということで、

ご清聴ありがとうございましたm(_ _)m

Recommended