ExtJS で作る AIR アプリケーション フィードパス株式会社 山本 大策
自己紹介 山本 大策   フィードパス株式会社   tunejaxx http://tunejaxx.com/    tunebuzz http://neupunk.net/tunebuzz/    MIRAI THE FUTURE http://d.hatena.ne.jp/yamamotodaisaku/
  アーティスト関連情報検索サービス
TAGGY マッシュアップコンテスト
グランプリ受賞
応募作品数  7
ExtJS を使用
        音楽動画を簡単に検索・閲覧できる AdobeAIR アプリケーション
  AdobeAIR   ×   ExtJS で開発
AdobeAIR とは クロスプラットフォームの実行環境 2007/3 Apollo  アルファ リリース 2007/6 AIR  ベータ リリース 2008/2 AIR1.0  リリース 2008/6 AIR1.1  リリース
AdobeAIR が生まれた背景 Web の標準的な技術と、 Flash 技術を組み合わせたリッチインターネットアプリケーション (RIA) をベースにしたデスクトップアプリケーションを提供するために開発された。        
AIR の仕組み
AIR の開発工程 AIR プロジェクトの作成  ↓    コードの記述 ↓ テスト・デバッグ ↓ パッケージング (.air) ↓ 公開
ExtJS を使った AIR アプリの作り方   HTML + JavaScript + CSS  でコードを記述   ↓      Web アプリ開発と同じ     
開発環境 AdobeAIR ランタイム  AdobeAIR SDK ExtJS ライブラリ Aptana Studio(AIR プラグイン )
AIR プロジェクトの種類 アプリケーション・サンドボックス(デフォルト)      ・  AIR API の利用 … 可能      ・ eval() など動的な機能の使用 … 不可能      ・外部スクリプトの取り込み … 不可能    クラシック・サンドボックス      ・ AIR API の利用 … 不可能      ・ eval() など動的な機能の使用 … 可能      ・外部スクリプトの取り込み … 可能   jQuery はアプリケーション・サンドボックスでも動作する ExtJS はクラシック・サンドボックスで動作させる必要がある   サンドボックスの切換え アプリケーション・サンドボックスの HTML に、 iframe タグを追加する
開発 Aptana で AIR プロジェクトを作成 (non-application sandbox)   アプリケーション・サンドボックス  ・ air.html ・ AIRAliases.js(AIR API のエイリアスを定義 )  ・ air.js(AIR API を利用 )   クラシック・サンドボックス  ・ ui.html ・ ui.js(ExtJS を利用 )
air.html <html><head> <meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=utf-8&quot;/> <title>AIR</title> </head><body> <!-- ui.html  の取り込み  --> <iframe id=&quot;UI&quot; src=&quot;ui.html&quot; sandboxRoot=&quot;http://example.com&quot; documentRoot=&quot;app:/&quot; style=&quot;width:100%; height:100%; border:none&quot;> </iframe> <!--  スクリプトの取り込み  --> <script src=&quot;lib/AIRAliases.js&quot;></script> <script src=&quot;air.js&quot;></script> </body> </html>
air.js var public_obj = {}; public_obj.saveToLocal = saveToLocal; public_obj.loadFromLocal = loadFromLocal; var e = document.getElementById(&quot;UI&quot;); e.contentWindow. parentSandboxBridge  = public_obj; var my_so =  air.SharedObject.getLocal (&quot;air&quot;);  function  saveToLocal (data) { my_so.data.saveData = data;  } function  loadFromLocal () { return my_so.data.saveData;  }
ui.html <!-- UI のためのファイル  --> <html><head> <meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=utf-8&quot;/> <!-- ExtJS  ライブラリの取り込み --> <script src=&quot;lib/ext/adapter/ext/ext-base.js&quot;></script> <script src=&quot;lib/ext/ext-all-debug.js&quot;></script> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;lib/ext/resources/css/ext-all.css&quot;/> <!-- UI 記述プログラムの取り込み --> <script src=&quot;ui.js&quot;></script> </head><body> <div id=&quot;form_div&quot;></div> <div id=&quot;grid_div&quot;></div> </body></html>
ui.js Ext.onReady(function(){ //  親で定義された関数を使う //  保存されているデータの読み込み var save_data =  window.parentSandboxBridge.loadFromLocal (); }
パッケージング Aptana でワンクリック
公開 シームレスインストール AIR ランタイムをインストール ↓  AIR アプリをインストール
AIR   ×   ExtJS  の良さ AIR ・既存の Web 技術でクライアントアプリが開発可能  ExtJS ・リッチで高機能な UI     完成度の高いクライアントアプリを手軽に開発可能
参考 Adobe AIR プロフェッショナルガイド

More Related Content

PDF
History api
PPT
Android Hacks - Hack59
PDF
アプリリリース後に後悔しないための20のこと
PDF
Google Play Developer APIを使ってみた
PPT
Android Hacks - Hack8
PPT
マッシュアップアワードに応募するまで
PDF
インスタントチーム - ずっとやりたかったこと、小さく始めてみよう
PDF
会社や組織を越えて活動するインスタントチームの可能性
History api
Android Hacks - Hack59
アプリリリース後に後悔しないための20のこと
Google Play Developer APIを使ってみた
Android Hacks - Hack8
マッシュアップアワードに応募するまで
インスタントチーム - ずっとやりたかったこと、小さく始めてみよう
会社や組織を越えて活動するインスタントチームの可能性

Viewers also liked (19)

PDF
ユーザー数1人から1000人にするまでのWebサービス開発の進め方
PPTX
Androidアプリ開発の極意
PDF
とりあえず一人で始めてしまおう!ソロ起業のすすめ
PDF
Chrome拡張開発者のためのFirefox拡張開発
KEY
YOCard v4.2
PPT
Fundraising for For-Profits
KEY
Pocket Philippines presentation
PPS
Craciun Fericit
PPT
Latvia PowerPoint Content
PDF
M1. sem web & ontology introd
ODP
Addition
PPTX
Why stop Open Source in the Enterprise?
PPT
Alcohol and Drugs in the Workplace
PDF
Best practices for Flash applications on mobile devices
PPTX
WordPress and PHP - It Takes One to Know One
PDF
Web 2.0 Session introduction
PPTX
Museum learning between physical and conceptual spaces
PPS
Prietenie
PDF
AINL 2016: Grigorieva
ユーザー数1人から1000人にするまでのWebサービス開発の進め方
Androidアプリ開発の極意
とりあえず一人で始めてしまおう!ソロ起業のすすめ
Chrome拡張開発者のためのFirefox拡張開発
YOCard v4.2
Fundraising for For-Profits
Pocket Philippines presentation
Craciun Fericit
Latvia PowerPoint Content
M1. sem web & ontology introd
Addition
Why stop Open Source in the Enterprise?
Alcohol and Drugs in the Workplace
Best practices for Flash applications on mobile devices
WordPress and PHP - It Takes One to Know One
Web 2.0 Session introduction
Museum learning between physical and conceptual spaces
Prietenie
AINL 2016: Grigorieva
Ad

Similar to ExtJSで作るAIRアプリケーション (6)

PPT
2011_9_9_AIR_LightningTalk
PDF
Aneについて
PDF
Scc2013 air
PDF
2011_9_9_AIR_LightningTalk
PDF
2011_9_9_AIR_LightningTalk
PDF
20110909 AKABANA
2011_9_9_AIR_LightningTalk
Aneについて
Scc2013 air
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
20110909 AKABANA
Ad

More from Daisaku Yamamoto (12)

PDF
Developing an interface for blockchain based protocols in decentralized finan...
PDF
MAKE 開発者にとっての 「ものづくり」の意義とは
PDF
MAKE 〜開発者にとっての「ものづくり」の意義とは〜
PDF
シェアリングエコノミーにおける非中央集権的システムでの自律的な仲裁とは
PDF
自分らしいサービスを作ろう - 創業・起業セミナー「顧客課題を見極めて新市場を開拓しよう」(2018年8月31日)
PDF
タイムチケット・タイムコイン発表資料 #トークンエコノミー大阪 信用評価経済時代の独自通貨と経済圏
PDF
自分らしいサービスを作ろう
PDF
失敗しにくいサービスのつくり方 20151006
PDF
Webサービスの立ち上げから開発の裏側まで 〜CoffeeMeetingの事例紹介〜
PPT
みんなでコーヒーミーティング 20120418
PDF
1杯のお茶から始まる可能性 CoffeeMeeting
PPTX
少人数でタスクを共有するときに使えるサービスの紹介
Developing an interface for blockchain based protocols in decentralized finan...
MAKE 開発者にとっての 「ものづくり」の意義とは
MAKE 〜開発者にとっての「ものづくり」の意義とは〜
シェアリングエコノミーにおける非中央集権的システムでの自律的な仲裁とは
自分らしいサービスを作ろう - 創業・起業セミナー「顧客課題を見極めて新市場を開拓しよう」(2018年8月31日)
タイムチケット・タイムコイン発表資料 #トークンエコノミー大阪 信用評価経済時代の独自通貨と経済圏
自分らしいサービスを作ろう
失敗しにくいサービスのつくり方 20151006
Webサービスの立ち上げから開発の裏側まで 〜CoffeeMeetingの事例紹介〜
みんなでコーヒーミーティング 20120418
1杯のお茶から始まる可能性 CoffeeMeeting
少人数でタスクを共有するときに使えるサービスの紹介

ExtJSで作るAIRアプリケーション

  • 1. ExtJS で作る AIR アプリケーション フィードパス株式会社 山本 大策
  • 2. 自己紹介 山本 大策   フィードパス株式会社   tunejaxx http://tunejaxx.com/    tunebuzz http://neupunk.net/tunebuzz/    MIRAI THE FUTURE http://d.hatena.ne.jp/yamamotodaisaku/
  • 8.         音楽動画を簡単に検索・閲覧できる AdobeAIR アプリケーション
  • 9.   AdobeAIR   ×   ExtJS で開発
  • 10. AdobeAIR とは クロスプラットフォームの実行環境 2007/3 Apollo アルファ リリース 2007/6 AIR ベータ リリース 2008/2 AIR1.0  リリース 2008/6 AIR1.1  リリース
  • 11. AdobeAIR が生まれた背景 Web の標準的な技術と、 Flash 技術を組み合わせたリッチインターネットアプリケーション (RIA) をベースにしたデスクトップアプリケーションを提供するために開発された。        
  • 13. AIR の開発工程 AIR プロジェクトの作成  ↓   コードの記述 ↓ テスト・デバッグ ↓ パッケージング (.air) ↓ 公開
  • 14. ExtJS を使った AIR アプリの作り方   HTML + JavaScript + CSS でコードを記述   ↓      Web アプリ開発と同じ     
  • 15. 開発環境 AdobeAIR ランタイム AdobeAIR SDK ExtJS ライブラリ Aptana Studio(AIR プラグイン )
  • 16. AIR プロジェクトの種類 アプリケーション・サンドボックス(デフォルト)     ・ AIR API の利用 … 可能      ・ eval() など動的な機能の使用 … 不可能     ・外部スクリプトの取り込み … 不可能   クラシック・サンドボックス      ・ AIR API の利用 … 不可能      ・ eval() など動的な機能の使用 … 可能      ・外部スクリプトの取り込み … 可能   jQuery はアプリケーション・サンドボックスでも動作する ExtJS はクラシック・サンドボックスで動作させる必要がある   サンドボックスの切換え アプリケーション・サンドボックスの HTML に、 iframe タグを追加する
  • 17. 開発 Aptana で AIR プロジェクトを作成 (non-application sandbox)   アプリケーション・サンドボックス  ・ air.html ・ AIRAliases.js(AIR API のエイリアスを定義 ) ・ air.js(AIR API を利用 )   クラシック・サンドボックス  ・ ui.html ・ ui.js(ExtJS を利用 )
  • 18. air.html <html><head> <meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=utf-8&quot;/> <title>AIR</title> </head><body> <!-- ui.html の取り込み --> <iframe id=&quot;UI&quot; src=&quot;ui.html&quot; sandboxRoot=&quot;http://example.com&quot; documentRoot=&quot;app:/&quot; style=&quot;width:100%; height:100%; border:none&quot;> </iframe> <!-- スクリプトの取り込み --> <script src=&quot;lib/AIRAliases.js&quot;></script> <script src=&quot;air.js&quot;></script> </body> </html>
  • 19. air.js var public_obj = {}; public_obj.saveToLocal = saveToLocal; public_obj.loadFromLocal = loadFromLocal; var e = document.getElementById(&quot;UI&quot;); e.contentWindow. parentSandboxBridge = public_obj; var my_so = air.SharedObject.getLocal (&quot;air&quot;); function saveToLocal (data) { my_so.data.saveData = data; } function loadFromLocal () { return my_so.data.saveData; }
  • 20. ui.html <!-- UI のためのファイル --> <html><head> <meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=utf-8&quot;/> <!-- ExtJS ライブラリの取り込み --> <script src=&quot;lib/ext/adapter/ext/ext-base.js&quot;></script> <script src=&quot;lib/ext/ext-all-debug.js&quot;></script> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;lib/ext/resources/css/ext-all.css&quot;/> <!-- UI 記述プログラムの取り込み --> <script src=&quot;ui.js&quot;></script> </head><body> <div id=&quot;form_div&quot;></div> <div id=&quot;grid_div&quot;></div> </body></html>
  • 21. ui.js Ext.onReady(function(){ // 親で定義された関数を使う // 保存されているデータの読み込み var save_data = window.parentSandboxBridge.loadFromLocal (); }
  • 23. 公開 シームレスインストール AIR ランタイムをインストール ↓ AIR アプリをインストール
  • 24. AIR   ×   ExtJS  の良さ AIR ・既存の Web 技術でクライアントアプリが開発可能 ExtJS ・リッチで高機能な UI     完成度の高いクライアントアプリを手軽に開発可能
  • 25. 参考 Adobe AIR プロフェッショナルガイド