Flex4勉強会第119回@全国ツアー(東京)に参加しました
Flex4勉強会第119回@全国ツアー(東京)に参加しました。
とりあえず、メモに感想を加えてざっくりまとめてみました。
Adobe Flash Platform(アドビ システムズ社 Flash Platform エバンジェリスト Serge Jespers さん @sjespers)
Flash Platform Services
- 追加されたもの
- LiveCycle Collaboration Service
- 複数ユーザーでコラボレーションするのに使う(ファイル共有とかが簡単にできる)
- Distribution
- ソーシャルネットワーク(facebookなどに、より簡単に配信できるようになる)
- Payment
- プログラムを3行追加するだけで、「try and buy」の昨日を追加することができる
- LiveCycle Collaboration Service
Open Screen project
Adobe Flex4 / AIR2 入門講座 (クラスメソッド株式会社 横田 聡 さん @sato_shi)
自分が気になったポイントのみ
感想
- テンポが良くて、プレゼン上手かった
- 開発者視点で重要なところがおさえられていて共感できた
- イベント伝播とコンポーネントのライフサイクルを押さえることが大切、って言葉でしょぱなから心をつかまれました(笑)
AIR for Android はじめの一歩(cuaoar 上条 晃宏 さん @akj50000)
自分が気になったポイントのみ
- 現状(2010年7月28日時点)の注意点
- 作成したapkファイルの一般公開はできない
- Flash Builderでの開発は、手順はめんどくさいが、開発ができないわけではない
感想
- デモが多かったけど、どういう風に開発していくかがイメージできた
- とても開発しやすそうな印象。「自分にも作れるな」って思えたので、スマートフォン開発も開発者にやさしい感じした
Flex フレームワークのスマートフォン対応(アドビ システムズ 株式会社 デベロッパーマーケティング 轟 啓介 さん @keisuke322)
SliderからHeroへ
モバイルの考慮点
- 画面解像度の違い
- 画面サイズ(横×縦)とDPI
- タッチ操作
- ジェスチャー操作を想定したUI設計
- 他プロセスの割り込み
- 電話の着信
- スリープモード
- 他プロセス連携(カメラ、ブラウザ等)
- 階層化された情報の最適表示
- 情報を階層的に表示する工夫が必要
- 情報の現在地を表示
Hero - タッチ操作最適化
- モバイル用スキン
- PCとモバイルでサイズが違う形になる(それぞれ最適化)
- ステート
- モバイルでタッチ操作に不要なステータスをなくす
- イベント
- デフォルトでスワイプなどのジェスチャに対応
- 処理を記述なしでもコントロールがデフォルトで対応する形で検討している
- デフォルトでスワイプなどのジェスチャに対応
Hero - 画面(View)ベースのアプリケーション構造(ViewとViewNavigator)
Hero - ViewNavigatorの階層構造
- Viewをスタックで管理し、一番上のViewを表示する
質疑応答
- 現時点では、モバイル限定でPCでViewNavigatorを使えるようにはなっていない(ただし、最終決定ではない)
- Heroは年内にベータ版を提供予定
- どのタイミングで、どのバージョンに組み込まれるかはまだ決定されていない
感想
- Heroすごいよさそう(開発者にとって)
- ViewStackで頑張るのは結構大変だと思っているので、ViewNavigatorは好印象
- そのまま流用できないにしても、ViewNavigator、PCにも欲しい
Flex と Progression の連携(ClockMaker 池田 泰延 さん @clockmaker)
Progressionとは
- 画面遷移を実装できる仕組みを提供
- シーン機能
- コマンド機能
- キャスト機能
Progressionのメリット
- ユーザビリティ補助
- MACのマウスホイールのサポート
- 最小サイズ固定
- 最適化されたコンテキストメニューとショートカットキー
- ページ内リンク、Titleの自動作成
- ブラウザ互換のコンテキストメニュー、ショートカットキーの適用
シーン機能
- 階層構造をもつことができる
- 階層を飛ばして遷移する際に、飛ばされる遷移のイベントをはさむことができる(必要がなければはさまないのも可能)
コマンド機能
- サポートしている機能
- 外部ファイルの読み込み(キャッシュ機能もあり)
- トウィーン、タイムライン指定秒数待機
- 類似ライブラリに比べ、機能が豊富
- カスタムコマンドの作成も可能
コマンドの柔軟性
- 実行時におけるコマンドの挿入
- 実行時の条件分岐、中断も可能
- エラーの捕捉もできる
感想
- シーンとコマンドは心の底から便利だと思う
- 次にFlexで何か作る時はProgression使おう
楽しい時間をすごさせてもらいました。お休みをとって参加したのですが、よい休日になりました。
主催者の方々に感謝です。
BPStudy#33に参加しました
人のブログをみてしまったら、書けなくなるので(ajnは他の人の内容のレベルがすごすぎるので・・・)、スピード勝負です。
(おそらく)誰よりも早いBPStudy#33のブログ記事のはず(終わった直後にあげるので)。
BPStudy#33 第1部テーマ:Google I/O 2010 App Engineセッションレポート
第1部のMCは佐藤一憲さん([twitter:@kazunori_279])
以下は、自分のメモがきです。
@kazunori_279のブログみればすむって話もありますが。。。
App Engineでcomet
- これまでpushを行うには、XMPPプロトコルorURLFetchを用いて外部のpushサーバーとか使うしかなかった
- でも、XMPPクライアントの実装は容易ではない(Flashとかだと通信ができない)
- しかし、Channel API が登場したんでpushできる!(これまで大変だったが、基本cometなのでFlashとかからでも通信できるはず-google談)
- Channel APIは、チャネル型の双方向非同期通信サービス
- sdkは手に入るけど、現状ではRPCの制限がかかっているのでprodにあげても動作はしない(@shin1ogawa情報)
- GTalkサーバーのインフラを使っているので、スケーラビリティはきわめて高い
- つまりは、鬼スケーラブルなメッセージングサービスがただで使えるのがメリット!
- デメリットは、データセンターが北米にあるので、レインテンシが問題
- 対戦型ゲームとかは厳しい
- 現時点では、課金関連、SDKのリリース時期の情報は出ていない
Google Storageとあわせて発表されたBigQuery
感想
- BigQueryは最初すごいと思ったけど、個人が趣味で使うって感じではなさそうな印象
- Channel APIはアイディアによってはすごいものがつくれそうなので、腕に覚えがある人はHTML5とjavascriptを勉強して全裸待機しる。
- データセンターを日本に設立するために、これまで以上に日本の盛り上がりを世界に伝える努力が必要かな
資料
- まだ見つけられてません
slim3とは
- @higayasuoさんが作っているGoogle App Engine専用フレームワーク
- Controller 〜 DataStoreまでカバー(viewは提供していない)
- JDO/JPA等のgoogle標準のapiは完全無視
- Spin upも早め
slim3のいいところ
グローバルトランザクション
- エンティティグループをまたいだ排他制御ができる
- 最後の最後に使うというのがshin1ogawaさんのスタンス
- もしかしたら自分の表現には語弊があるかも・・・設計段階では頼らない方がいい、って意図だと思う
- 最初はない前提で設計をすすめて、開発の最後の方に設計レベルで対応できない時につかう伝家の宝刀(?)
高いパフォーマンス
気がきいた仕組み
Kotori Web JUnit Runner
- Google IO でも関係者にUIを絶賛された(Google IO参加者情報)
- ライブコーディングでデモ実行
- プロダクションでテストができる!
- Kotori Web JUnit Runnerのデモサイト
感想
- 今日も神コーディング堪能しますた(幸せな気持ちになれます。完全にファンですな)
- 説明とコードの紹介がセットになっていたので、とてもイメージしやすかった
balmysundaycandy-scalaを動かすための5のステップ(Windows編)
今回は、balmysundaycandy-scalaを設定し、remote.profileを使って動かすところまで行います。
1、Javaランタイムのインストール
2、scalaのインストール
- 2.7.7 finalをここからscala-2.7.7.final.zipをダウンロードします。
- 解凍したフォルダ(scala-2.7.7.final)を適当な場所におきます。
- ここではCドライブの直下においた例で進めます
- コマンドプロンプトを開いて、解凍したフォルダのbin(C:\scala-2.7.7.final\bin)に移動します
cd C:\scala-2.7.7.final\bin
- インタプリタが起動したことを確認(以下のように表示されていれば正常に動作してます)
- exitでインタプリタをぬけます
3、balmysundaycandy-scalaの設定
- balmysundaycandy-scalaをここからダウンロードします。
- 解凍したフォルダ(balmysundaycandy-scala)を適当な場所に置きます。
- ここでは、Cドライブの直下においたとします。
- コマンドプロンプトで環境変数を設定
set SCALA_HOME=C:\scala-2.7.7.final
set BALMYSUNDAYCANDY_SCALA_HOME=C:\balmysundaycandy-scala
set PATH=%PATH%;%SCALA_HOME%\bin;%BALMYSUNDAYCANDY_SCALA_HOME%
3.5、remote.profileの編集(プロキシ経由のアクセスの時のみ必要)
- remote.profile(C:\balmysundaycandy-scala\remote.profile)をエディタで開き、最後の4行のコメントアウトをはずし、プロキシのhostとportを設定します。
-
// proxy setup
import balmysundaycandy.scalatool.client.AppengineRemoteCallUtils
val host = "xxx.xxx.xxx.xxx" ← ここにプロキシのIPを設定
val port = xxxx ← ここにプロキシのポートを設定
AppengineRemoteCallUtils.httpClient.getHostConfiguration().setProxy(host, port);
4、balmysundaycandy-scalaを起動
balmysundaycandy-scala
- balmysundaycandy-scalaが起動したことを確認(以下のような感じに表示されていれば正常に動作してます)
C:\balmysundaycandy-scala>
- プロファイルを読み込む
:load remote.profile
-
- エラーがおきず、ズラズラ文字がながれればおそらくうまく読み込めています。これで設定は完了です。
5、動作確認
- Entityを作成
val entity = new Entity("test")
- データストアに登録
val key = Datastore.put(entity)
- 登録したデータを取得
val list = Datastore.query(key).asList
-
- 上記の作業は、balmysundaycandy-scalaが起動している状態で行ってください。
ちなみに、MacはもってないのでWindows編以外を書く予定はないです(汗)。
でも、自分でbalmysundaycandy-scala-remoteをデプロイして、作ったプロファイルでアクセスする手順は、近日中に書きたいと思ってます。
Flex(mate)+cakephp(cpamf)で作ったコードをgoogle codeにさらしてみる
登録、更新、削除、検索を作っただけの簡単なサンプルですが、google codeのホスティングのリポジトリにあげたので、せっかくなのでブログでも告知しようというたいしたことない内容です(汗)。
環境構築の手順についてはgoogle codeのwikiに作業メモとしてまとめてあるのでここではふれません。
とりあえず、はじめてFlex作ってみた感想とかを書いてみます。
Flexを使ってみた感想
cpamfを使ってみた感想
- cpamfの情報はあまりみないけど、pluginフォルダにつっこむだけで動くんでとっても簡単
- CakePHPを作ったことある人なら、簡単に処理を作ることができる
- controlerとmodel作るだけで、さくっと作れます
- AMF通信自体がすごい便利で、これをCakePHPでさくっと作れること自体がすばらしい!
- あとはmodelにValidaterをかけるCakePHPはRIAとの相性がよい気がします。htmlで作るとmodelのValidaterは微妙だけど・・・
以下が今回さらしたgoogle codeのホスティングへのリンクです。。
たいしたソースではないですが、CakePHPをさわったことがあって、Flexに興味がある、って人はのぞいてみてもよいかもしれませんよ〜
AMF 通信ができるまでの作業メモ(wiki)
登録、更新、削除、検索まで一通り作ったソース
google codeのホスティングを使ってslim3の勉強はじめました
slim3の勉強を始めたのですが、勉強した内容のアウトプットにgoogle codeのホスティングを使うことにしました。
google codeのホスティングは初めてつかってみたのですが、すごく簡単にはじめられるし、wikiも使えるのでかなり便利ですね。
やっているのことはGoogle App Engine をはじめてみようのコードをChapterごとにslim3におきかえながら勉強するってこと。
Chapter3まで終わったので、ブログでも紹介します。誰得?って感じですが、昨日ググったら一人だけチェックしてくれている人がいたのでやる気になって、Chapter3まで終わらせてブログまで書いてみました(笑)。
google labに参加して、slim3をさわっていないという人は「へー、こんな感じなんだ」って思えるかもしれないので、のぞいてもらえるとうれしいです。
Chapter1から2の作業メモ
Chapter1から2までのソース
BPStudy#31に参加しました
BPStudy#31 テーマ:継続的インテグレーションツール「Hudson」に参加してきました。
スピーカーは、id:cactusmanさん
以下は、自分のメモがきです。
CIについて
- 継続的インテグレーション(XPのベストプラクティス)
- システムの初期段階からたくさんビルドをする
CIのサイクル
メリット
- 成果物の品質の保証
- ビルドやテストがとおらないというような問題を早い段階で検知できる!
- デグレードがおきにくくなる
なぜ広まらないのか
- 導入が大変(テストが必須、SCMが必須、途中から導入は難しい、ビルドが通らない)
大切なこと
- 犯人探しをしてはいけない
- 問題を起こす人がいつも同じでも、どうすれば減らせるかという風に考えることが大切
- 導入だけで満足してはいけない
- エラーを放置してはいけない
- エラーが起きても放置するようになったら使う意味が・・・
hudsonについて
感想
個人的な課題
- phingの勉強する
- phpでphingとUnitTestを実行するような環境作る
- hudson導入する
- hudsonでphing呼ぶたたいて動くところまでやる
bpstudyはいつもレベルが高くて、楽しいです。
いつもありがとうございます>主催者の方々
git(ぎっと)を勉強してもようと思い立つ
自分はやっとSubversionをそれっぽく使えるようになってきたかな、っていう段階なのですが、世の識者の方々は、Gitに移行しているみたいです。
ちょっと前までは「まだ自分には早い」と思っていて、いろんな方が絶賛しているWEB+DB PRESS Vol.50もGit特集の記事だけ華麗にスルー!って状態だったのですが、「GitHubにソースはあげてあります」っていうけど自分はみれないっす><ってケースが増えてきたり、勝手にリスペクトしているあきぴーさんも注目していたり、redmineとgitでやって便利なんて実例もあがってきたり、「そろそろ分散バージョン管理使えないとやばい・・・」って気持ちになってきました(なぜか突然危機感が・・・)。
そんなわけで、とりあえず勉強はじめてみようと思います。
結城浩さんのGitの基礎練習
http://www.hyuki.com/techinfo/gitinit.html
とか、
Git入門
http://www8.atwiki.jp/git_jp/
とかあるけど、まずはいろんな人が絶賛している『WEB+DB PRESS Vol.50もGit特集』かな(せっかく買ったんだし)。
読んでから感想書こうかと思ったのですが、まずは読むことを宣言して自分にプレッシャー(笑)。
いわゆる勉強します宣言ですね。
勉強していて、感じたことがあればまた書こうと思います。