Flex4勉強会第75回@東京 参加報告

更新日:

http://www.fxug.net/modules/bwiki/index.php?Flex4%CA%D9%B6%AF%B2%F1%C2%E874%B2%F3%A1%F7%C5%EC%B5%FE%BB%B2%B2%C3%BC%F5%C9%D5

日時場所

  • 2009/06/27(土)14:00-18:00 早稲田大学

セッション内容

  1. RIA勉強会だけどCHI [大磯さん]
  2. Silverlightについて [クラスメソッド 杉浦さん]
  3. ExtJSについて [ゼノフィ 小堤さん]
  4. iPhone、Objective-C について [天野さん]

1. RIA勉強会だけどCHI[大磯さん]

  • 未来のインタフェースを実際に行っている研究動画の紹介。

光を使ったリアルタイム描画処理など、
見ていて興味が引かれる動画を何十種類か紹介されていました。

以下、紹介していた動画のリンクまとめ。

・Photosynth
http://wiredvision.jp/blog/goto/200808/200808150147.html

・StickyLight
http://www.k2.t.u-tokyo.ac.jp/perception/StickyLight/index-j.html

・DeformableWorkspace
http://www.k2.t.u-tokyo.ac.jp/perception/DeformableWorkspace/index-j.html

・KhronosProjector
http://www.k2.t.u-tokyo.ac.jp/perception/KhronosProjector/index-j.html

・typing_system
http://www.k2.t.u-tokyo.ac.jp/vision/typing_system/index-j.html

・comvision_G2
http://ip.hhi.de/comvision_G2/clothing.htm

・Layar
http://www.youtube.com/watch?v=b64_16K2e08

・Sekai Camera
http://www.youtube.com/watch?v=KgTwSXK_5dg

・Data Tiles
http://www.youtube.com/watch?v=7imqHEqszo8

・Tangible Bit
http://tangible.media.mit.edu/projects/

・Reactable
http://www.youtube.com/watch?v=WEDia3CFdfg

・触れて感じるテレビ01(NHK)
http://www.youtube.com/watch?v=qwG6kEPVsjs

・PTAM + AR on an iPhone 3G
http://www.youtube.com/watch?v=pBI5HwitBX4

・oblog
http://oblong.com/

・E3 2009: Project Natal Xbox 360 Announcement
http://www.youtube.com/watch?v=p2qlHoxPioM&feature=fvst

・Xbox 360 Project NATAL - Official E3 First Look
http://www.youtube.com/watch?v=B2r9cKjNQe4&feature=fvst

・Nintendo
http://wii.com/jp/articles/wii-sports-resort/crv/vol/page3.html#id=cv_wsr_02

・Wii
http://johnnylee.net/projects/wii/

2. BlendでSilverlight[クラスメソッド 杉浦さん]

なぜSilverlightをやるのか

  • Flashでいいんじゃない?
  • Flexでいいんじゃない?
  • Silverlightってあまり普及してないよね?
  • Silverlightは、最近Windows Updateでインストールされるようになった。
  • 業務系アプリケーションの場合、OSを限定出来る状況がある。
  • Flexへの置き換え案件は、現行業務の移行が多い。
  • Silverlightの場合は.NET関連なので、現状サーバ側が.NET技術の場合は親和性が高い。
    • 両方とも同じ技術者が使える。データの受け渡しが容易。
    • Flexの場合は、言語も違う(サーバ側はJavaだったりする)。
  • Webの広告やサイトの場合は、Silverlightを使うシーンは少ない。
  • 業務系アプリケーションの場合、Silverlightは有望なプラットフォームになりうる。

Silverlightの開発に必要なもの

  • Visual Studio 2008
  • Expression Blend 3
  • Silverlight 3 Tools for Visual Studio

- Silverlight Toolkt
- .Net RIA Services
- Eclipse for Silverlight

Visual Studio 2010では、デフォルトでSilverlightの開発が出来るようになっているらしい。

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

ExtJSとは

ExtJWT

  • JavaScriptではなく、Javaで記述

デモ

  • データベースへの読み込み時、読み込み中と表示が可能。
  • JavaScriptでグリッドパネルやチャートパネルを作成可能。
    • FlashPlayer上で表示

実際のデモを見ると、やはり動作が遅いと感じた。
JavaScriptとしてはかなり高性能。
ただ、現状、わざわざExtJSを採用する優位性が感じられなかった。

4. iPhone、Objective-C について [天野さん]

