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