SlideShare uma empresa Scribd logo
1 de 108
Baixar para ler offline
2011



跨平台行動應用程式
 使用者介面開發
以Titanium Mobile為例

      李易修
李易修 Justin Lee
赫迅互動科技	 使用者經驗架構師
下載了沒?

                      搜尋COSCUP2011



http://goo.gl/FlkFU              http://goo.gl/cN3pZ
The Source is opened


git clone git://github.com/
lis186/COSCUP2011MobileApp.git
以下狀況是否有點眼熟?
我有個Idea
                                             要做成App



http://screenhog.com/blog/2009/07/17/idea/         by Chris Hendricks
&



http://screenhog.com/blog/2009/07/17/idea/       by Chris Hendricks
&



http://screenhog.com/blog/2009/07/17/idea/       by Chris Hendricks
開發速度要快




http://screenhog.com/blog/2009/07/17/idea/       by Chris Hendricks
好短的時間!
Web App
    技術   HTML5+CSS+JS

跨平台能力        強

使用者經驗       尚可

  離線能力       無

整合性與功能       弱

  學習門檻       低

 上架賣錢      沒辦法
Native App
    技術   Java, Objective-C等

跨平台能力           低

使用者經驗          最佳

  離線能力          有

整合性與功能         最佳

  學習門檻          高

 上架賣錢           可
該選哪一個?
Web App   Native App
兩全其美
用熟悉的Web技術
開發Native	 App
Titanium Mobile
開發流程


願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
願景
大會手冊




http://www.flickr.com/photos/othree/4889443021/in/set-72157624717324004   Photo by Othree
紙本手冊的特性



Good      Bad
沒網路也ok   無法更新
資料詳細     無法搜尋
可做記號     不見得會帶
設定期望
讓會眾盡情享受活動,
When&Where這種事就交給
Mobile	 App。
Mobile App要做到

跨平台
沒網路也ok
資料詳細
可做記號
可更新
可搜尋
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
設計
怎麼開始?
先觀察
趕場
  馬上要知道下個活動在哪
https://picasaweb.google.com/lh/view?q=coscup&uname=lis186&psc=G&filter=1&imglic=creative_commons&face=false#5505105241165189650   Photo by iocy
網路不可靠




http://www.flickr.com/photos/othree/4889441807/in/pool-1501134@N21/   Photo by Othree
超大會議廳




http://www.flickr.com/photos/yurenju/4897741695/in/pool-1502528@N22/      Photo by yurenju
座位表
                                                                           我的朋友和正妹坐哪裡?




http://www.flickr.com/photos/38664137@N07/4903778188/in/pool-1501134@N21/         Photo by D.K. CHOU
即時分享
    IRC,Plurk或是twitter




http://www.flickr.com/photos/timchen86/4890800578/in/pool-1502528@N22/   Photo by tim.chen
為使用情境設計

      人




      活動

 環境        產品
使用情境可能隨時間改變
 活動前              找場地                  聽講
     人                 人                人


     找議題              找場地              查詢資訊
                                  會議
家中         App   會場         App    室          App
不同情境,期待不同
 活動前              找場地                  聽講
     人                 人                人


     找議題              找場地              查詢資訊
                                  會議
家中         App   會場         App    室          App




怎麼找?             下一場是?            更多資訊
                 位置在哪?
不同情境,限制不同
 活動前              找場地                  聽講
     人                 人                人


     找議題              找場地              查詢資訊
                                  會議
家中         App   會場         App    室          App




找到哪裡?            邊走邊用             網路不穩定
情境   功能


     ‧顯示所有議程
     ‧標記想聽的內容
     ‧活動提醒...
功能    UI與架構


‧顯示所有議程
‧標記想聽的內容
‧活動提醒...
選一個裝置開始
先SmartPhone後Tablet




 基礎功能
          擴充功能
先iOS後Android


                               240x320

320x480                        240x400
                               240x432
                                     320x480




                                               480x800   1280x800
                                               480x854
           640x960

                     768x102
遵守UI Guideline
哪裡怪怪的?
尊重不同OS的差異
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
開發
Titanium Mobile
Titanium Mobile

