[DCTPE2010] Drupal 遇上行動網路服務

2,681 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,681
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
63
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

[DCTPE2010] Drupal 遇上行動網路服務

  1. 1. 關於 Jimmy Huang 黃雋 2003 2007 2008 2009 Drupal
  2. 2. 大家都用手機上網!
  3. 3. Drupal 的行動裝置解決方案 <ul><li>網頁型解決方案 </li></ul><ul><ul><li>版型 Theme 為主的解決方案 </li></ul></ul><ul><li>跨手機應用程式解決方案 </li></ul><ul><ul><li>以 Web Based 的方式,在手機上與第三方的架構平台整合 </li></ul></ul><ul><ul><li>自行製作程式碼 Custom PHP code </li></ul></ul><ul><li>Service Based 解決方案 </li></ul><ul><ul><li>Service – data provider </li></ul></ul><ul><ul><li>JSON for data attrive. </li></ul></ul><ul><ul><li>XML-RPC login / save </li></ul></ul>
  4. 4. 1. Drupal 版型與 Mobile <ul><li>手機的寬度是? </li></ul><ul><ul><li>320, 480, 800 … 無數種寬度! </li></ul></ul><ul><li>你是用哪一種手機? </li></ul><ul><ul><li>手機偵測 </li></ul></ul><ul><ul><li>瀏覽器偵測 </li></ul></ul><ul><li>你的網站很好搜尋、網址很短? </li></ul><ul><ul><li>讓人可以打開手機瀏覽器後,快速找到你 </li></ul></ul><ul><ul><li>用手機的喜歡打網址 </li></ul></ul><ul><li>Flash 再見… ? </li></ul><ul><ul><li>有多少手機支援 Flash </li></ul></ul><ul><ul><li>漂亮的官網首頁,還是正確的資訊 </li></ul></ul>
  5. 5. 1.1 Mobile (Theme) http:// drupal.org /project/mobile Before After
  6. 6. 1.2 IUI http:// drupal.org/project/iui
  7. 7. 1.3 Mobile Plugin + Mobile Garland http:// drupal.org/project/mobileplugin <ul><li>自動偵測瀏覽器 </li></ul><ul><ul><li>可自訂規則處理瀏覽器 </li></ul></ul><ul><ul><li>可自動處理的瀏覽器資料庫 </li></ul></ul><ul><ul><ul><li>http://drupal.org/project/wurfl </li></ul></ul></ul><ul><ul><ul><li>http:// drupal.org/project/browscap </li></ul></ul></ul><ul><li>自動處理縮圖 </li></ul><ul><li>自訂篩選 css / js </li></ul><ul><li>自訂邊欄區塊處理方式 </li></ul>
  8. 8. 續 .. Before
  9. 9. 續 .. After
  10. 10. 續 ..
  11. 11. 2. 跨手機應用程式解決方案 <ul><li>開發 iPhone 還是 Android 版本? </li></ul><ul><ul><li>都要! </li></ul></ul><ul><ul><li>Mac book + iPhone + Android phone </li></ul></ul><ul><ul><li>Object C + Java + javscripts + ... </li></ul></ul><ul><ul><li>Eclips(android) + Android SDK (free) </li></ul></ul><ul><ul><li>iPhone Developer Program ($99 / year) </li></ul></ul>
  12. 12. 2.1 把 Drupal 當成 API <ul><li>輕鬆簡單便用 PHP 載入 Drupal 函式庫 </li></ul><?php include_once './includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // Then start doing everything by Drupal API // ex: db_query for calling database // ex: filter_xss for filter HTML for output // ex: using imagecache to resize mobile image ?>
  13. 13. 2.2 Front-end Based Framework <ul><li>jQTouch ( http:// jqtouch.com / ) </li></ul><ul><ul><li>JQuery Based </li></ul></ul><ul><ul><li>Support Webkit callback event </li></ul></ul><ul><li>iWebkit ( http:// iwebkit.net / ) </li></ul><ul><ul><li>Build-in iPhone style UI </li></ul></ul>
  14. 14. 2.3 Native Application Generator / Framework <ul><li>Titanium Mobile </li></ul><ul><ul><li>(by Appcelerator) </li></ul></ul><ul><ul><li>Apaceh Public License </li></ul></ul><ul><ul><li>Desktop development kit </li></ul></ul><ul><ul><li>iPhone / Android only </li></ul></ul><ul><li>PhoneGap </li></ul><ul><ul><li>(by Nitobi) </li></ul></ul><ul><ul><li>MIT License </li></ul></ul><ul><ul><li>Most supported </li></ul></ul>JS + PHP? Cross Platform!
  15. 15. 討論: Web Based Cool? <ul><li>Drupal 幾乎無痛 </li></ul><ul><li>開發快速、轉移快速 </li></ul><ul><li>跨手機的可及性 </li></ul><ul><li>不用重新熟悉語言 </li></ul><ul><li>內容型、媒體型最好選擇 </li></ul><ul><li>慢 </li></ul><ul><ul><li>很慢 </li></ul></ul><ul><ul><li>真的很慢 </li></ul></ul><ul><li>沒有網路等於磚塊 </li></ul><ul><li>無法完整與手機整合 </li></ul><ul><ul><li>羅盤? No way </li></ul></ul><ul><ul><li>GPS 定位? No way </li></ul></ul><ul><ul><li>G-Sensor ? No way </li></ul></ul><ul><ul><li>相機? No way </li></ul></ul><ul><ul><li>背景執行? </li></ul></ul><ul><ul><ul><li>Only Native App </li></ul></ul></ul>
  16. 16. 3. Service Based <ul><li>想要提供一個旅遊景點資料搜尋器? </li></ul><ul><li>想要商品比較資料庫? </li></ul><ul><li>想要 … 一杯啤酒!?( BeerCloud ) </li></ul>
  17. 17. 3.1 Service based structure Native Mobile Application Drupal Data Cloud (Service API)
  18. 18. 3.2 Drupal as Data Server <ul><li>XML-RPC </li></ul><ul><ul><li>Traditional </li></ul></ul><ul><ul><li>Cross platform </li></ul></ul><ul><ul><li>Great support for Authentication </li></ul></ul><ul><li>JSON ( prefered ) </li></ul><ul><ul><li>Tiny </li></ul></ul><ul><ul><li>OO Data Structuer </li></ul></ul>
  19. 19. 3.2 Drupal as Services <ul><li>Node </li></ul><ul><ul><li>取出、存取單篇內容 </li></ul></ul><ul><li>Taxonomy </li></ul><ul><ul><li>取出、存取分類表、單則分類 </li></ul></ul><ul><li>User </li></ul><ul><ul><li>登入、登出、取出使用者 </li></ul></ul><ul><li>Views </li></ul><ul><ul><li>取出 Views 列表 </li></ul></ul>
  20. 20. 3.3 Demo with JSON Server
  21. 21. 3.4 Server based references <ul><li>Services </li></ul><ul><ul><ul><li>Default XML-RPC / REST services </li></ul></ul></ul><ul><ul><ul><li>http://drupal.org/project/services </li></ul></ul></ul><ul><li>JSON Server </li></ul><ul><ul><ul><li>JSON data format </li></ul></ul></ul><ul><ul><ul><li>http://drupal.org/project/json_server </li></ul></ul></ul><ul><li>JSON RPC Server </li></ul><ul><ul><ul><li>http:// drupal.org/project/jsonrpc_server </li></ul></ul></ul><ul><li>Google Analysis Service </li></ul><ul><ul><ul><li>Integrate your mobile service statistics by GA API </li></ul></ul></ul><ul><ul><ul><li>http:// drupal.org/project/gaservice </li></ul></ul></ul><ul><li>BeerCloud </li></ul><ul><ul><ul><li>http://drupal.org/node/659772 </li></ul></ul></ul>
  22. 22. 討論:效能? <ul><li>Cache everything </li></ul><ul><li>Memcache </li></ul><ul><li>Load balance / Cloud </li></ul><ul><li>Multiple Database Backend </li></ul>

×