ミッションたぶんPossible

どこにでもいるシステムエンジニアのなんでもない日記です。たぶん。

いろいろRIA勉強会へ行ってきた

一ヶ月も前の話になってしまいましたが、6/27に早稲田大学で開催されたB-Wiki - Flex4勉強会第75回@東京参加受付 - Flex User Groupに行ってきました。以下はそのメモと簡単な感想です。


1.CHI(Computer Human Interface)- [大磯さん]

AR(拡張現実)
    • 自由の女神、多数の撮影した画像を結合させて立体像を作る。カメラの位置を逆算
    • 時間軸をずらす(触ったところだけ夜景になる)
    • セカイカメラ
    • Layer-カメラを向けて歩くと情報をオーバーレイ(Android)
    • エッジを演算してマーカー無しで3Dオブジェクトをレンダリング
    • 左がカメラに映した実像、右に服の色-プリントを変えて表示
    • マーカーが歪んでてもオブジェクトを描画できる
VR(仮想現実)
    • センサ入りグローブを動かすことで画面操作、複数人でも操作可能(MIT)
    • アイマスクをつけてグローブ操作すると実際に円柱があるように感じる。センサが感知してグローブに対して抵抗をかける(NHK)
    • Music Bottle タンジェブル(MIT) ボトルの蓋を開けると音が鳴る。
    • ネットワーク図、転送量を可視化、実際に触って操作。ネットワーク帯域を操作。
    • Sticky Light-紙に書いたものをリアルタイムで感知、光線の行き先を操作。重力を与えることも。
    • 触れるインターフェース、特殊加工の机上にマーカーオブジェクトを動かすと音が鳴る。変わる。
    • Project NatalXBOXデモ。ユーザーの立ち位置を感知して操作する。コントローラーを持たずに操作する。レースゲーム、ピットでタイヤ交換。格闘ゲームボードゲーム。PK。テレビ電話+アプリ共有、服を女性にオーバーレイ。
    • 来年秋に発売。PS3.コントローラをラケットorバットorゴルフクラブに上書き。スポーツ。遠距離対戦。
    • Wii Sports Resort。モーションプラスでPS3デモ並みの性能。発売済。

2.Silverlightについて [クラスメソッド 杉浦さん]

  • Flashで良いんじゃない?
    • 広告ならFlashで十分
    • 特殊な場合を除いてSilverlightは広告では使ってない
  • Flexで良いんじゃない?
    • Flex SDKFlex FWを使用した開発とSilverlightと大差ない
    • Flexの方が情報が多い、人は集めやすい
    • 業務RIA = 環境を限定できる(IEのみ、とか)
    • Siliverlight RuntimeはWindows Updateで自動Update出来る、バージョン管理がラク
    • Flex業務アプリ → 現行既にあるシステムの移行が多い:.Net環境の場合には親和性が高い。C#で開発できる。同じ開発者が利用できる。Flexの場合はサーバーサイドは別言語を使用しなくちゃいけない。(ex.Java)
  • Silverlightって普及してないよね
    • Enterprizeに特化した視野だとSilverlightは決して不利ではない
  • 見た目はFlashSilverlightもそんなに変わらない
  • http://silverlight.timovil.com/
  • Flex3開発デモ
  • Silverlight開発デモ
    • VisualStudio2008
    • Expression Blend
    • Silverlight3 Tools for VisualStudio
    • Silverlight Toolkit(準公式、使い勝手の良いものはSilverlight SDKに吸収される)
    • ※VisualStudio2010ではSilverlightを標準サポート
    • ※Silverlight3は近々正式リリース、日本語版は秋〜年末
  • 言語設定
  • ※ソースの流用が可能
  • Flexよりもデザインビューが使い易い
  • Silverlightはテンプレート(スキン)を使用
  • XAMLは自動生成に任せてあまり開発者はタッチしない方が良い。
  • XAML一つに対して一つのCSファイルが用意される。ロジックはそちらに書ける。コードとビューの完全分離。
  • FlexSilverlightも似ている。Flash CatalystとBlendも似ている。感覚的にはほぼ一緒
  • ビューのみであればBlendで十分。VisualStudioはいらない。
  • DataGridはSilverlightの方がカスタマイズが出来る。Flexより便利!?スプレッドシートっぽい動きを実現可能。(完全なExcelの実現はむり)
  • Silverlightの方が民間初業務向けコンポーネントが多くなるはず
  • IME制御はSiverlight3でも出来ない(日本語の扱いはSilverlight3からは改善されている)
  • コンポーネントも3から充実してきた
  • 実装の方法によっては重い、DataGridがもっさり動くことも
  • 7/16、Microsoft REMIX
  • Silverlight2までは正直ショボくて微妙…