‧Open Source (Apache 2.0)
‧支援平台: iOS, Android, BlackBerry(Beta)
‧開發平台: Mac OSX, Windows, Ubuntu
‧SDK: Titanium Mobile SDK 1.7.2
‧開發工具: Titanium Studio 1.04
開發iOS應用程式仍然需要Mac




  {
Javascript原始碼+素材
         Titanium API


                JS to Native Bridge


          Native API



   原生應用程式
只須維護一套原始碼
   Javascript原始碼+素材
   Titanium API
Titanium Mobile的功能
 Native User Experience                Multimedia
 Native performance + Native UI        Camera, video camera,
 (tables, animations, gestures…etc.)   streaming/device audio/video


 Location-based services               Analytics
 Augmented reality, geo-location,      Custom analytics baked into every
 compass, native maps                  application, track usage patterns
                                       and adoption

 Social sharing                        Titanium+Plus
 Authenticated access to Facebook,     Encrypted database, ecommerce,
 Twitter, Yahoo YQL.                   ads, barcode scanners, custom
 Native email/address book             analytics, in-app purchase

 Data                                  Development tools
 Local SQLite data store, web          Create, test, and publish your app
 services, lightweight key/value       using the same tools across
 store                                 platforms
Titanium Studio
   Eclipse-based IDE
專案架構
             helloWorld/
                 build/                                                         原生專案
                     android/
                          ...
                     iphone/
                          ...
                 CHANGELOG.txt
                 LICENSE
                 LICENSE.txt
                 manifest
                 README
                 Resources/                                                     原始碼和其他資料檔
                     android/
                          ...                                                   android專用檔案
                     app.js                                                     起始檔
                     iphone/
                          ...                                                   iphone專用檔案
                     KS_nav_ui.png
                     KS_nav_views.png
                 tiapp.xml                                                      設定檔

http://wiki.appcelerator.org/display/guides/The+Application+Project+Structure
Hello World!
var win = Titanium.UI.createWindow({
    backgroundColor:'#fff'
});

var label = Titanium.UI.createLabel({
    text: 'Hello World!',
    textAlign: 'center'
});

label.addEventListener('click', function(e){
    Titanium.API.info('label clicked!');
});

win.add(label);
win.open();
給web開發者的祕訣
‧所有的UI由Javascript建立
‧沒有DOM,不用JQuery
‧window相當於瀏覽器視窗
‧view相當於div
‧事件處理同樣是用AddEventListener
UI元件的使用
共有的元件
Titanium.UI.TabGroup
特有的元件
Titanium.UI.iPad.Popover
模擬特有的元件
TabbedBar   Button
區分不同裝置
Titanium.Platform.osname
//iphone, ipad, android

Titanium.Platform.version
為不同螢幕最佳化
解析度(Resolution)


                              240x320

320x480                       240x400
                              240x432
                                    320x480




                                              480x800   1280x800
                                              480x854
          640x960

                    768x102
密度(Density)




http://www.engadget.com/2010/06/22/iphone-4-review/
為不同螢幕準備素材

     iOS           Android
retina   normal   hdpi   mdpi

                                ldpi
從大做到小
注意可讀性
為不同螢幕準備素材
   Android 用路徑區分
     res-long-port-hdpi
     res-long-port-mdpi
     res-long-port-ldpi

   iOS 用檔名區分
      Starred@2x.png
      Starred.png
長度單位
var view = Titanium.UI.createView({
width: 100, //Pixel
height: '100dp',//Density independence
});

win.add(view);
win.open();
考慮大螢幕能做什麼
處理不同方向
Titanium.Gesture.addEventListener('orientationchange', function (e) {
            switchLayout(e.orientation);
          });
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
測試
不要只靠模擬器
模擬器測不出...
記憶體不足
肥手指問題
多測不會錯
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
發佈
上架等待時間
10天   數小時
iOS先行
          開發    審核   上架
   iOS

Android
               開發    上架
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
願景   設計   開發   測試   發佈
Titanium Mobile
快速上手+原生+跨平台
8/27
Titanium Mobile全日體驗營
  http://ti.herxun.co
COSCUP2011
     by Justin Lee




                     謝謝!
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例

Mais conteúdo relacionado

Destaque (8)

基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en
基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en
基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
iOS中Lua脚本的应用
iOS中Lua脚本的应用iOS中Lua脚本的应用
iOS中Lua脚本的应用
 
Hackatron - UIKit Dynamics
Hackatron - UIKit DynamicsHackatron - UIKit Dynamics
Hackatron - UIKit Dynamics
 
20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介
 
Objective C Tricks
Objective C TricksObjective C Tricks
Objective C Tricks
 
Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules
 
Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析
 

Semelhante a 2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例

第一次 Mobile App 就上手
第一次 Mobile App 就上手第一次 Mobile App 就上手
第一次 Mobile App 就上手
Ying-Hsiang Liao
 
[DCTPE2010] Drupal 遇上行動網路服務
[DCTPE2010] Drupal 遇上行動網路服務[DCTPE2010] Drupal 遇上行動網路服務
[DCTPE2010] Drupal 遇上行動網路服務
Drupal Taiwan
 
App Developer Team Learning Map
App Developer Team Learning MapApp Developer Team Learning Map
App Developer Team Learning Map
Ryan Chung
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
zhengyiwuxian
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
MOBINODE
 
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
Tom Fan
 
App狂潮來襲!你做好準備了嗎?
App狂潮來襲!你做好準備了嗎?App狂潮來襲!你做好準備了嗎?
App狂潮來襲!你做好準備了嗎?
Ryan Chung
 
iPhone/iPad APP Development Class 101
iPhone/iPad APP Development Class 101iPhone/iPad APP Development Class 101
iPhone/iPad APP Development Class 101
Ryan Chung
 
Make an i os application
Make an i os applicationMake an i os application
Make an i os application
froooo
 
20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe
Justin Lee
 
移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发
fangdeng
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
36Kr.com
 

Semelhante a 2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例 (20)

第一次 Mobile App 就上手
第一次 Mobile App 就上手第一次 Mobile App 就上手
第一次 Mobile App 就上手
 
[DCTPE2010] Drupal 遇上行動網路服務
[DCTPE2010] Drupal 遇上行動網路服務[DCTPE2010] Drupal 遇上行動網路服務
[DCTPE2010] Drupal 遇上行動網路服務
 
App Developer Team Learning Map
App Developer Team Learning MapApp Developer Team Learning Map
App Developer Team Learning Map
 
初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf
 
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
 
炎炎夏日學 Android 課程 - Part2: Android 元件介紹
炎炎夏日學 Android 課程 - Part2: Android 元件介紹炎炎夏日學 Android 課程 - Part2: Android 元件介紹
炎炎夏日學 Android 課程 - Part2: Android 元件介紹
 
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
 
App狂潮來襲!你做好準備了嗎?
App狂潮來襲!你做好準備了嗎?App狂潮來襲!你做好準備了嗎?
App狂潮來襲!你做好準備了嗎?
 
iPhone/iPad APP Development Class 101
iPhone/iPad APP Development Class 101iPhone/iPad APP Development Class 101
iPhone/iPad APP Development Class 101
 
110929 kn-手机软件测试
110929 kn-手机软件测试110929 kn-手机软件测试
110929 kn-手机软件测试
 
Make an i os application
Make an i os applicationMake an i os application
Make an i os application
 
20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
 
Jason 專案經驗 (20170725)
Jason 專案經驗 (20170725)Jason 專案經驗 (20170725)
Jason 專案經驗 (20170725)
 
移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
 
行動技術開發概論
行動技術開發概論行動技術開發概論
行動技術開發概論
 

Mais de Justin Lee

20130614 Titanium簡介@政大資科
20130614 Titanium簡介@政大資科20130614 Titanium簡介@政大資科
20130614 Titanium簡介@政大資科
Justin Lee
 
Android 4.0 UI Design Tips
Android 4.0 UI Design TipsAndroid 4.0 UI Design Tips
Android 4.0 UI Design Tips
Justin Lee
 
UI於現階段與未來的應用趨勢
UI於現階段與未來的應用趨勢UI於現階段與未來的應用趨勢
UI於現階段與未來的應用趨勢
Justin Lee
 
談如何發展具有破壞力的創新構想
談如何發展具有破壞力的創新構想談如何發展具有破壞力的創新構想
談如何發展具有破壞力的創新構想
Justin Lee
 
Interaction Design & Industrial Design In 3C Industry
Interaction Design & Industrial Design In 3C IndustryInteraction Design & Industrial Design In 3C Industry
Interaction Design & Industrial Design In 3C Industry
Justin Lee
 

Mais de Justin Lee (20)

2023/04/19 學習中的AI 如何幫助孩子有效學習
2023/04/19 學習中的AI 如何幫助孩子有效學習2023/04/19 學習中的AI 如何幫助孩子有效學習
2023/04/19 學習中的AI 如何幫助孩子有效學習
 
2014/01/12 旅人的府城漫步
2014/01/12 旅人的府城漫步2014/01/12 旅人的府城漫步
2014/01/12 旅人的府城漫步
 
20130614 Titanium簡介@政大資科
20130614 Titanium簡介@政大資科20130614 Titanium簡介@政大資科
20130614 Titanium簡介@政大資科
 
20130604 Prototype Driven Design@Computex 2013 智慧手持裝置論壇 I 加拿大人機介面技術發展與經驗分享
20130604 Prototype Driven Design@Computex 2013 智慧手持裝置論壇 I  加拿大人機介面技術發展與經驗分享20130604 Prototype Driven Design@Computex 2013 智慧手持裝置論壇 I  加拿大人機介面技術發展與經驗分享
20130604 Prototype Driven Design@Computex 2013 智慧手持裝置論壇 I 加拿大人機介面技術發展與經驗分享
 
2013/05/19 Sketching with code@JSDC2013
2013/05/19 Sketching with code@JSDC20132013/05/19 Sketching with code@JSDC2013
2013/05/19 Sketching with code@JSDC2013
 
[ICOS2013] Appcelerator Titanium簡介
[ICOS2013] Appcelerator Titanium簡介[ICOS2013] Appcelerator Titanium簡介
[ICOS2013] Appcelerator Titanium簡介
 
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
 
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
 
Android 4.0 UI Design Tips
Android 4.0 UI Design TipsAndroid 4.0 UI Design Tips
Android 4.0 UI Design Tips
 
UI於現階段與未來的應用趨勢
UI於現階段與未來的應用趨勢UI於現階段與未來的應用趨勢
UI於現階段與未來的應用趨勢
 
2011/09/16 Taiwan UX Summit: App設計實戰:在開始寫程式之前
2011/09/16 Taiwan UX Summit: App設計實戰:在開始寫程式之前2011/09/16 Taiwan UX Summit: App設計實戰:在開始寫程式之前
2011/09/16 Taiwan UX Summit: App設計實戰:在開始寫程式之前
 
2011/06/21 Microsoft Developer Day 2011—Design Decade
2011/06/21 Microsoft Developer Day 2011—Design Decade2011/06/21 Microsoft Developer Day 2011—Design Decade
2011/06/21 Microsoft Developer Day 2011—Design Decade
 
HP19 Mobile Design: 為行動使用者設計
HP19 Mobile Design: 為行動使用者設計HP19 Mobile Design: 為行動使用者設計
HP19 Mobile Design: 為行動使用者設計
 
Sketching User Experience—Video Sketching
Sketching User Experience—Video SketchingSketching User Experience—Video Sketching
Sketching User Experience—Video Sketching
 
How I Use Google Technology to Enhance Travel Experience
How I Use Google Technology to Enhance Travel ExperienceHow I Use Google Technology to Enhance Travel Experience
How I Use Google Technology to Enhance Travel Experience
 
20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension
 
談如何發展具有破壞力的創新構想
談如何發展具有破壞力的創新構想談如何發展具有破壞力的創新構想
談如何發展具有破壞力的創新構想
 
Interaction Design & Industrial Design In 3C Industry
Interaction Design & Industrial Design In 3C IndustryInteraction Design & Industrial Design In 3C Industry
Interaction Design & Industrial Design In 3C Industry
 
Web 3.0 Intro
Web 3.0 IntroWeb 3.0 Intro
Web 3.0 Intro
 
USB 3.0 Intro
USB 3.0 IntroUSB 3.0 Intro
USB 3.0 Intro
 

2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例