2009/03/31

Tour de FlexのFlex版が公開中

Tour de FlexはAdobe AIR版が今まで公開されていましたが、先日、Flex版も公開されました。

Tour de Flex
http://www.adobe.com/devnet/flex/tourdeflex/web/

Flexのコンポーネントはもちろんのこと、Amazon, Flickr, Cocomo, Salesforce.comなどのCloud APIやGoogle Maps APIを利用したサンプルコードをブラウザ上で簡単に見て、試せますよ。

2009/03/27

Mac OS XでSilverlight開発 - Eclipse4SL

RIA(Rich Internet Application, Rich Interactive Application)に興味津々なので、Flex/AIRだけでなく、Silverlight開発環境も整えようとMacBookにEclipse4SL on Mac OS Xをインストールしてみた。

今回扱うEclipse4SLはSilverlight開発用のEclipseプラグインだ。
Microsoftが資金援助し、SoyatecというEclipseファンデーションメンバーが運営するオープンソースプロジェクトにより開発が行われている。

Silverlightアプリ開発用プラグイン「Eclipse4SL」,Microsoftが資金援助
http://itpro.nikkeibp.co.jp/article/NEWS/20090310/326242/

もちろんEclipse環境なので、Visual Studioと違いWindows、Macの双方で動作する。
インストールガイドは下記URLで公開されているのでこちらをご覧あれ。

Installation Guide on Mac OS X
http://www.eclipse4sl.org/download/mac/

Eclipse4SLでは、いくつか他のソフトウェアを必要とする。
下記の3つがそれだ。
・Eclipse 3.4(Ganymede) - Eclipseプラグインなので、これがないと・・・。
・Mono
・Silverlight 2 Runtime
これらのダウンロードもインストールガイドのページにあるリンクを辿ってダウンロードできる。

なお、Eclipse4SLのWindows版では、Visual StudioやExpression Blendと連携させることもできるようだ。
Mac OS X版ではその辺はカバーされていないのが残念だが、そもそもMac OS X版のVisual StudioやExpression Blendがリリースされていない・・・。

Eclipse4SLの登場により「SilverlightはWindows、Macの双方で動作するけど、開発はWindowsでしかできないよね。」とは言えなくなってしまった。

2009/03/23

Japan JavaFX User Groupがいつの間にやら

Japan JavaFX User Groupがいつの間にやら出来てましたね。
http://javafx.jp/

メーリングリスト
http://groups.google.co.jp/group/javafx-ja

最近、Sun MicrosystemsのIBMによる買収が話題になってましたが、買収されたらJavaFXはどうなるんだろう?
別に影響はないだろうか。

2009/03/22

Durangoメモ 〜レイアウト〜

Automatic Layoutを指定する場合は、Drop先にはCanvasではなく、DynamicPortalを使用する。

Automatic Layout
    <mx:Canvas id="container">
<Reuse:DynamicPortal id="dropHere">
<!-- Added Components Start Here -->
<!-- Added Components End Here -->
</Reuse:DynamicPortal>
</mx:Canvas>
Manual Layout
    <mx:Canvas id="container">
<mx:Canvas id="dropHere">
<!-- Added Components Start Here -->
<!-- Added Components End Here -->
</mx:Canvas>
</mx:Canvas>

2009/03/19

Tomcat 6.0.18のcp932問題

Windows Vista環境でApache Tomcat 6.0.18をダウンロード、インストール、実行とすると次のようなエラーで起動できない現象に遭遇した(だいぶ前からだけど)。

2009/03/16 16:52:18 org.apache.catalina.core.AprLifecycleListener init
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\pcdNavi\bin;
2009/03/16 16:52:20 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
2009/03/16 16:52:20 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 3364 ms
2009/03/16 16:52:21 org.apache.naming.NamingContext lookup
警告: 参照の解決中に予測しない例外が発生しました
java.io.UnsupportedEncodingException: cp932
at sun.nio.cs.StreamDecoder.forInputStreamReader(Unknown Source)
at java.io.InputStreamReader.(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.createReader(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.setEncoding(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanXMLDeclOrTextDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$XMLDeclDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1663)
at org.apache.catalina.users.MemoryUserDatabase.open(MemoryUserDatabase.java:402)
at org.apache.catalina.users.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:103)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:113)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:137)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:109)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:703)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009/03/16 16:52:21 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener createMBeans
致命的: Exception processing Global JNDI Resources
javax.naming.NamingException: cp932
at org.apache.naming.NamingContext.lookup(NamingContext.java:805)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:113)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:137)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:109)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:703)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009/03/16 16:52:21 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2009/03/16 16:52:21 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.18
2009/03/16 16:52:21 org.apache.naming.NamingContext lookup
警告: 参照の解決中に予測しない例外が発生しました
java.io.UnsupportedEncodingException: cp932
at sun.nio.cs.StreamDecoder.forInputStreamReader(Unknown Source)
at java.io.InputStreamReader.(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.createReader(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.setEncoding(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanXMLDeclOrTextDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$XMLDeclDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1663)
at org.apache.catalina.users.MemoryUserDatabase.open(MemoryUserDatabase.java:402)
at org.apache.catalina.users.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:103)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:253)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009/03/16 16:52:21 org.apache.catalina.realm.UserDatabaseRealm start
致命的: キー UserDatabase でユーザデータベースを検索中の例外です
javax.naming.NamingException: cp932
at org.apache.naming.NamingContext.lookup(NamingContext.java:805)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:253)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009/03/16 16:52:21 org.apache.catalina.startup.Catalina start
致命的: Catalina.start:
LifecycleException: キー UserDatabase でユーザデータベースコンポーネントが見つかりません
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:261)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009/03/16 16:52:21 org.apache.catalina.startup.Catalina start
情報: Server startup in 1109 ms