3.ExtJSについて [ゼノフィ 小堤さん]

  • YUIからの派生、YUI-Ext
  • → YUIから完全独立、ExtJS1.0
  • HTML、JavascriptCSSのみで開発可能。CSSの変更のみでレイアウトが変更できる。
  • グリッドパネル開発-→Ext.data.ArrayStore
  • グリッドパネルの外部連携
    • JSONでデータ授受(XMl等でも可能) →Ext.data.JsonStore
  • 編集可能なグリッドパネル作成 Excelっぽい機能を実装
    • 編集したカラムは左上に赤いマーカーが表示される
  • チャート
    • Ext3.0より実現。標準で備わっているのは強み。中身はFlashだがActionScriptは操作する必要なし。
  • ストア共有による連携
    • グリッドパネルとチャートで同じDataStoreを参照する
    • グリッドパネルの値を変更するとチャートにダイレクトに反応する-→Ext.grid.EditorGridPanel
  • IDE (ScreenCast[Google検索:Ext JS Designer])
    • Ext3.1で付加される、Drag & DropでJSコードを生成できる、AIR変更も可能
    • ExtJSにはextendという機能が用意されていて、必要なクラスを引用して新しいクラスを生成できる
    • JavaScriptにはClassという概念は存在しない
    • FCK Editer-JSONライブラリ WIGSYG連携
      • HTML Editorもあるが非常に簡易
    • 他ライブラリ連携
      • prototype、YUIjQueryにはアダプタを用意、コレを使うことでそれぞれを取り込むことも出来る
      • ExtJSは構造化ライブラリ、プログラマには向いている
      • jQueryはWeb屋がちょこっとJS書きたい
      • →一人で開発するならjQuery、百人で開発するならExtJSの方が良いはず

4.iPhoneObjective-C について [天野さん]

  • Webアプリケーション
    • Safari(Mobile Safari)
    • Safari向けのWebページ開発 →互換性の考慮必要なし
      • Safari
      • DashCode(XCodeとセットで着いてくる)
      • エディタ/HTML作成ツール
    • Safariでのwebページ確認方法
      • デバッグWebKit & Drosera → Safari3.1移行→Safariの「開発メニュー」
      • Safari→環境設定→詳細→「メニューバーに"開発"メニューを表示」にチェック
      • Win版はメニューバーも非表示になっているので注意
    • ユーザーエージェント
      • iPhone用の表示モードに切り替えることが出来る
      • Webインスペクタ
    • Webページ開発が可能なソフトウェア
      • Dashcode
      • Apple純正
      • Xcode
        • 無償
      • テンプレートが用意されている
      • DreamweaverCS4
        • Adobe
        • ライブコード/ライブビュー
        • Webkitが解析エンジン
  • ローカルアプリ(iPhoneアプリ)
    • iPhone Developer Program → iPhone DevelopといったキーワードでAppleサイトで検索すればOK
      • iPhone Dev Center ← 最も優れたドキュメント、PDF
    • 開発環境(ソフトウェア)
    • 開発言語
    • クラスの作成
    • メソッドの宣言
      • インスタンスメソッド
          • (返却値) メソッド名 [:借り変数リスト...];
      • クラスメソッド
          1. (返却値) メソッド名 [:借り変数リスト...];
      • ※型の宣言を省略した場合は「id」という型になる
        1. (id) alloc;
        • init;
    • メソッドの呼び出し
      • メッセージ指揮
        • [レシーバ メッセージセレクタ];
        • [myObj sayHello];
        • [self sayHello:@"Apple" from:@"Japan"]; ※self = javaのthis
    • クラスの拡張
      • サブクラス化
      • カテゴリ
      • 既存のクラスにメソッドを追加
      • デリゲート
      • ターゲット/アクション
      • 通知
    • ガベージコレクションは無し
    • Objective-C 2.0で実装
    • allocメソッドで確保、releaseメソッドで開放
    • id myInstance = [NSObject alloc];
    • NSAutoreleasePoolを使ったautorelease
    • Objective-C 2.0の変更点
      • ガベージコレクションの実装
        • コンパイラオプションとして指定
        • autorelease、GCの組み合わせは自由-→今からやるならGCだが、iPhone OSでGCは使えない
      • プロパティ
        • @propertyでプロパティを定義
        • アクセッサメソッドを自動作成(管理可能)
      • ドットシンタックスを採用
      • 高速列挙(NSEnumeratorを使わないループ)

5.Flex4,FlashBuilder4,Catalyst,LiveCycle? Data Services 3の連携について [クラスメソッド 横田]

感想

結局のところ一番凄いと思ったのはFlex4でした。Seasarなんかを見ていてもそうですが、どんどんソースコードを自動生成していく方向に流れていくんですね。生産性が高くなる一方で人手は縮小されていくはずですから、もっと根源的な、アイディアとかサービスとか、ユーザーに直に響く何かを持たないSIerは淘汰されてしまうんでしょうね。楽しくも厳しい現実ですが、前向きに受け止めていきたいです。


ARやVRの話をしてくれた「いそっち」さん、以前からblogは拝見してましたがまさか学生だったとは…。会場のリアクションが薄い事を残念がっていたようですが、すみません、私の場合はEngadgetとかで以前見てた情報が多かったので改めてリアクションできませんでした。でもあのTシャツの上に現実拡張させる技術は本当に凄いですね。あんなん使えるようになりてーなー。


今回は部下を何人か連れて行ったのですが、彼らにとってもそれなりに刺激になった事を期待したいモンです。上役だけやる気マンマンで帰ってきても、正直寂しいもの。