這篇文章主要介紹“Container應(yīng)用設(shè)計原理是什么”,在日常操作中,相信很多人在Container應(yīng)用設(shè)計原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Container應(yīng)用設(shè)計原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
我們一直強(qiáng)調(diào)網(wǎng)站設(shè)計制作、網(wǎng)站制作對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)絡(luò)公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。以安卓為例子,我把我們發(fā)布到安卓應(yīng)用市場的app解壓出來研究了一下。
上圖是一個cordova的總體框架的描述,可以看到cordova主要由兩部分構(gòu)成。
第一部分:Cordova Application是Cordova框架獨立于不同手機(jī)操作系統(tǒng)的一個封裝層。具體包括
1)Web app(包括具體的app的HTML/JS/CSS代碼等);
2)Cordova框架已經(jīng)封裝好的核心插件(如相機(jī)、存儲等系統(tǒng)調(diào)用),這塊是Cordova的核心部分。當(dāng)然,開發(fā)者也可以基于它的插件體系,擴(kuò)展出新的插件;
第二部分:Mobile OS就是具體的手機(jī)操作系統(tǒng)層了,Cordova目前支持大部分的手機(jī)OS:ios、android、wp、blackberry等等
第二部分我們在這里就不贅述,都是mobile OS的各種原生功能。
那么我們先來看第一部分的webapp這一部分,我們將下載下來的apk文件解壓縮,如下所示是一個很經(jīng)典的安卓app的apk包的結(jié)構(gòu):
上文中講過, 用Cordova工具將C4C Aurora的項目文件打包成Android或者iOS原生應(yīng)用后,以Android平臺為例,客戶安裝apk在安卓設(shè)備上后,運(yùn)行在安卓手機(jī)上的C4C應(yīng)用實際運(yùn)行在WebView中。
WebView里加載的JavaScript和HTML文件實際上已經(jīng)保存在了Cordova構(gòu)建出來的項目包(即apk文件)里。在運(yùn)行時,這些資源文件通過Embedded server加載到WebView里。
當(dāng)然,手機(jī)C4C應(yīng)用上所有需要顯示的Transaction數(shù)據(jù),比如在手機(jī)C4C應(yīng)用上打開Account工作中心,看到的所有Account數(shù)據(jù)都來自對應(yīng)的C4C tenant,這些數(shù)據(jù)的讀取請求通過embedded Server發(fā)送到C4C tenant的后臺 ABAP系統(tǒng)上去。
Jerry在博客( https://blogs.sap.com/2017/08/17/step-by-step-to-package-a-fiori-application-into-your-android-device-using-cordova/)中有寫到如何用cordova創(chuàng)建一個fiori 風(fēng)格app, 文中有講到我們在開發(fā)這樣一個app的時候會有一個默認(rèn)的index.js生成,我們基于這個文件為入口進(jìn)行開發(fā)cordova的應(yīng)用,我們在assets->www下面找到了這個index.js文件,同時我們看到了幾個zip包,這幾個zip分別來自我們C4C開發(fā)組所開發(fā)的oberon和lead cod,里面包含了我們開發(fā)的javascript代碼和樣式表文件,這些文件即是上文提到的保存在cordova構(gòu)建出來的項目包里的代碼和html文件。
我們打開一個oberon.zip看一看里面的內(nèi)容,比如我現(xiàn)在打開的是我們開發(fā)的RUI client下面的所有javascript代碼和樣式表文件的目錄,library-preload.js就是我們開發(fā)的javascript代碼壓縮之后的合集,其中也包括一些我們會用到的UI5的類庫。
通過jerry的博客我們得知應(yīng)用運(yùn)行時會先加載這個js文件,那么打開這個文件看一下上文提到的oberon.zip等zip里面的代碼是如何被加載和運(yùn)行的。
可以看到這里加載了兩個js文件,運(yùn)行了一個app.initialize()方法. 這個方法被定義在加載的第二個js文件js/index.js里面,打開這個index.js文件之后發(fā)現(xiàn)的確是這里的initialize 方法加載了sap的UI標(biāo)準(zhǔn)庫,主題庫,語言等。
上文中講了第一部分中的webapp,那么我們來看看開發(fā)者自己開發(fā)的插件這一部分,在Jerry的博客中有寫到如何用java開發(fā)一個自定義的cordova插件: https://blogs.sap.com/2017/08/18/step-by-step-to-create-a-custom-cordova-plugin-for-android-and-consume-it-in-your-ui5-application/,文中有提到我們?nèi)绾卧赨I5的application中去調(diào)用我們開發(fā)的cordova插件,我們在這個解壓出來的包里面也可以看到這些去消費插件的這些js class:
打開一個調(diào)用名片掃描插件的文件夾,我們發(fā)現(xiàn)與開發(fā)的時候文件目錄基本一致, /platforms/android/assets/
到此,關(guān)于“Container應(yīng)用設(shè)計原理是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當(dāng)前名稱:Container應(yīng)用設(shè)計原理是什么-創(chuàng)新互聯(lián)
文章分享:http://weahome.cn/article/iishs.html