27
OSS 行行行行 -1 專專專專專–專專專專專 專專專專專專 () OVERVIEW 行行行行行行 Apache Callback CH 3 1

開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

1O S S 行 動 領 域 - 1

專案管理軟體–管理與實務 (開放原始碼)

OVERVIEW相關開發框架Apache Callback

CH 3

Page 2: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

2

MOBILE OVERVIEW

• 關於行動開發• 平台種類• 開發技術工具• 優缺點• 遇到問題

Page 3: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

3

MOBILE OVERVIEW關於行動開發

• 螢幕大小• Phone base• Tablet base

• 傳輸頻寬• Bluetooth• 2G/3G• WIFI / WiMAX

• 處理器速度• 1G – 相等於 PC ,但是與同等級 PC 不能相等。設計不同,不是只有

CPU 計算能力。• 儲存空間• 內部儲存 – Flash memory• 外部儲存 – SD Card

Page 4: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

4

MOBILE OVERVIEW

• 平台種類• Symbian OS• Android – Linux base• iOS – Mac OSX base• Windows – Windows Mobile OS

Page 5: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

5

MOBILE OVERVIEW開發技術工具

• Symbian• C/C++• Java ME

• Android• NDK - C/C++• SDK – Java 、 Go and Python

• iOS• Object C++

• Windows• .Net

Page 6: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

6

MOBILE OVERVIEW

• 優缺點• C base• 優勢

• 標準 ANSI• 適用 Android 、 iOS 、 .Net 、 Symbian• 適用於高度效能要求 : 遊戲或是特殊硬體• 如 : Xbox Kinect

• 大量程式庫• 開發驅動程式

• 缺點• 不易學習• 雖然是 ANSI C ,但是不易跨平台。• 難以除錯• 自行管理記憶體管理等其他回收問題

Page 7: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

7

MOBILE OVERVIEW

• Java Base• 優勢

• 適用多個平台 : Symbian OS 、 Android OS 、 Windows OS• 物件導向語言• VM 設計 : 系統自行管理資源• 大量程式庫• 容易開發應用程式

• 缺點• 沒有高度效能要求時• 缺乏驅動程式時,需要廠商開發 JAVA 程式庫支援• JAVA 分支嚴重影響跨平台能力 : Java ME 、 Android Java

• DotNet base• 優點• Windows Base• 大廠支援

• 缺點• 難以跨平台 : Android 需要 Mono 程式庫支援

Page 8: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

8

MOBILE OVERVIEW

• 對於開發人員遇到的挑戰與問題• 不同平台開發難度高• 採用開發工具不同• 分別用不同平台開發,難以維護。• 開發的應用系統難以確保各平台的一致性。• 各家 Market Store 規則不同• 各平台提供的支援與性能不一樣• 各家系統限制不同

Page 9: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

9

MOBILE OVERVIEW

• 既有網站系統如何轉型到行動商務• 解法 1: 開發支援行動瀏覽器的 WEB 系統• 解法 2: 開發 online 行動版 WEB• 解法 3: 開發行動裝置 Native Code 系統• 解法 4: 開發行動裝置 Html 5 Based 系統

Page 10: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

10

MOBILE FRAMEWORK

• 以 Web Browser 為主的開發框架• 現行 WEB 的行動開發框架• jQuery Mobile• JQTouch plugin for Jquery• Sencha Touch• http://www.sencha.com/products/touch/

• App Inventor• http://www.appinventorbeta.com

• NimbleKit• http://www.nimblekit.com

Page 11: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

11

MOBILE FRAMEWORKJQUERY MOBILE

• jQuery Mobile• http://jquerymobile.com/• MIT or the GPL2 license• HTML5-based• Native WebKit Animations• 基於 Jquery framework• jQuery Mobile 1.0 Final• 注意 Requires jQuery core 1.6.4• 切勿使用最新的 jQuery 1.7

Page 12: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

12

MOBILE FRAMEWORKJQUERY MOBILE

• 使用方式 - 宣告語法• 如果是網站版本,就直接線上嵌入官方版本。

• 若為手機版本,請下載與應用程式放在手機端。• 載入快• 避免網路未連線

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

Page 13: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

13

MOBILE FRAMEWORKJQUERY MOBILE

• ThemeRoller for Mobile• http://jquerymobile.com/themeroller• 量身設計專屬的布景設計,基於 CSS3 規格• 下載後,更換宣告中的 CSS 檔案即可立即生效。

Page 14: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

14

MOBILE FRAMEWORKJQTOUCH PLUGIN

• jQTouch• http://jqtouch.com/• MIT License• jQuery 外掛模式• 基於 Jquery framework• 1.0 Beta 3• Native WebKit Animations• Demo• 請使用 iPhone or Android 或是 safrai• http://jqtouch.com/preview/demos/main/#home

Page 15: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

15

MOBILE FRAMEWORKAPP INVENTOR