原因はTOMCAT_HOME/conf/tomcat-users.xmlファイルでフォーマットにcp932が指定されているせい。
なぜUTF-8じゃない??

ちなみに、UTF-8に修正すると普通に動く。

2009/03/15

[福井][4/25(土)] Flex勉強会やりますよー

FxUG(Flex User Group)では全国の有志たちがFlex/AIR, ActionScript, Flash, Silverlight(!?)などをテーマに各地で勉強会を行っています。

北陸では2/21(土)に金沢で初の勉強会が開催され、今後は福井、石川、富山で定期開催していく予定です。

FxUG北陸初勉強会レポート
http://blog.air-life.net/2009/02/fxug.html

次回は4/25(土)に福井で行うことが決まったのでご案内いたします。
目的:北陸をもっともっと盛り上げていこう!
日時:4月25日(土) 15:00〜
      受付:14:30〜

場所:AOSSA 6階 研修室602
住所:福井県福井市手寄1丁目4
最寄駅:JR北陸本線「福井駅」徒歩1分
駐車場:AOSSA地下駐車場、福井駅駐車場など

地図:http://www.aossa.jp/access.html

集合場所:現地(6階にて受付を行います)
会費:勉強会 300円(会場費として)

懇親会(飲み会) 3000〜4000円 福井駅近辺で飲みます

定員:35名程度
参加資格:コメントに参加の意思を書き込みしてください。
対象者:デベロッパー&デザイナー(Flash, ActionScript, Flex, Java, PHP, Rubyなど)
   Flex/AIR, ActionScirpt初心者
資料:勉強会後Web上で公開
参加申し込み方法
FxUGの下記Wikiで参加(スピーカー or オーディエンス)を宣言してください。
http://www.fxug.net/modules/bwiki/index.php?Flex3%CA%D9%B6%AF%B2%F1%C2%E866%B2%F3%A1%F7%CB%CC%CE%A6%28%CA%A1%B0%E6%29

北陸のデベロッパー&デザイナーと共有したい、伝えたいことがある方は是非スピーカー宣言をお願いします。

2009/03/07

資料公開 - Adobe MAX Japan 2009

Adobeから1/29-30に開催されたAdobe MAX Japan 2009の資料を公開するアナウンスがありました。
一部公開されないセッションもありますが、大半はPDFがダウンロードできますよ。
参加された方はログイン後、興味のある資料をチェックです!

Adobe MAX Japan 2009公式サイト
http://jp.max.adobe.com/

Day1, Day2の基調講演に関してはログインしなくても動画が観られるので、参加されてない方もご覧あれ〜。

2009/03/06

ATND-アテンドが便利そう

リクルートが運営するイベント開催支援ツールのATND(アテンド)のデモを試してみたら、とても便利そう。
Flex勉強会では通常FxUGのwikiで募集を行ってるけど、これイイなぁ。

ATND
http://atnd.org/

サービスの特徴をATNDより引用
* イベント告知ページの作成
* Mixi, はてな、Yahoo! JAPAN、LivedoorなどのIDによる参加申込
* アンケート機能
* 参加者リストのDL
Open IDが使えるから、わざわざ特別にユーザー登録がいらないのがイイ。
懇親会参加YES/NOも参加宣言時に選択できるしね。

2009/03/03

Flex開発環境 - FB, VS, NB, IDEA

Flexの開発環境としては、Flex Builderがメジャーで、次にFlashDevelopなイメージ。
ちょっと前にAmethystというVisual Studio Pluginが登場して、ついにVisual StudioでもFlex開発できるのかー、と思っていました。

そんな中、ふとNetBeansはどうなんだろう?と思ってググってみたところ何件かヒット。

FlexBeans
http://sourceforge.net/projects/flexbean/

flex-beans
http://code.google.com/p/flex-beans/

nbflex
http://code.google.com/p/nbflex/

それぞれのプロジェクトを見た感じ、FlexBeansがアクティブに活動しておりプラグインもリリースされていました。
しかし、今のところビジュアルエディタはない模様。
その点でFlex BuilderやFlashDevelopに負けている感じ。


ついでに、実はとても優秀なIntelliJ IDEAのFlex対応についてもサラッと確認してみました。
http://www.jetbrains.com/idea/documentation/documentation.html

IntelliJ IDEAもビジュアルエディタは無いようですけど、リファクタリング機能の点でFlex Builderに勝っていますね。

Flex Builder、まずはリファクタリング機能を強化してもらえないかなぁ。
リファクタリングメニューが寂しすぎます。
せめて、JDTと同じくらいになってくれないでしょうか。