一、uniapp開發(fā)App從開發(fā)到上架全過程——真機調(diào)試
介紹與前期準備
在前面的章節(jié)中,我們已經(jīng)對uniapp的開發(fā)及項目結(jié)構(gòu)有了初步了解。本次,我們將深入探討如何使用Hbuilder進行安卓和iOS APP的調(diào)試。我們需要明確真機調(diào)試的重要性及其在整個開發(fā)流程中的位置。安卓調(diào)試

uniapp底層機制
uniapp通過webview實現(xiàn)頁面開發(fā),這意味著對于底層硬件的調(diào)用,如藍牙、NFC等,需要通過uni提供的API或原生代碼插件來實現(xiàn)。這也引出了原生插件的概念。自定義基座與安卓自有證書
自定義基座是根據(jù)項目需求打包的實際APP基座,在此基座中呈現(xiàn)你編寫的頁面,從而可以使用到一些原生功能。要使用自定義基座,首先需要像正式打包APP一樣進行打包,這就需要使用到自有證書。安卓APP的打包需要數(shù)字證書來表明開發(fā)者身份。這個證書可以在自己的電腦上生成。確保電腦上安裝了Java環(huán)境。通過keytool命令可以生成證書。生成時,需要輸入別名、密鑰算法、密鑰長度、有效期等信息。這個證書文件(以.keystore為擴展名)是開發(fā)者的重要資產(chǎn),可以在多個項目中使用,因此請妥善保存。
打包自定義基座
擁有安卓數(shù)字證書后,在Hbuilder中選擇相應的選項進入打包APP界面。在此界面,填寫必要的包名、選擇使用自有證書、填寫證書文件信息、勾選打自定義調(diào)試基座后,即可開始打包。打包過程在Dcloud的云服務器上進行,耐心等待即可完成。調(diào)試運行
打包完成后,選擇相應的運行選項進入運行界面。使用數(shù)據(jù)線連接安卓手機與電腦,并確保手機已開啟調(diào)試模式。不同品牌的手機開啟調(diào)試模式的方法有所不同,可以通過搜索引擎查找具體步驟。你的APP已在真機上運行,可以進行實時的調(diào)試與優(yōu)化。通過以上流程,我們可以順利完成uniapp的安卓APP從開發(fā)到真機調(diào)試的全過程。這不僅有助于開發(fā)者實時調(diào)整和優(yōu)化應用,也為最終的APP上架奠定了堅實基礎(chǔ)。一、Hbuilder中APP的蘋果調(diào)試流程

1. 調(diào)試模式開啟與界面操作
打開Hbuilder的調(diào)試模式,點擊界面上的刷新按鈕,你的手機即刻連接。此刻,點擊運行按鈕,即可開啟APP的調(diào)試之旅。無論是在安卓還是蘋果系統(tǒng),這一步驟都是相似的,但蘋果的調(diào)試過程中證書的獲取方式有所不同。
2. 蘋果調(diào)試的特殊要求
最新版的Hbuilder不再支持使用默認基座進行真機調(diào)試,因此蘋果用戶需要打包自定義基座以進行真機調(diào)試。這一改變?yōu)殚_發(fā)者帶來了些許挑戰(zhàn),但只需遵循流程操作,便無大礙。
3. 蘋果開發(fā)者證書的獲取流程

需要獲得蘋果開發(fā)者資質(zhì),這一資質(zhì)是收費的,每年需支付99美元。在取得資質(zhì)后,使用Mac電腦創(chuàng)建一個CS件。打開鑰匙串訪問應用,選擇“證書助理-從證書頒發(fā)機構(gòu)請求證書”,填寫必要信息并選擇存儲到磁盤。登錄蘋果開發(fā)者平臺,進入Certificates, Identifiers & Profiles頁面,按照指引創(chuàng)建證書、Identifiers及描述文件。
4. 設備與證書文件的細節(jié)操作
將IOS設備添加到Devices目錄,并獲取設備的UDID。通過特定網(wǎng)址或工具快速獲取UDID。在Proffiles目錄新建描述文件時,選擇正確的選項并關(guān)聯(lián)之前創(chuàng)建的AppId和證書文件,再選擇需要參與調(diào)試的設備。最后導出格式為.p12的證書文件以及.mobileprovision文件。
5. 自定義基座打包與調(diào)試
在Hbuilder中打開打包APP界面,選擇IOS包并導入兩個證書文件。點擊打包制作自定義基座后,即可進行IOS端的調(diào)試。經(jīng)過這一系列操作,你就可以在你的蘋果手機上測試并調(diào)試你的APP了。

二、為何開發(fā)app不建議使用uniapp?
uniapp會取代原生開發(fā)嗎?
Weex與uni-app:跨平臺的移動開發(fā)新篇章
阿里開源的Weex構(gòu)建了一套跨平臺的移動框架,為開發(fā)者提供了在多個平臺上構(gòu)建應用的強大能力。與此uni-app嶄露頭角,成為一個使用Vue.js開發(fā)所有前端應用的框架。這兩者都為現(xiàn)代移動應用開發(fā)帶來了革命性的變化。
在uni-app中,雖然許多開發(fā)者對HTML、CSS掌握得不錯,但對JS的要求卻相對較高。事實上,不少開發(fā)者在JS方面的水平尚處于初級階段。舉個例子,有些從業(yè)多年的開發(fā)者,在面對JS時仍顯得力不從心。uni-app的App端內(nèi)置了HTML5+引擎,讓JS可以直接調(diào)用豐富的原生能力。在小程序及H5等平臺,由于無HTML5+擴展規(guī)范,使用uni-app時需特別注意條件編譯。