• App Inventor• http://www.appinventorbeta.com/• MIT License• 針對 Android 平台• 線上設計,類似 VisualBasic 。• 產生方式• 打包成 APK 下載• 產生 Qrcode 線上安裝• 直接安裝在 Phone 上

Page 16: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

16

MOBILE FRAMEWORKAPP INVENTOR

• Blocks Editor• 圖形化視覺開發

Page 17: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

17

MOBILE FRAMEWORKNIMBLEKIT

• Nimblekit• http://www.nimblekit.com• 基於 HTML & Javascript 開發原生碼 iOS apps• 一次購買 $99 美金• 免費版,可在模擬器上開發,不能發布正式版。• 不需要學習 Object-C• Fully supports iPad• 完全 iOS 原生介面• 需要 Mac OSX 開發環境,提供 installer 安裝。• 將 Xcode SDK 包裝成 JavaScript來使用,直接呼叫 iOS核心

API 。• 效能與 Object-C 沒有差異。• 針對 iOS 平台

Page 18: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

18

MOBILE FRAMEWORKNIMBLEKIT

• NKButton• init(x, y, width, height, callback)

function playRadio(){ var radio = new NKInternetPlayer(); radio.playFromURL("http://myradio.com:8000");}var playButton = new NKButton();playButton.init(15, 390, 60, 20, "playRadio");playButton.setImage("play.png");playButton.show();

Page 19: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

19

MOBILE FRAMEWORKSENCHA TOUCH

• Sencha Touch• http://www.sencha.com/products/touch/• 基於 Ext JS framework 架構重新設計,完全為了mobile 重新

設計的框架。• 支援 iPhone, Android, and BlackBerry • 支援 PhoneGap• 支援 Apps Offline (HTML 5)• 採用 WEB 標準設計,因此較為相容性的問題。• 支援各種觸控手勢 Enhanced Touch Events• 提供強大豐富完整的資料處裡元件• 支援 AJAX, JSONP, or YQL

• 滿足企業需求,提供企業支援服務。

Page 20: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

20

MOBILE FRAMEWORKSENCHA TOUCH

• Sencha Touch 與 Jquery 不同• Jquery 是片段 JavaScript API 用來支援與擴充網頁功

能, HTML 是主要元素, JavaScript 是輔助強化。• Sencha 是完全以 JavaScript 為主要程式語言。 HTML所佔的比例則是次要的。

• JQUERY MOBILE 是基於原 JQUERY API 的外掛擴充。• Sencha Touch 是根據MOBILE 重新設計的專屬框架。• Sencha Touch 與其他框架採用 adapter 方式可以良好運作。• 支援 DOJO 、 JQUERY 等 AJAX 框架。

Page 21: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

21

MOBILE FRAMEWORKSENCHA TOUCH

• 授權方式• Open Source License GPLv3• 須提供自己開發的原始碼給使用者

• Commercial Software License (Now Free!)• 不願分享原始碼與散布• 沒有開發 APP 的數量限制

Page 22: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

22

MOBILE FRAMEWORKSENCHA TOUCH

• DEMO• http://dev.sencha.com/deploy/touch/examples/• http://www.sencha.com/products/touch/demos/

• 豐富圖表元件• http://www.sencha.com/products/touch/charts/

Page 23: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

23

APACHE CALLBACK

• PhoneGap , http://www.phonegap.com/• PhoneGap 的前身,已經轉移給 Apache 基金會維護。• http://incubator.apache.org/callback/

• 為何需要 PhoneGap?• WEB 開發若要在行裝置上控制硬體,有很大的困難。• PhoneGap 提供一個包裝機制透過 JavaScript 間接呼叫原生碼的呼叫,以提供與原生開發工具相當的功能。

• PhoneGap 是一個橋接機制。• 兼具 WEB 標準化優勢,網頁開發的技術門檻,容易維護與控制平

台版本。

Page 24: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

24

APACHE CALLBACK

• 支援大部分的平台與裝置• Open Source and Free• Apache License, Version 2.0.

• 不需要學習 Android Java 或 Object-C• 採用 WEB 標準化技術, HTML 5 。• 目前為 Adobe擁有該公司

Page 25: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

25

APACHE CALLBACK

• PhoneGap Plugins• 提供原有機制作為一個外掛模式,來提供無限的擴充能力。任何人都可以開發外掛來支援更多的平台、裝置、程式庫、服務等

• 例如 : Facebook Plugin

• 外掛程式庫• https://github.com/phonegap/phonegap-plugins

Page 26: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

26

APACHE CALLBACK整合

• 基於瀏覽器為基礎的運作• 在 iOS 與 Android 上的 Webkit• 提供硬體驅動的 CSS3 動畫效果

• 基於 PhoneGap整合原有 WEB 行動框架• Jquery• jQTouch• Sencha Touch

Page 27: 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)

27

APACHE CALLBACK

• 開發參考• http://phonegap.com/start

• 建議原文書• PhoneGap Beginner's Guide• Paperback : 328 pages• Release Date : September 2011• ISBN : 1849515360