iPhoneでWebにアクセスする場合

  • Safari(Mobile Safari)経由
  • Safari向けのWebページを開発することになる
    • WebページはSafariで確認する
    • Dashcodeやエディタ、Webページ作成ツールを使う場合もある

SafariでのWebページの確認

  • Safari デバッグ(今まで)
    • WebKitとDroseraを組み合わせてよく確認していた
  • Safari (3.1以降では・・・)
    • Safari開発メニュー
  • 開発メニューの出し方
    • 「Safari」->「環境設定」->「詳細」->「メニューバーに開発メニューを表示」にチェック

Webページ開発が可能なソフトウェア

  • Dashcode
    • Xcodeと共にインストール
    • 無償
    • Apple純正ソフトウェア
  • Dreamweaver CS4
    • ライブコード / ライブビュー
    • 解析エンジンはWebKit

iPhoneアプリの開発

  • 開発環境の入手
    1. Develop for iPhone OS 3.0 というサイトにアクセス
    2. iPhone Dev Centerにアクセスする
    3. iPhoneヒューマンインタフェースガイドラインを絶対守るようにすること
      • 守っておくと、ファームウェアのバージョンアップ後も対応可能になる

開発環境 Xcodeを入手

  • Interface Builder
    • コーディングなしで開発可能
  • Property List Editor
    • 後工程で使う場合もある
    • xml形式でアプリケーションの設定情報を編集可能
  • iPhone Simulator
    • 実機に入れる前にチェックが可能
  • Instruments
    • 実際にどれぐらいのパフォーマンスが出るか測定が出来る

開発言語 Objective-C

  • C言語を拡張したOOP言語(開始は main())
  • 動的バインディングが可能になった(特徴)
  • あるオブジェクトから別のオブジェクトへ情報を送る際、送信時にオブジェクトの型が決まる
    • C++は遅延バインディングなので、送信直前までにオブジェクトの型が決まるので、C++とは異なる
  • C言語の関数を呼び出すことが可能
  • GNUに還元(gccにコンパイラ搭載)
    • optionインストールする必要はある(デフォルトでは入っていない)
  • クラス定義は .h
  • 実装は .m
  • メインコードも .m
  • iPhone開発に使用するのは、Objective-C 2.0
  • C++を拡張した Objective-C++ も存在する(使用可)
    • C++のクラスを使用可能
  • Objective-C++の実装は .mm か .M
  • Objective-Pascalなんてものも存在する

クラスの作成

  • 宣言クラス

  • 実装クラス

メソッドの宣言

  • インスタンスメソッド

  • クラスメソッド

  • 型の宣言を省略すると id になる
    • 動作する直前まで型が決まらない原因は、ここにある

例)

メソッドの呼び出し

  • メッセージ式

例)

※ self とは thisと同じ。
※ @"??????" は Stringと同じ。

HelloWorldのデモ

※ printf内の文字列宣言は、通常のC言語の表記になっていることに注意

クラスの拡張

  • サブクラス化
    • 継承
  • カテゴリ
    • 既存のクラスにメソッドを追加可能
    • インスタンス変数は追加不可
    • 拡張したメソッドが、既存のメソッドに影響を与えない仕組みになる
  • デリゲート
    • 自分に来たイベントを、全部外に投げてしまう
  • ターゲット / アクション
    • ある指定したメッセージセレクタの場合、別に投げてしまう
  • 通知
    • iPhone独自

メモリ(インスタンス)管理

  • ガーベジコレクションは無し
    • Objective-C 2.0で実装
  • allocメソッドでメモリ確保
  • releaseメソッドでメモリ解放

  • NSAutoreleasePoolを使った autorelease
    • ガーベジコレクションとは違う
    • 参照数をカウントしておき、参照数が0になったら解放する

※ NS = NextStepの略

Objective-C 2.0での変更点

  • ガーベジコレクションの実装
    • コンパイラオプションとしてガーベジコレクションを使うかどうか指定
    • autorelease、ガーベジコレクションの組み合わせ・併用は自由
    • iPhone OSではガーベジコレクションは使用不可
  • プロパティの追加
    • @propertyでプロパティを定義
    • アクセッサメソッドを自動作成(管理可)
  • ドットシンタックスの採用
  • 高速列挙(NSEnumeratorを使わないループ)
    • for eachなどが使えるようになった

-Blog

Copyright© fullvirtue.com プロダクトオーナー支援スペシャリストのBlog , 2024 All Rights Reserved.