我們日常生活中,APP已經和我們的吃喝住行息息相關。APP如此強大的功能來源于開發技術的一行行代碼。本文小猿圈HTML5前端開發講師和大家分享一起為什么要用HTML5開發APP軟件?
前端開發應用app
小猿圈HTML5前端開發講師簡述為什么用HTML5開發APP:
1、開源生態系統發達:
HTML5前端是開放的正反饋循環生態系統,大量的開源庫可以使用,開發應用變得更輕松、更敏捷,當然這也體現在了快速迭代和成本下降上。不過更重要的是,這種開放的正反饋循環生態系統未來的生命力是比原生生態系統更強勁的。
2、持續交付:
很多人有這樣的體會,一個原生應用上線Appstore,突然有一個大bug,只好連夜加班修復,然后靜靜等待2周或更長時間的Apple審核,這2個星期被用戶的涂抹淹死,市場上一片差評,用戶大量流失。等新應用被審核上線了,用戶已經卸載了。但是,HTML5沒有這些問題,你可以實時更新,有問題立即響應。
3、開放的數據交換:
HTML是以page為單元開放代碼的,它無需專門開發SDK,只要不混淆,就能與其他應用交互數據。開發者可以讓手機搜索引擎很容易檢索到自己的數據, 也更容易通過跨應用協作來滿足最終用戶需求。
以上就是小猿圈web視頻教程講師給大家介紹的為什么用HTML5開發APP一文。小猿圈是國內唯一全站免費的在線學習平臺,帶著過去多年的光榮與夢想,小猿圈再次啟航。我們堅信技術推動世界發展,在技術進步的背后是夢想不斷在驅動!我們歡迎每一位有激情、有夢想、熱愛技術的同學,通過小猿圈的舞臺創造出更加精彩的未來!You Make The Future!
子創意,關注前沿科技和創業資訊,提供專業的互聯網開發,產品設計,媒體運營支撐服務和咨詢。如有需求歡迎朋友們合作和咨詢。
更多資訊,點擊上方【訂閱】,訂閱橘子創意。
一、 摘要
今天給大家介紹有關HTML5移動開發APP開發框架,這里主要給大家介紹10款移動APP開發框架,下一篇文章將給大家具體演示一下如何用這些框架來搭建一個移動APP應用.
十款移動APP開發框架:
1.jquery mobile框架
2.bootstrap框架
3.ionic框架
4.Mobile Angular UI框架
5.Intel XDK框架
6.Appcelerator Titanium框架
7.Sencha Touch框架
8.Kendo UI框架
9.PhoneGap框架
10.mui框架
1.jquery mobile框架
jQuery Mobile是jQuery 在手機上和平板設備上的版本。jQuery Mobile 不僅會給主流移動平臺帶來jQuery核心庫,而且會發布一個完整統一的jQuery移動UI框架。支持全球主流的移動平臺。
2.bootstrap框架
Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷。
它由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML框架。Bootstrap提供了優雅的HTML和CSS規范,它即是由動態CSS語言Less寫成。
Bootstrap一經推出后頗受歡迎,一直是GitHub上的熱門開源項目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項目。
國內一些移動開發者較為熟悉的框架,如WeX5前端開源框架等,也是基于Bootstrap源碼進行性能優化而來。
3.ionic框架
Ionic 是一個強大的 HTML5 應用程序開發框架,可以幫助您使用 Web 技術,比如 HTML、CSS 和 Javascript 構建接近原生體驗的移動應用程序。
Ionic 主要關注外觀和體驗,以及和你的應用程序的 UI 交互,特別適合用于基于 Hybird 模式的 HTML5 移動應用程序開發。
4.Mobile Angular UI框架
Mobile Angular UI是使用 bootstrap 3 和 AngularJS 的響應式移動開發HTML5框架。
Mobile Angular UI的關鍵字有:
1.Bootstrap 3
2.AngularJS
Bootstrap 3 Mobile組件,比如switches, overlays和sidebars,這些都是bootstrap中沒有的。
AngularJS modules, 比如 angular-route, angular-touch 和 angular-animate
響應式媒體查詢是將bootstrap作為單獨的文件,你只需要包含你所需要的東西。
Mobile Angular UIu并不包含任何jQuery依賴,你需要做的只是通過一些AngularJS指令創建友好的用戶體驗。
5.Intel XDK框架
Intel發布了其首個版本基于web的編程工具,可幫助開發者為Android和iOS開發移動應用。
這款免費的軟件名為Intel XDK,實際上這是今年2月份Intel收購的AppMobi軟件的重新包裝后的版本,所以并非新鮮事物。開發者可用此軟件開發基于HTML5的應用,并 用于移動設備中。
6.Appcelerator Titanium框架
Titanium 是一個跟手機平臺無關的開發框架,用來開發具有本地應用效果的Web應用。當前主要支持 iPhone 和 Android 手機。
主要提供的API包括:
2D/3D animations
Geo-location, compass, and maps
Augmented reality features
Social app authentication and native client support for email
SOAP or REST API calls
Audio, video, and image capture and playback
Taps into local filesystem and SQL lite databases
Accesses photo gallery or address data
橘子創意,關注前沿科技和創業資訊,提供專業的互聯網開發,產品設計,媒體運營支撐服務和咨詢。如有需求歡迎朋友們合作和咨詢。
更多資訊,搜索微信公眾號juzimedia,關注橘子創意。
能很多人不知道,規模大的企業和IT預算多的企業的移動App大部分都是基于混合模式開發實現的。
很多做App開發的技術人員會存在一種偏見,覺得“采用混合模式,基于HTML5技術開發出來的App,體驗以及功能會和原生模式開發的存在差距”,所以更愿意使用原生模式開發App。
其實市場上主流的App,絕大部分是基于混合模式開發的。最典型的就是微信,除了聊天功能以外,包括公眾號、小程序等都是由混合模式開發技術實現的。再比如電商領域的淘寶、京東等,旅游領域的攜程,教育領域的VipKid,信息分類的58等不同應用范圍的App,混合模式開發技術使其商品展示及線上市場活動的運營管理都變得非常靈活。此外,在航空、保險、銀行等行業中,無論是服務客戶的toC模式App,還是對員工進行管理的toE和toB的App,多是使用混合模式開發的,混合模式開發技術成為了絕對主力。
人們不禁要問“為什么這些公司和企事業單位,有著足夠的預算和開發資源,還要選擇混合模式App開發技術作為企業互聯網化的支撐?”答案其實和企業的互聯網化及數字化的需求有著直接的聯系。以下4個方面,決定了越有實力的企業越需要混合模式App開發技術;同時,也是混合模式App開發技術形成不同行業解決方案的根本優勢和企業選擇的必要性所在。
速度的要求
“試錯”這個詞不但在互聯網公司中廣為流傳,在傳統公司的互聯網化過程中也被廣泛接受。
越來越多的CIO在談各自企業移動戰略的時候,都會提到“能否根據業務部門的一個想法,先在一周之內做個原型,快速實現,拿出去讓大家看看,然后基于這個原型再修改”。這種快速發起、快速驗證、快速調整的方法,已經非常流行。之所以要在短時間內先把業務從想法落到現實,哪怕App粗糙些,也要先實現出來,原因在于具有鮮明企業個性的業務的創新想法可能沒有先例可循,很難考慮得特別完整。與其花費三五個月不停地思考業務需求,還不如用一兩個星期先把基礎的想法落實。哪怕短時間內做出的App并不能真正滿足業務的需要,但是可以讓業務人員的想法在這個過程中變得有據可依、有的放矢,從而為實現更完整且更切實可行的業務方案先行探索。
“業務部門的一個想法,IT部門一兩周就做出來了!”這對于企業的信息化負責人而言,是很重要的褒獎。這種對速度的要求,恰恰是混合模式開發技術最明顯的特長和優勢,一套代碼可同步生成iOS與Android兩個平臺的App,甚至還能部分兼容微信公眾號和小程序。一套代碼,并不代表偷懶或工程技術的簡化,而更多的是因其不僅節省了代碼編寫的時間,還避免了多個技術團隊之間跨知識結構的協同問題,不再需要iOS與Android工程師們開會討論差異性問題,更是大幅節省了App與服務器端聯機調試的時間成本。但如果同樣的功能,同樣從零開始,使用傳統的原生開發技術基本沒有辦法在一兩個星期內完成有價值業務需求的實現,因為這個時間可能連不同終端碎片化和差異化的問題都不足以解決。所以,CIO為了滿足業務發展的需求和數字化速度的要求,在移動戰略中往往都會規劃使用跨平臺的混合模式App開發技術。
業務靈活性的要求
在PC時代的B/S架構中,想要實現IT系統的更新并不需要過多地考慮用戶端的影響。因為作為用戶入口的瀏覽器一直處于訪問網絡的狀態,只要網絡連通,用戶隨時訪問網站都會獲得最新的功能和業務。對用戶而言,并不真正地存在版本的概念。只要訪問服務器,服務器的任何更新都可以隨時展示到用戶界面上,出現使用問題時,往往只需要清空一次瀏覽器Cookie基本就可以解決。
但是在移動時代,用戶對版本的概念變得越發敏感。而對App的版本管理也成了CIO頭痛的問題。通常因為軟件開發商能力的制約,或者一些無法避免的bug,讓一些已發布的App變得難用甚至會崩潰。此外,一些臨時的市場活動、很少但重要的功能、一些不在規劃內的產品需求調整等情況,都會直接引出同一個問題“用戶必須更新一個版本,重新下載安裝,才能滿足上述需求”。這種看似日常的版本發布和用戶更新,恰恰是傳統企業信息化過程中面臨的全新問題。
“能否像傳統瀏覽器那樣,用戶打開的永遠是最新的服務和功能?”很多企業的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開發的技術人員有更多可借鑒的實戰經驗。
?
《30天App開發從0到1:APICloud移動開發實戰》
鄒達, 李德興 著
主要內容
本文從總體上介紹APICloud平臺,包括APICloud應用的開發模式、設計思想、控制臺使用流程等,并以一個HelloWorld App為例讓讀者體驗一個完整的APICloud App的開發流程。
學習目標
(1)了解APICloud平臺,了解APICloud相關的學習資源、入門資料和常見的問題。讓沒有接觸過APICloud平臺的讀者,對平臺有一個基礎的了解;讓學習過APICloud并且已掌握一部分技能的讀者,通過本文的學習,可以快速找到需要的資料和解決問題的方法。
(2)學習如何在APICloud平臺上創建、修改、調試、編譯和運行一個最簡單的APICloud App。掌握APICloud App完整的開發流程。
要對APICloud平臺做一個全面的介紹,需要花很長的時間和很多的篇幅來講解每一個細節,而本文作者希望能用更多的篇幅來講解一個App的實際開發過程,講解具體的代碼實現。所以,本文在介紹APICloud平臺的時候,是通過拋出一個個問題,然后告訴讀者應該到哪兒去找對應的學習資源,到哪兒能夠找到解決問題的方案。
1.1 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對象,異步方法調用的結果通過此函數返回<br>
所有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開源分支中查看源碼。
在GitHub中搜索“APICloud-DevTools”。
?
?? 圖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服務
在官方網站點擊“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)
點擊官方網站中,“App開發平臺”下面的模塊Store。
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
點擊官方網站,“App定制服務”下面的模板Store。
APICloud還有一款產品是模板Store。開發者在開發完一個應用之后,如果不想再運營這個應用了,或者是單純想做一款應用的模板,如果它是一個完整的端到端的應用,整個需求和功能都可以達到一個標準商業應用的水平,就可以將它作為一個模板提交給APICloud。APICloud官方可以把它模板化后成為APICloud模板Store中的一款模板。整體是有一個審核流程的。模板審核通過之后,就可以在APICloud模板Store上進行銷售。在模板Store上架后,其他開發者只需一鍵購買,在線支付,就可以在幾分鐘之內獲得這樣一個模板。所購買的產品包括這個模板的管理后臺、模板的Android和iOS的安裝包以及一些必要的皮膚定制等服務,同時在開發者的APICloud應用控制臺中,也會有一個對應的“模板應用”的項目。
10. APICloud應用定制服務
點擊官方網站中的“App定制服務”。
在APICloud平臺上每天都會聚集很多客戶的App定制需求,因為很多客戶認可APICloud平臺和App開發模式,但是由于沒有自己的開發團隊,所以希望APICloud能夠為他們提供App定制服務,或者為他們推薦優質的團隊來進行項目實施。APICloud應用定制服務有一套標準化的開發流程和項目管理流程。
1.1.5 新手入門APICloud應用開發
這里推薦一些優質的入門資料,讀者可以在官方文檔頁面中找到這些資料。
APICloud新手開發指南,在這個指南當中,基本上涵蓋了APICloud應用開發入門所需的各方面知識,并且APICloud官方也會不斷更新這個教程,所以這個新手開發指南是所有APICloud初學者必須要認真閱讀的文檔。
APICloud新手教程集合貼,這是社區里的新手教程集合貼,里面有很多優秀開發者的開發技巧、經驗和教程的總結,推薦新手一定要看。
點擊官方網站中的“開發者社區”,搜索“新手教程集合貼”。
●APICloud視頻教程15,如果初學者想找一種更簡便的方式去學習,也可以去看看APICloud的視頻教程,在這個視頻教程中已經有數百集的視頻。
15點擊官方網站中的“視頻教程”。
●APICloud在線培訓,APICloud定期會舉辦線上的視頻直播培訓,直播的老師既有APICloud工程師,也有優秀的APICloud開發者或其他培訓機構的老師來直播。
1.2 體驗完整項目的開發流程
在對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。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。