原生開發(fā)
創(chuàng)新互聯是一家網站建設、網站制作,提供網頁設計,網站設計,網站制作,建網站,定制網站建設,網站開發(fā)公司,從2013年開始是互聯行業(yè)建設者,服務者。以提升客戶品牌價值為核心業(yè)務,全程參與項目的網站策劃設計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。
?原生開發(fā)是在Android、IOS移動平臺上利用各自的開發(fā)語言、開發(fā)API、開發(fā)工具進行App軟件開發(fā)。例如Android是利用Java或者kotlin,使用Eclipse、Android studio、idea等工具開發(fā);IOS是利用Objective-C或者Swift,使用Xcode工具等進行開發(fā)。
原生開發(fā)的優(yōu)點:
可訪問手機所有功能(如GPS、攝像頭等)、可實現功能齊全;
運行速度快、性能高,絕佳的用戶體驗;
支持大量圖形和動畫,不卡頓,反應快;
比較快捷地使用設備端提供的接口,處理速度上有優(yōu)勢。
原生開發(fā)的缺點:
開發(fā)周期長; ?
制作費用高昂,成本較高; ?
可移植性比較差,一款原生的App,Android和IOS都要各自開發(fā),同樣的邏輯、界面要寫兩套; ?
內容限制(App ? Store限制); ?
獲得新版本時需重新下載應用更新。
混合開發(fā)
混合開發(fā),是指在開發(fā)一款App產品的時候,為了提高效率、節(jié)省成本而利用原生與H5的開發(fā)技術的混合應用。通俗點來說,這就是網頁的模式,通常由“H5云網站+APP應用客戶端”;兩部分構成。
混合開發(fā)是一種取長補短的開發(fā)模式,原生代碼部分利用插件或者其它框架為H5提供容器,程序主要的業(yè)務實現、界面展示都是利用與H5相關的技術進行實現的。很多APP都是利用混合開發(fā)模式而成的。 ?
混合開發(fā)優(yōu)點:
開發(fā)效率高,節(jié)約時間。同一套代碼Android和IOS基本上都可使用; ?
更新和部署比較方便,每次升級版本只需要在服務器端升級即可,不再需要上傳到App ? Store進行審核; ?
代碼維護方便、版本更新快,節(jié)省產品成本; ?
比web版實現功能多; ?
可離線運行。?
混合開發(fā)缺點: ?
網絡要求高:混合APP數據需要全部從服務器調取,每個頁面都需要重新下載,因此打開速度慢,網絡占用高,緩沖時間長,容易讓用戶反感。 ?
在ios的OC和Swift混合開發(fā)無非是2種,一種是在OC的項目中使用Swift語言開發(fā),這里就需要創(chuàng)建Swift文件(或者引用Swift寫的的第三方庫),另一種是在Swift項目中使用OC語言開發(fā),這里就需要創(chuàng)建OC文件,(或者引用OC寫的的第三方庫)
首先我們在一個已有的OC的項目中,創(chuàng)建一個Swift文件
這里Xcode就會自動提示我們如:圖1
Would you like to configure an Objective-C bridging header?
Adding this file to ocProjectUseSwift will create a mixed Swift and Objective-C target. Would you like Xcode to automatically configure a bridging header to enable classes to be accessed by both languages?
提示我們創(chuàng)建一個橋接的頭文件,當我點擊 “ Create? Bridging Header”,Xcode就給我們自動創(chuàng)建,自動創(chuàng)建的規(guī)則是:項目名+ "-Bridging-Header.h" 如圖2
同時在項目中創(chuàng)建一個Swift文件
然后在在 targets - Build Settings - Packaging 中設置Defines Module 為YES
設置完后開始使用,怎么在oc中使用Swift的類呢?
重點: 在文件中引用 #import "ocProjectUseSwift-Swift.h"? 記住不是我創(chuàng)建的SecondVC.swift,是“項目名-Swift.h"文件名 ,引入這個文件就引入了所有的Swift文件內的類、方法、屬性
說明:這個文件是系統(tǒng)自動創(chuàng)建,自動添加所有我們創(chuàng)建的Swift的類的方法和屬性
前提是要在方法和屬性前面要加@objc 如圖3:
用@objc聲明好之后,在我們引用的是“項目名-Swift.h"文件名的?#import "ocProjectUseSwift-Swift.h" 內就看到有標記了如圖4
這里分了3塊,紅色和綠色標記框內是我們自己標記的oc可用的屬性和方法,藍色框內是系統(tǒng)自己生成的oc可以初始化方法
具體使用就在oc文件中,如圖5:
此事,在這個OC創(chuàng)建的項目中,我們創(chuàng)建的Swift文件怎么使用OC創(chuàng)建的類呢?
這里就用到我們創(chuàng)建的橋接頭文件了,在圖2中的橋接頭文件,引入OC的頭文件,如圖6
就這樣很簡單,所以Swift文件的類都可以使用這個OC文件內的類了,使用起,和OC調用OC的類一樣,如如圖7和圖8
Swift的項目中,第一次創(chuàng)建OC的文件,此時系統(tǒng)會自動幫我們創(chuàng)建橋接頭文件,如圖9
然后就有了和圖2一樣的橋接頭文件,剩下的就和圖6一樣,在橋接頭文件內引入頭文件,即可使用OC的類,第三方庫如果也是OC寫的,在引入的時候也自動會加這個橋接頭文件,當然一個項目只能加一次,加過的就不需要加了
在開發(fā)中,難免遇到原生嵌套H5頁面的需求,那么vConsole調試控制臺 對于前端開發(fā)的同學就變得尤為重要,但是有時候vConsole控制臺并不會在頁面顯示,遇到這種情況 我們只需項目允許http協議請求。
在info.plist里面增加 App Transport Security Settings 屬性,再在此屬性內增加?Allow Arbitrary Loads ,并設置值未YES。
此時再重新運行項目就可以看到vConsole調試控制臺了
網站題目:ios混合開發(fā),ios混合開發(fā)H5頁面白屏
網頁地址:http://jinyejixie.com/article40/dssehho.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站維護、網站內鏈、企業(yè)網站制作、標簽優(yōu)化、面包屑導航、
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