說到uni-app,不得不提它作為一個開放的多端開發(fā)框架的特點。HBuilderX和uni-app都出自DCloud公司,兩者緊密結(jié)合。HBuilderX團隊為uni-app的優(yōu)化和定制做出了巨大的貢獻。uni-app的組件具備原生調(diào)用能力,但在調(diào)用原生接口時,第三方的vue庫可能與5+runtime存在不兼容的情況。
如何評價uni-app?
uni-app的表現(xiàn)令人矚目。其最大的亮點在于,開發(fā)者只需通過Vue的寫法,便能快速上手,并且能夠滿足App的原生功能需求。調(diào)試打包、各種配置也都簡單明了。在某些特定場景下,uni-app作為技術(shù)選型是明智的選擇,初次體驗下來并無任何問題。uni-app支持一次開發(fā),多端變現(xiàn),為開發(fā)者帶來了便捷的廣告變現(xiàn)方式。在APP端的開發(fā)體驗上,uniapp比之前的mui更加流暢,與小程序體驗類似,并且在iOS端的體驗與原生應用非常接近。由于DCloud對各家小程序有著深入的了解,因此uni-app能夠很好地抹平各端的差異,已經(jīng)成為業(yè)內(nèi)最風靡的應用框架,支撐著龐大的手機用戶生態(tài)。
uni-app與APP的區(qū)別
有時會造成APP的用戶與微信小程序的用戶無法關(guān)聯(lián)。因為在微信開放平臺賬號開通之前注冊的用戶只有openid,沒有unionid。而基于微信的賬號機制是通過unionid來確定兩個平臺賬號是否為同一用戶。至于uni-app與APP的區(qū)別,uni-app是一個支持多種開發(fā)工具的多端開發(fā)框架。與HBuilderX同屬一公司的uni-app得到了大量的優(yōu)化和定制。相較于傳統(tǒng)的APP開發(fā),uni-app可以通過一套代碼實現(xiàn)多端運行,加載頁面速度更快,并使用小程序的標簽。

關(guān)于Uniapp的常見問題
關(guān)于是否一個人就能開發(fā)APP的問題,答案是肯定的。只要掌握編輯代碼的技能,就可以利用uni-app框架開發(fā)微信小游戲等應用。Uniapp是一種跨平臺的開發(fā)框架,允許開發(fā)者使用一套代碼同時開發(fā)多個平臺的應用,這與傳統(tǒng)的針對某一特定平臺的APP開發(fā)有很大的不同。只要掌握了相關(guān)的技能與知識,利用uni-app框架一個人完全可以完成APP的開發(fā)工作。
uni-app為現(xiàn)代移動應用開發(fā)帶來了極大的便利與可能性,無論是跨平臺開發(fā)、優(yōu)化定制還是便捷的廣告變現(xiàn)方式,都使得它在開發(fā)者中越來越受歡迎。開發(fā)簡易版頭條:我的uniapp探索之旅
一、項目概述
我正在利用mui團隊開發(fā)的uniapp框架,打造一款集文章、專家觀點、訂閱、評論等功能的簡易版頭條應用。從最初迷茫地翻閱文檔和官方示例,到現(xiàn)在對flex布局有了更深入的理解,我已經(jīng)逐步掌握了uniapp的開發(fā)精髓。

二、開發(fā)環(huán)境與工具
uni-app是一個能在安卓、iOS、H5等多端構(gòu)建應用的開發(fā)框架。我主要使用HBuilderX等開發(fā)工具進行開發(fā)。對于安卓App的Native環(huán)境構(gòu)建以及對應的安裝包制作,我選擇了AndroidStudio。這款應用開發(fā)工具在安卓app開發(fā)過程中是不可或缺的。
三、軟件開發(fā)選擇
在軟件開發(fā)方面,我主要使用HbuilderX進行uniapp的開發(fā)。盡管我曾經(jīng)主要使用vscode進行前端項目開發(fā),但在嘗試了一段時間的HbuilderX之后,我發(fā)現(xiàn)它對于uniapp的語法以及vue的相關(guān)提示更為便捷,且更為輕量。我強烈推薦所有uniapp的跨端開發(fā)都使用HBuilderX。
四、跨端開發(fā)的體驗

uniapp讓我體驗了真正的跨端開發(fā)樂趣。只需要編寫一套代碼,就可以發(fā)布到iOS、Android、Web(響應式)以及各類小程序、快應用等多個平臺。這不僅提高了開發(fā)效率,也保證了各平臺間的一致性體驗。
五、知識準備
要想在uniapp上進行高效的跨端開發(fā),你需要熟悉vue的相關(guān)語法,了解小程序的路由配置方法,以及各平臺生命周期等知識。這些知識將幫助你更好地理解和運用uniapp框架,打造出流暢、富有吸引力的應用。
我在使用uniapp開發(fā)簡易版頭條的過程中,不斷學習和成長。從最初的迷茫,到現(xiàn)在的熟練,每一步都充滿了挑戰(zhàn)和收獲。我相信,只要保持學習和探索,未來還會有更多的驚喜和挑戰(zhàn)等待著我。
