可能很多人不知道,規(guī)模大的企業(yè)和IT預算多的企業(yè)的移動App大部分都是基于混合模式開發(fā)實現(xiàn)的。
很多做App開發(fā)的技術人員會存在一種偏見,覺得“采用混合模式,基于HTML5技術開發(fā)出來的App,體驗以及功能會和原生模式開發(fā)的存在差距”,所以更愿意使用原生模式開發(fā)App。
其實市場上主流的App,絕大部分是基于混合模式開發(fā)的。最典型的就是微信,除了聊天功能以外,包括公眾號、小程序等都是由混合模式開發(fā)技術實現(xiàn)的。再比如電商領域的淘寶、京東等,旅游領域的攜程,教育領域的VipKid,信息分類的58等不同應用范圍的App,混合模式開發(fā)技術使其商品展示及線上市場活動的運營管理都變得非常靈活。此外,在航空、保險、銀行等行業(yè)中,無論是服務客戶的toC模式App,還是對員工進行管理的toE和toB的App,多是使用混合模式開發(fā)的,混合模式開發(fā)技術成為了絕對主力。
人們不禁要問“為什么這些公司和企事業(yè)單位,有著足夠的預算和開發(fā)資源,還要選擇混合模式App開發(fā)技術作為企業(yè)互聯(lián)網化的支撐?”答案其實和企業(yè)的互聯(lián)網化及數(shù)字化的需求有著直接的聯(lián)系。以下4個方面,決定了越有實力的企業(yè)越需要混合模式App開發(fā)技術;同時,也是混合模式App開發(fā)技術形成不同行業(yè)解決方案的根本優(yōu)勢和企業(yè)選擇的必要性所在。
速度的要求
“試錯”這個詞不但在互聯(lián)網公司中廣為流傳,在傳統(tǒng)公司的互聯(lián)網化過程中也被廣泛接受。
越來越多的CIO在談各自企業(yè)移動戰(zhàn)略的時候,都會提到“能否根據(jù)業(yè)務部門的一個想法,先在一周之內做個原型,快速實現(xiàn),拿出去讓大家看看,然后基于這個原型再修改”。這種快速發(fā)起、快速驗證、快速調整的方法,已經非常流行。之所以要在短時間內先把業(yè)務從想法落到現(xiàn)實,哪怕App粗糙些,也要先實現(xiàn)出來,原因在于具有鮮明企業(yè)個性的業(yè)務的創(chuàng)新想法可能沒有先例可循,很難考慮得特別完整。與其花費三五個月不停地思考業(yè)務需求,還不如用一兩個星期先把基礎的想法落實。哪怕短時間內做出的App并不能真正滿足業(yè)務的需要,但是可以讓業(yè)務人員的想法在這個過程中變得有據(jù)可依、有的放矢,從而為實現(xiàn)更完整且更切實可行的業(yè)務方案先行探索。
“業(yè)務部門的一個想法,IT部門一兩周就做出來了!”這對于企業(yè)的信息化負責人而言,是很重要的褒獎。這種對速度的要求,恰恰是混合模式開發(fā)技術最明顯的特長和優(yōu)勢,一套代碼可同步生成iOS與Android兩個平臺的App,甚至還能部分兼容微信公眾號和小程序。一套代碼,并不代表偷懶或工程技術的簡化,而更多的是因其不僅節(jié)省了代碼編寫的時間,還避免了多個技術團隊之間跨知識結構的協(xié)同問題,不再需要iOS與Android工程師們開會討論差異性問題,更是大幅節(jié)省了App與服務器端聯(lián)機調試的時間成本。但如果同樣的功能,同樣從零開始,使用傳統(tǒng)的原生開發(fā)技術基本沒有辦法在一兩個星期內完成有價值業(yè)務需求的實現(xiàn),因為這個時間可能連不同終端碎片化和差異化的問題都不足以解決。所以,CIO為了滿足業(yè)務發(fā)展的需求和數(shù)字化速度的要求,在移動戰(zhàn)略中往往都會規(guī)劃使用跨平臺的混合模式App開發(fā)技術。
業(yè)務靈活性的要求
在PC時代的B/S架構中,想要實現(xiàn)IT系統(tǒng)的更新并不需要過多地考慮用戶端的影響。因為作為用戶入口的瀏覽器一直處于訪問網絡的狀態(tài),只要網絡連通,用戶隨時訪問網站都會獲得最新的功能和業(yè)務。對用戶而言,并不真正地存在版本的概念。只要訪問服務器,服務器的任何更新都可以隨時展示到用戶界面上,出現(xiàn)使用問題時,往往只需要清空一次瀏覽器Cookie基本就可以解決。
但是在移動時代,用戶對版本的概念變得越發(fā)敏感。而對App的版本管理也成了CIO頭痛的問題。通常因為軟件開發(fā)商能力的制約,或者一些無法避免的bug,讓一些已發(fā)布的App變得難用甚至會崩潰。此外,一些臨時的市場活動、很少但重要的功能、一些不在規(guī)劃內的產品需求調整等情況,都會直接引出同一個問題“用戶必須更新一個版本,重新下載安裝,才能滿足上述需求”。這種看似日常的版本發(fā)布和用戶更新,恰恰是傳統(tǒng)企業(yè)信息化過程中面臨的全新問題。
“能否像傳統(tǒng)瀏覽器那樣,用戶打開的永遠是最新的服務和功能?”很多企業(yè)的CIO問出了相同的問題,于是大量的、不合規(guī)的軟件服務商和IT程序員想出了一個“偷懶”的模式。在App中嵌入一些WebView,將一些功能采用傳統(tǒng)網頁的模式,訪問服務器,動態(tài)獲取。雖然表面上解決了版本更新的問題,實則產生了大量體驗很差的App。
企業(yè)對業(yè)務靈活性的要求,本質是希望像微信小程序一樣,可以隨時發(fā)布一些新的功能,隨時動態(tài)增改一些功能的入口,讓用戶任意使用,同時讓用戶的體驗更好。這種對業(yè)務靈活性的需求其實需要像小程序一樣有強大的混合模式App開發(fā)技術來支撐。從而達成“增量更新”“靜默更新”“打開獲得新功能和新體驗”,而不是嵌套WebView,用網頁模擬App的方法,以較差的用戶體驗的代價換取業(yè)務靈活的可行性。
當然,目前傳統(tǒng)模式開發(fā)的App,特別是用Android開發(fā)的App也開始部分支持動態(tài)更新。這也恰恰說明,業(yè)務靈活性是企業(yè)互聯(lián)網化、數(shù)字化進程的剛需。只是由于傳統(tǒng)技術的制約以及軟件開發(fā)團隊或者服務商能力的限制,真正的原生動態(tài)更新始終沒有辦法大規(guī)模進入企業(yè),實現(xiàn)商用。這也讓企業(yè)對混合模式App開發(fā)技術的需求更為迫切,成為每個CIO的必備選項。
集中管理的要求
業(yè)務部門的互聯(lián)網化意識是因為互聯(lián)網的廣泛普及被帶動起來的。所以,傳統(tǒng)的由IT部門主導企業(yè)信息化的態(tài)勢發(fā)生了微妙的變化。過去,都是由IT部門發(fā)起信息化需求,但現(xiàn)在的IT部門越來越像“服務部門”。因為業(yè)務團隊在不停地發(fā)起各種各樣“業(yè)務 互聯(lián)網”的信息化需求。這個時候,很多傳統(tǒng)企業(yè)的IT部門領導,沒認識到自己角色的轉變,如果還存有拖延、不管不問、你們自己搞不定等類似的想法,就會導致當下很多企業(yè)的信息化面臨的“各種移動App的徹底碎片化”“各個業(yè)務部門自己找軟件開發(fā)商實現(xiàn)各自的需求”等問題。這不但架空了IT部門的信息化主導地位,更麻煩的是,讓后續(xù)的集中管理變得艱難無比。幾十家甚至上百家不同標準的服務摻雜在企業(yè)的核心系統(tǒng)中,甚至有些業(yè)務部門為了快速滿足自己的需求而脫離了IT部門主導的傳統(tǒng)PC核心系統(tǒng),這些操作都是非常危險的。
IT部門在被業(yè)務部門要求滿足業(yè)務的互聯(lián)網化需求時,往往發(fā)現(xiàn)心有余而力不足。IT部門人手有限,實在沒辦法逐一滿足所有業(yè)務部門的移動化需求。如果不管,就會產生前面所提到的“技術棧、開發(fā)商”碎片化的問題。這個時候,基于混合模式App開發(fā)技術的移動應用平臺,就很好地解決了這二者之間的矛盾。
定標準,從而實現(xiàn)“集中管理”。如果企業(yè)能夠制訂一套統(tǒng)一的混合模式App開發(fā)技術和移動平臺標準,各個業(yè)務部門就可以獨立尋找自己的軟件開發(fā)商,用各種方法滿足自己的移動業(yè)務需求。平臺的一致性可以帶來標準化的統(tǒng)一。這其中包括技術標準化、開發(fā)流程標準化、代碼管理標準化、項目管理標準化、驗收標準化、管理和運營標準化等。
既要放,也要抓。這就是互聯(lián)網時代企業(yè)信息化的要求,更是IT部門的職責?;旌夏J紸pp開發(fā)技術,有望成為實現(xiàn)企業(yè)移動戰(zhàn)略的利器之一。
信息化安全的要求
企業(yè)互聯(lián)網化帶來的最根本轉變就是,內網的信息化變成了外網的互聯(lián)網化。
傳統(tǒng)信息化一般包括內網、固定場所、固定網絡環(huán)境和固定的設備等關鍵詞。而移動戰(zhàn)略背景下的企業(yè)互聯(lián)網化,則同時包括外網、隨時、隨地、員工個人設備、4G和Wi-Fi等關鍵詞。這些不起眼的變化,給企業(yè)的業(yè)務帶來的卻是天翻地覆的調整。
移動設備管理軟件(Mobile Devices Management,MDM)曾風靡一時,但是購買了MDM的企業(yè)幾乎無一例外地發(fā)現(xiàn)其很難推進。因為MDM伴隨著員工自帶設備(Bring Your Own Device,BYOD)。如果用企業(yè)的管理軟件來管理員工個人設備,肯定會有很多人反對。所以,大部分的MDM最終草草收場,只是管理了企業(yè)自己購買的一些移動設備。
企業(yè)移動化、互聯(lián)網化的安全怎么保障? 這要滿足3個層面的安全,即設備安全、傳統(tǒng)安全和云端安全。
混合模式App開發(fā)技術可以實現(xiàn)類似于企業(yè)應用商店(如微信公眾號)的動態(tài)權限綁定和授權模式,能夠支持特定設備、特定的人,也可以選擇不同的子應用。此外,還可以實現(xiàn)隨著用戶工作內容的調整,根據(jù)設備編碼和用戶權限來實時分配全新子應用的功能。
這種基于企業(yè)移動應用商店的“子應用”模式,也是混合模式App開發(fā)技術成為企業(yè)移動戰(zhàn)略支撐的關鍵。因為做得好的企業(yè)應用商店,不僅能夠滿足傳統(tǒng)原生模式開發(fā)的App所不能賦予企業(yè)的、對各種安全性的需求,還實現(xiàn)了對業(yè)務靈活性的管理目的。
apiCloud作為中國主流的混合模式App開發(fā)技術服務提供商,一直在以布道者的身份推進混合技術在國內的發(fā)展和應用。我們不僅提供技術,也提供商業(yè)服務,因此會更多地深入到大量的商業(yè)用戶中去,如海爾、春秋航空、英特爾、中信證券、上汽等。我們的團隊結合不同的商業(yè)場景和實際的商業(yè)客戶需求,編寫了《30天App開發(fā)從0到1:APICloud移動開發(fā)實戰(zhàn)》,希望能夠為不同規(guī)模的企業(yè)在移動信息化和互聯(lián)網化進程中提供有價值的參考,同時也能夠讓從事App開發(fā)的技術人員有更多可借鑒的實戰(zhàn)經驗。
?
《30天App開發(fā)從0到1:APICloud移動開發(fā)實戰(zhàn)》
鄒達, 李德興 著
主要內容
本文從總體上介紹APICloud平臺,包括APICloud應用的開發(fā)模式、設計思想、控制臺使用流程等,并以一個HelloWorld App為例讓讀者體驗一個完整的APICloud App的開發(fā)流程。
學習目標
(1)了解APICloud平臺,了解APICloud相關的學習資源、入門資料和常見的問題。讓沒有接觸過APICloud平臺的讀者,對平臺有一個基礎的了解;讓學習過APICloud并且已掌握一部分技能的讀者,通過本文的學習,可以快速找到需要的資料和解決問題的方法。
(2)學習如何在APICloud平臺上創(chuàng)建、修改、調試、編譯和運行一個最簡單的APICloud App。掌握APICloud App完整的開發(fā)流程。
要對APICloud平臺做一個全面的介紹,需要花很長的時間和很多的篇幅來講解每一個細節(jié),而本文作者希望能用更多的篇幅來講解一個App的實際開發(fā)過程,講解具體的代碼實現(xiàn)。所以,本文在介紹APICloud平臺的時候,是通過拋出一個個問題,然后告訴讀者應該到哪兒去找對應的學習資源,到哪兒能夠找到解決問題的方案。
1.1 APICloud平臺介紹
本文將從APICloud可以做什么,如何獲取使用幫助,APICloud的技術、產品和生態(tài)等多個方面對APICloud平臺加以介紹。
1.1.1 查看APICloud平臺能力
開發(fā)者在接觸一個開發(fā)平臺的時候,通常第一個想法就是去查看這個平臺的能力。特別是那些想做App的、有著明確需求的開發(fā)者,他們會非常關心自己的需求在這個開發(fā)平臺上是否能夠滿足。所以,本文開篇就先來解決這個開發(fā)者普遍關心的問題,讀者可以帶著自己預先想好的需求來了解APICloud平臺,了解如何能夠快速地在APICloud平臺上查找相關的能力。
1.通過官方文檔快速搜索功能模塊
查看APICloud平臺提供的能力,一個最基礎也是最有效的方法就是查看APICloud的API文檔。
APICloud官方網站中的文檔頁面如圖1-1所示。如需要查看視頻播放的功能,可以在文檔中搜索“視頻播放”,搜索結果如圖1-2所示,可以看到在APICloud平臺上有多種提供視頻播放功能的模塊,如videoPlayer(播放本地視頻)、moviePlayer(播放網絡視頻)、polyvPlayer(保利威視播放器)、baiduPlayer(百度播放器)等。
?
圖1-1 ?
圖1-2
點擊其中一個搜索結果,查看模塊的詳細文檔。比如點擊“videoPlayer”之后可以看到這個模塊對于視頻播放提供了很多API,這些API基本覆蓋了一個視頻播放器所有常見的功能,如圖1-3所示。
?
圖1-3
再比如要查找支付功能,可以在文檔中搜索“支付”,通過搜索結果可以看到在APICloud平臺上有很多個提供支付功能的模塊,如aliPay(支付寶)、wxPay(微信支付)、unionPay(銀聯(lián)支付)、paypal(PayPal支付)、iap(iOS應用內支付)等;也有ping 、beeCloud等第三方聚合類的支付模塊。點擊每個模塊均可以查看具體的API詳情。
讀者想了解APICloud平臺有哪些能力,最簡單的方法就是到APICloud官方文檔中去搜索相應的功能,這樣就可以一目了然地知道APICloud平臺有沒有相應的模塊來支持自己想要的功能。
2. APICloud能力支撐體系
目前在APICloud平臺上已經提供了600多個模塊,上萬個API。這些API基本可以覆蓋一款App所需的所有常用功能,為方便表述,它們被分為“平臺使用”“基礎功能”“界面布局”“設備特性”“功能擴展”和“開放服務”六大類,其分類與具體包含內容如圖1-4所示。
?
圖1-4
1.1.2 開發(fā)模式、技術語言和平臺定位
很多APICloud初學者會關心這些問題:APICloud App的開發(fā)模式是什么樣的、使用什么技術語言、目前自己的開發(fā)團隊是否適合使用APICloud開發(fā)App、整個APICloud的學習曲線是什么樣的、入門簡不簡單等。
1.開發(fā)模式和技術語言
APICloud應用的開發(fā)模式是使用標準的HTML、CSS和JavaScript APICloud擴展API來進行App開發(fā),如圖1-5所示。APICloud的App開發(fā)使用的是標準的HTML5技術,針對標準HTML5所不具備的功能或是用HTML5實現(xiàn)體驗不好的功能(這些功能也是開發(fā)者在App開發(fā)過程中非常常用的功能)。APICloud提供了600多個擴展模塊和上萬個API,通過這些模塊和API來擴展HTML5的功能,滿足App的開發(fā)需求。
?
圖1-5
2.擴展API調用方式
APICloud擴展API的調用方式與調用標準的JavaScript方法是完全一樣的。APICloud引擎的核心API是放在window.api這個對象下面的,這個對象是APICloud在JavaScript全局作用域內擴展的唯一一個對象,可直接調用。如果想調用某個模塊下面的方法,可以通過require的方式動態(tài)引入,通過在api.require方法的參數(shù)中指定某個模塊的名稱來引入相應的模塊,然后調用模塊下面的方法,具體演示如下。
1 //核心API在window.api對象下,可以直接調用 2 api.methodName(param, callback); 3 //擴展模塊需要require引入,遵守CommonJS規(guī)范 4 var module = api.require(\’moduleName\’); 5 module.methodName(param, callback); 6 param: {} //參數(shù),是一個JSON對象 7 callback: function(ret, err){} //回調函數(shù),是一個Function對象,異步方法調用的結果通過此函數(shù)返回<br>
所有API的調用方式都是相同的,第一個參數(shù)是一個JSON對象,承載著要傳遞給模塊的信息;第二個參數(shù)是一個callback函數(shù)。APICloud大部分的API調用都是異步方式,在調用的時候,要指定一個callback函數(shù),當這個API操作完成時,操作結果將通過該callback函數(shù)回調。
一些常用的調用方式,比如打開一個新窗口,可以調用api.openWin();打開通訊錄可以調用api.openContacts(),錄音、圖片緩存等也是調用相應的方法。如果想去加載文件系統(tǒng)模塊,可以通過api.require(\”fs\”)來加載fs模塊,然后調用fs模塊下面的方法。使用條碼掃描模塊也是類似的。示例如下。
●打開新窗口:api.openWin()。
●打開系統(tǒng)通訊錄:api.openContacts()。
●錄音:api.startRecord()。
●緩存網絡圖片:api.imageCache()。
●加載fs模塊:var fs = api.require(\’fs\’)。
●新建一個文件:fs.createFile()。
●加載二維碼/條形碼掃描模塊:var scanner = api.require(\’FNScanner\’)。
●打開二維碼/條形碼掃描:scanner.openScanner()。
APICloud技術是基于標準的HTML、CSS和JavaScript技術,并在標準的JavaScript基礎上擴展了一個核心對象-api對象和數(shù)百個模塊。這些模塊可以使用api.require函數(shù)載入,并使用操作標準JavaScript對象的方式調用上述模塊列舉出方法。
3.擴展API的作用
讀者可能會問,APICloud為什么要擴展這么多API呢?其實APICloud所擴展的API都是標準的JavaScript所不支持的方法,或是用標準HTML5來實現(xiàn)但體驗不好的功能。讀者可以把HTML5理解成一門技術、一門語言,但是它還沒有達到一個平臺的水平。這就是APICloud為什么要做這些擴展。APICloud所有的擴展主要是圍繞以下這4個方面進行的。
兼容性:在PC互聯(lián)網時代,瀏覽器具有多種內核,JavaScript框架產生的最初原因就是為了實現(xiàn)JavaScript代碼在各種瀏覽器上的兼容和適配。在移動互聯(lián)網時代,雖然在主流的手機系統(tǒng)中,Android和iOS的瀏覽器內核都是webkit,但是出于商業(yè)原因,谷歌從webkit中建立了一個新的分支,叫blink?,F(xiàn)在兩個分支的主要貢獻者分別是蘋果和谷歌,所以未來這兩個內核的兼容性問題會一直存在。
實用性:
Page不等于App,標準的HTML、CSS和JavaScript規(guī)范更多是用來定義網頁和文檔的,例如現(xiàn)在的一些框架都在講SPA結構,它是以單頁面為主的,很多HTML標簽是針對于文本信息展示的;而App則不然,App更多是強調功能和體驗,在原生系統(tǒng)中有很多的組件,HTML5標簽和Native組件的設計規(guī)范是完全不同的。所以,想用標準的HTML5技術開發(fā)一個App是不現(xiàn)實的,人們不能直接把為WebPage所制定的規(guī)范直接搬到App上。
B/S架構與Client/Cloud架構:在PC互聯(lián)網時代,終端產品的主要架構還是B/S架構;但是在移動互聯(lián)網時代,終端產品的主要類型是App,而App是一個完整的Client/Cloud架構。在移動端,實現(xiàn)界面和功能,在云端提供數(shù)據(jù)和服務。頁面布局是存放在移動端的,功能實現(xiàn)也是在移動端完成,所以用戶在使用時可以感受到App的啟動、頁面渲染和布局展示是很快響應的。
速度、交互和體驗:這3個問題是用HTML5技術直接開發(fā)App的最大挑戰(zhàn)。其實,如果使用HTML5技術實現(xiàn)一個界面,渲染之后顯示出來,用戶看到這個界面時并不能立刻分辨出它是用HTML5實現(xiàn)的還是用Native技術實現(xiàn)的。但是當用戶做一個交互,點擊一下,體驗一下響應速度或者做一個手勢,觸發(fā)一個動畫,這時用戶就可以非常清楚地感受到,并能分辨出該界面是用Native技術開發(fā)的還是用HTML5開發(fā)的。所以速度、交互和體驗也是使用HTML5技術開發(fā)App必須去解決的問題。
持續(xù)性、靜態(tài)標準與動態(tài)標準:HTML5的定稿花了7年時間,并且整個標準的迭代是緩慢的;而Android和iOS每一次版本更新都會新增很多功能,這些新增的恰恰都是當前行業(yè)里最需要的功能,但這些功能很難快速通過制定新的HTML5標準進行更新,并在各個瀏覽器里支持起來。那會是一個非常漫長的過程。
擴展性:在開發(fā)一款App的時候,開發(fā)人員需要擴展很多的功能,有時候要和行業(yè)特點結合,有時候還要跟硬件結合,這就會用到大量國內的開放服務,如推送、直播、智能識別等。所有的這些功能,標準的HTML5規(guī)范中都沒有定義,所有的標準瀏覽器引擎也沒有默認支持。
總的來說,APICloud擴展的所有功能都是標準HTML5所沒有的,如果HTML5有并且在App中運行起來沒有任何問題,APICloud平臺也沒有必要去做這個擴展。APICloud所有擴展的功能其實就是為了去解決HTML5在兼容性、實用性、持續(xù)性和擴展性等方面的問題。
4.模塊Store
在APICloud模塊Store中可以查看APICloud平臺擴展的所有功能,如圖1-6所示。
?
?? 圖1-6
5. APICloud平臺定位
APICloud是一個中間層,是在應用程序和系統(tǒng)之間的一層,在這一層中,APICloud聚合了開發(fā)一款App所需要的所有系統(tǒng)調用、開放服務和擴展功能,然后以統(tǒng)一API的形式提供給開發(fā)者調用。這就是APICloud平臺的定位,如圖1-7所示。
?
?? 圖1-7
1.1.3 技術、產品、生態(tài)、案例和商業(yè)模式
這部分有大量的內容需要給讀者介紹,但是本文不想為此占用大量的篇幅。讀者可以通過APICloud官網公開課的視頻來詳細了解。在官方視頻教程2中有幾百集的課程,其中“APICloud視頻之初級代碼篇第1~3講”通過幾小時的視頻給讀者詳細介紹了APICloud技術、產品、商業(yè)模式、案例以及生態(tài)的方方面面,如果讀者是第一次接觸APICloud,我們建議花一定的時間去觀看這些公開課的視頻。
在官方網站中,“開發(fā)者社區(qū)”標簽下。
在官方的視頻教程中。
1.1.4 開發(fā)者服務體系
開發(fā)者在選擇或者使用一個平臺的時候,一定會遇到很多的問題。遇到問題時應該如何解決?此外,開發(fā)者還會關心這個平臺在提供技術的同時還能提供哪些服務?有沒有一個完整的生態(tài)?有沒有一個活躍的社區(qū)提供技術支持、方便學習和交流?
針對這些問題,本節(jié)列舉以下APICloud開發(fā)者服務體系相關的產品。
1. APICloud開發(fā)平臺
這里是APICloud的官方網站,也是整個APICloud應用開發(fā)和管理平臺的入口。
2.開發(fā)工具
在官方網站點擊“開發(fā)工具”。
APICloud是一個移動應用的開發(fā)平臺,開發(fā)APICloud應用需要編碼工具。對于開發(fā)工具來說,APICloud支持包括Atom、Sublime Text、Eclipse、WebStorm、VSCode,以及基于Node.js的CLI命令行工具。開發(fā)者在開發(fā)APICloud應用的時候,可以使用自己喜歡的任意一款主流的編碼工具,只需要在這些工具中安裝相應的APICloud插件就可以了。
以Sublime Text3為例,如圖1-8和圖1-9所示,可以看到這里面有Windows版和Mac版的下載地址,這里所下載的是APICloud為Sublime Text提供的插件。下載完成后,打開Sublime Text,在Sublime Text中安裝完APICloud插件之后,就可以在Sublime Text中使用“新建APICloud項目”“新建APICloud文件”“進行Wifi真機同步”“日志輸出”“代碼管理”等開發(fā)APICloud應用所需的相關功能。在其他工具中,如Atom、WebStorm、Eclipse和VSCode等也可以分別安裝APICloud為這些工具所提供的對應插件,所有這些APICloud的工具插件都是免費開源的,可以在GitHub的APICloud開源分支中查看源碼。
在GitHub中搜索“APICloud-DevTools”。
?
?? 圖1-8
本文案例的開發(fā)會全程使用APICloud Studio 2作為開發(fā)工具,APICloud Studio 2是APICloud提供給開發(fā)者的一款基于Atom擴展的全功能集成開發(fā)工具。在本書的附錄B中,會對APICloud Studio 2開發(fā)工具的使用進行全面詳細的介紹。
?
? 圖1-9
3.開發(fā)文檔
在官方網站點擊“文檔”。
整個APICloud開發(fā)文檔包含了3部分內容,第一部分是對APICloud的整體介紹以及開發(fā)工具的介紹,也就是其網頁最左側的這一列;中間部分是對APICloud API的介紹,包括端API、擴展模塊、前端框架、云API等;最右側是技術專題,這里會把開發(fā)過程中常見的問題以技術專題的形式總結出來。不管是對APICloud的初學者,還是已經用APICloud開發(fā)過應用的開發(fā)者,本文都建議在遇到問題的時候,第一個解決方式就是去查找文檔。APICloud文檔遵循簡潔清晰的書寫原則,用到某一個API的時候,直接到文檔中查看其對應的使用說明即可。
4. 開發(fā)者社區(qū)
在官方網站點擊“開發(fā)者社區(qū)”。
APICloud有著國內最活躍的HTML5混合開發(fā)者社區(qū),在這個社區(qū)中,有很多優(yōu)質和資深的APICloud開發(fā)者,用戶在使用中遇到的問題在社區(qū)中提問都可以第一時間獲得解答。APICloud平臺上線至今,社區(qū)中已經沉淀了很多有價值的帖子和技術專題的討論,所以非常建議開發(fā)者常去社區(qū)看看,那里的帖子都是各個開發(fā)者學習經驗的總結。本文希望讀者在開發(fā)過程中遇到問題的時候,可以到社區(qū)中查找相關的解答或者提問,初學者最好能花一些時間把新手入門的帖子從頭到尾看一遍,這是非常有價值的。
5. VIP服務
在官方網站點擊“VIP服務”。
很多大型企業(yè)或者創(chuàng)業(yè)公司在選擇APICloud的時候,由于整個項目的開發(fā)周期比較緊張,而剛剛接觸一個新的平臺,使用中會遇到一些問題,這些問題在社區(qū)中是可以得到解決的,但是可能不夠及時。針對這類客戶,APICloud提供了VIP技術支持服務,企業(yè)也可以去購買APICloud企業(yè)版。當然這個是收費的,企業(yè)購買完之后,APICloud將以工單的形式提供技術支持,企業(yè)客戶有任何問題,半個小時之內APICloud官方會有技術支持一對一地進行解答。
6.開源代碼分享
點擊官方網站中“開發(fā)者社區(qū)”標簽下面的源碼。
APICloud提供了非常豐富的開源代碼,這些源碼包括App實例源碼,很多都是APICloud開發(fā)者所開發(fā)的一些App模板源碼,也包括一些模塊的使用示例代碼,以及App開發(fā)過程中一些常用的JavsScript框架代碼。當然,這里也有模塊的源碼,因為APICloud的很多模塊都是開源的,所以模塊的源碼就是Android和iOS的模塊工程源碼。同時,APICloud為Sublime Text、Atom、WebStorm、Eclipse等所有主流的開發(fā)工具提供的插件、命令行的CLI工具,以及APICloud Studio所有的代碼都是完全免費開源的。
這里也有APICloud前端框架和官方文檔的源碼,APICloud官方文檔本身就是開源的。讀者如果發(fā)現(xiàn)官方文檔的編寫存在不夠準確或者不夠完善的地方,可以隨時在官方文檔的開源分支中提交修改,一同為APICloud生態(tài)發(fā)展做貢獻。還有APICloud云SDK,也就是APICloud提供的云端服務,官方提供了不同技術語言版本的SDK,包括Node.js、PHP、Java、.NET等,這些不同語言版本的云API SDK也都是開源的。
更多APICloud開源代碼可以到APICloud GitHub開源分支j查看。
j在GitHub中搜索“apicloudcom”。
7.商業(yè)案例展示
在官方網站點擊“開發(fā)案例”。
目前,基于APICloud平臺開發(fā)的應用已有2萬多款在蘋果AppStore上線。在APICloud商業(yè)案例展示區(qū),用戶可以看到一些用APICloud開發(fā)出來的應用案例,每期會展示數(shù)百款的已上線App,這些案例都是用APICloud開發(fā)的商用App,不是WebApp,也不是微信公眾號或HTML5網站。所有這些App旁邊都有二維碼,用戶可以直接掃碼安裝體驗,這些應用都是使用APICloud平臺開發(fā)的。
如果APICloud的開發(fā)者開發(fā)了一款App,并且認為其性能體驗不錯,可以聯(lián)系APICloud官方的運營人員,申請在官網展示這款App。APICloud可以在案例區(qū)為其免費展示,案例區(qū)會定期更新申請展示的App。初學者如果想看一下APICloud平臺開發(fā)出來的App是什么樣的運行體驗,就可以直接掃碼安裝運行這些案例,看一下體驗和效果。
8.模塊Store(聚合API)
點擊官方網站中,“App開發(fā)平臺”下面的模塊Store。
APICloud模塊Store上展示了APICloud平臺上所有的擴展模塊。APICloud使用行業(yè)標準的模塊擴展機制,對于具有Android和iOS開發(fā)經驗的開發(fā)者,可以直接按照APICloud模塊擴展機制為APICloud貢獻模塊,這些模塊可以選擇收費也可以免費。
目前,APICloud平臺上有600多個模塊,大部分的模塊是免費的。大約有1/3是APICloud官方開發(fā)的,官方提供的所有模塊都是免費的,基本可以覆蓋App開發(fā)所需的全部基礎功能;還有1/3是第三方服務廠商開發(fā)的,比如高德地圖、科大訊飛語音識別、融云即時通訊等;最后的1/3是個人開發(fā)者開發(fā)的,個人開發(fā)者提供的模塊大部分都是收費的。APICloud是想建立一個生態(tài),對于Android和iOS的開發(fā)者,可以非常輕松地為APICloud模塊Store貢獻模塊,同時模塊開發(fā)者可以為其開發(fā)的模塊標一個價格,讓其他開發(fā)者購買后使用。
9.模板Store
點擊官方網站,“App定制服務”下面的模板Store。
APICloud還有一款產品是模板Store。開發(fā)者在開發(fā)完一個應用之后,如果不想再運營這個應用了,或者是單純想做一款應用的模板,如果它是一個完整的端到端的應用,整個需求和功能都可以達到一個標準商業(yè)應用的水平,就可以將它作為一個模板提交給APICloud。APICloud官方可以把它模板化后成為APICloud模板Store中的一款模板。整體是有一個審核流程的。模板審核通過之后,就可以在APICloud模板Store上進行銷售。在模板Store上架后,其他開發(fā)者只需一鍵購買,在線支付,就可以在幾分鐘之內獲得這樣一個模板。所購買的產品包括這個模板的管理后臺、模板的Android和iOS的安裝包以及一些必要的皮膚定制等服務,同時在開發(fā)者的APICloud應用控制臺中,也會有一個對應的“模板應用”的項目。
10. APICloud應用定制服務
點擊官方網站中的“App定制服務”。
在APICloud平臺上每天都會聚集很多客戶的App定制需求,因為很多客戶認可APICloud平臺和App開發(fā)模式,但是由于沒有自己的開發(fā)團隊,所以希望APICloud能夠為他們提供App定制服務,或者為他們推薦優(yōu)質的團隊來進行項目實施。APICloud應用定制服務有一套標準化的開發(fā)流程和項目管理流程。
1.1.5 新手入門APICloud應用開發(fā)
這里推薦一些優(yōu)質的入門資料,讀者可以在官方文檔頁面中找到這些資料。
APICloud新手開發(fā)指南,在這個指南當中,基本上涵蓋了APICloud應用開發(fā)入門所需的各方面知識,并且APICloud官方也會不斷更新這個教程,所以這個新手開發(fā)指南是所有APICloud初學者必須要認真閱讀的文檔。
APICloud新手教程集合貼,這是社區(qū)里的新手教程集合貼,里面有很多優(yōu)秀開發(fā)者的開發(fā)技巧、經驗和教程的總結,推薦新手一定要看。
點擊官方網站中的“開發(fā)者社區(qū)”,搜索“新手教程集合貼”。
●APICloud視頻教程15,如果初學者想找一種更簡便的方式去學習,也可以去看看APICloud的視頻教程,在這個視頻教程中已經有數(shù)百集的視頻。
15點擊官方網站中的“視頻教程”。
●APICloud在線培訓,APICloud定期會舉辦線上的視頻直播培訓,直播的老師既有APICloud工程師,也有優(yōu)秀的APICloud開發(fā)者或其他培訓機構的老師來直播。
1.2 體驗完整項目的開發(fā)流程
在對APICloud平臺有了基礎的認識后,讀者將跟隨本節(jié)內容從零開始,創(chuàng)建、修改、調試、編譯和運行一個最簡單的App。這個App不包含任何復雜的開發(fā)技術,旨在讓讀者體驗一個完整App的開發(fā)流程。在本節(jié)的最后,這個應用將可以在移動設備上運行。
1.2.1 注冊APICloud賬號
在創(chuàng)建App項目之前,首先要有一個APICloud賬號,這個賬號非常重要,請妥善保管。點擊APICloud官方網站右上角的注冊按鈕即可開始注冊。注冊過程非常簡單,注冊完成后請登錄賬戶。
1.2.2 創(chuàng)建一個App項目
創(chuàng)建一個新的項目有兩種方式:
在APICloud云平臺上創(chuàng)建;
在APICloud的官方開發(fā)工具中創(chuàng)建。
APICloud推薦的集成開發(fā)工具是APICloud Studio 2。同時也為其他常用的開發(fā)工具軟件提供了插件支持,如Sublime、Eclipse、WebStorm、Atom等,讀者可以根據(jù)自己的使用習慣選擇對應的工具。
本文以APICloud Studio 2為例。首先需要下載這個開發(fā)工具,選擇官網首頁的“App開發(fā)平臺”,然后選擇“開發(fā)工具”。
在新的頁面中根據(jù)具體的操作系統(tǒng)選擇對應版本的APICloud Studio 2進行下載。下載完成后將壓縮包解壓到任意位置,在解壓后的文件中找到類似“apicloud-studio-2.exe”的文件,這是開發(fā)工具的可執(zhí)行文件。建議為它創(chuàng)建桌面快捷方式以方便使用。
1.在APICloud云平臺上創(chuàng)建新項目
在官方網站登錄成功后,將鼠標移動到頁面右上角的用戶名處,在顯示的菜單中點擊“開發(fā)控制臺”。
打開控制臺頁面后,頁面左側是項目列表,現(xiàn)在它是空白的;在中間部分會顯示APICloud的更新日志(APICloud平臺自上線以來一直堅持每周更新一個版本)等平臺動向信息;右側是個人信息以及一些工具按鈕,如圖1-10所示。
?
? 圖1-10
點擊左上角的“創(chuàng)建應用”,在彈出的窗口中選中“Native App”(默認選項),在“名稱”輸入框中填入“HelloAPICloud”并在“說明”輸入框中填入任意說明信息,之后點擊創(chuàng)建。此時一個新的項目便被創(chuàng)建好了并顯示了剛剛創(chuàng)建項目的管理頁面,后續(xù)會對這個頁面的相關功能進行循序漸進的學習。
在項目創(chuàng)建完成后還需要將這個項目檢出到本地進行開發(fā),APICloud支持通過git或svn進行代碼管理(關于代碼版本管理的資料請查閱相關文檔),即便讀者不了解代碼版本管理的相關知識也不妨礙本節(jié)的學習。
打開APICloud Studio 2,如果開發(fā)者是首次運行此開發(fā)工具則需要進行登錄。請用之前創(chuàng)建的賬號進行登錄,否則無法找到相應的項目。登錄成功后會進入歡迎頁面。
此時開發(fā)工具已經獲得了賬號權限,可以對項目進行操作了。點擊菜單欄的“代碼管理”→“代碼檢出”→“APICloud云端應用”,在出現(xiàn)的檢索框中輸入之前創(chuàng)建的項目名稱“HelloAPICloud”,回車確認(也可以從下面的模糊搜索結果中選擇相應的項目,如圖1-11所示)。
?
? 圖1-11
在彈出的對話框中選擇這個項目在開發(fā)設備上的保存位置(例如在桌面上新建一個叫作“HelloAPICloud”的文件夾,然后選擇這個文件夾)并點擊“檢出”。
在新彈出的輸入框中保持默認,直接按回車即可,如圖1-12所示。
?
? 圖1-12
開發(fā)工具會自動從APICloud云端將賬號中的“HelloAPICloud”項目檢出到本地計算機上,稍等便可以看到默認打開的代碼編輯頁面。
2.在APICloud Studio 2上創(chuàng)建新項目
打開APICloud Studio 2并登錄之前創(chuàng)建的賬號。點擊菜單欄中的“文件”→“新建”→ “APICloud移動應用”,分別輸入應用名稱和應用說明,應用框架選擇“空白應用”,之后點擊完成。在彈出的對話框中選擇新項目的創(chuàng)建位置,點擊“創(chuàng)建”。
稍等便可以完成創(chuàng)建。此時在網站的控制臺中可以看到剛剛創(chuàng)建的項目。
本文摘自《30天App開發(fā)從0到1:APICloud移動開發(fā)實戰(zhàn)》
《30天App開發(fā)從0到1:APICloud移動開發(fā)實戰(zhàn)》
鄒達, 李德興 著
本書介紹如何通過APICloud平臺快速開發(fā)一款APP,從介紹APICloud平臺開始,從零搭建APP框架,對數(shù)據(jù)通信能力、js移動端應用、APICloud引擎架構、第三方開放平臺服務應用發(fā)布和管理及更新迭代均有詳細講述。
隨后詳細對UI框架的使用進行分析,通過對熱門行業(yè)的移動應用開發(fā)解決方案的介紹,讓讀者掌握真正的實戰(zhàn)技巧——如何開發(fā)一款優(yōu)質的APP。
版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。