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