上海小程序开发-成人亚洲精品久久久久软件-上海小程序制作公司-成人亚洲精品-上海网站建设-成人亚洲-公众号开发运营-软件外包公司-咏熠科技

小程序開發如何實現多端合一
發布時間: 2022-03-21 12:21:46點擊次數: 1007


        如今隨著移動互聯網的群魔亂舞,越來越多的“移動端”如雨后春筍快速發展,各種小程序技術方案發展迅猛。不僅開發周期長而且人員成本高,十分不利于團隊成員形成合力提高開發效率。低效的工作直接影響到新品的迭代更新,在這樣的形勢下,跨端技術受到越來越收到青睞。

        跨端方案進行開發必然會調整原有平臺的技術成分,我們在選擇跨端方案不能只依賴于某幾項指標,比如編程語言、性能等,更多的還要考慮學習、遷移成本,開發效率和社區支持多種指標,適合公司產品和業務需要的架構才是*好的架構。

        目前主流的跨端方案主要分為三種:一種是使用webview方案,代表技術是Hybird混合開發;一種是將JavaScriptCore引擎作為虛擬機的方案,代表框架是React Native;另一種是使用自研的dart虛擬機方案,代表框架是Flutter。


上海小程序開發,公眾號開發,就選上海詠熠科技。上海詠熠科技是上海小程序開發靠譜的公司。


(一)、Webview跨平臺方案 

(1)Hybrid App開發

        Hybrid混合開發是一種取長補短的開發模式,原生代碼利用WebView為H5提供容器,并配合 JSBridge 提供了原生與JS之間的通信鏈路,基于這個通信基礎,原生可以暴露出一些標準服務API提供給JS調用,同樣的JS也可以封裝一些基礎API給原生調用。目前我們采用的就是這種交互方式,還有京東、淘寶、今日頭條等APP有部分模塊也是基于混合開發模式。


優點:

①開發效率高,節約時間。同一套代碼Android和IOS基本上都可使用;

②更新和部署比較方便,每次升級版本只需要在服務器端升級即可,不需要上傳到App Store進行審核。

③代碼維護方便、版本更新快,節省產品、人力成本;


缺點:

①加載緩慢、網絡要求高,混合APP數據需要全部從服務器調取,每個頁面都需要重新下載,因此打開速度慢,網絡占用高,緩沖時間長,用戶體驗稍差。

②兼容性差,手機系統更新換代快,需要做比較多的兼容性方案。

③Hybrid App只是提供了一個殼,基座還是需要ios和安卓同事開發和維護的。


(2)Uni-app

        Uni-app是一個開放式跨端跨框架解決方案,使用 Vue框架來開發小程序、H5、APP等應用。uni-app支持webview與weex雙重渲染,h5頁面使用webview渲染,原生部分采用nvue wewx進行渲染,相當于把h5的技術與rn的技術做了一個結合。由于原生是基于weex的,然后下一層才是通信bridge。多了一層就多了一份性能問題,所以性能方面會比ReactNative略差一點。


優點:

①開發成本、門檻低,開發者編寫一套vue.js代碼,可發布到IOS、Android、h5、小程序等多個平臺。

②社區活躍,生態好,組件豐富,社區有大量的組件提供使用。

③支持熱更新,APP*新修改可以動態發布,而不需要提交APP市場審核。

缺點:

①nvue原生開發有局限性,特別是樣式方面限制比較嚴重,定制化程度低。

②部分組件可能需要收費,云打包超過次數需要收費。

③文檔松散,api眾多。

④主打快速,生成多端代碼,許多中小公司在用。

小程序開發

(二)、React Native跨平臺方案


(1)react native

       react native是Facebook于2015年4月開源的跨平臺移動應用開發框架。RN使用JavaScript語言類似于HTML的JSX,JSX 源碼通過 React Native 框架編譯后,與Native原生的UI組件進行映射,用原生代替DOM元素來渲染,在UI渲染上非常接近Native App。 


(2)京東taro

      Taro 是一個開放式跨端跨框架解決方案,支持使用 React、Vue等框架來開發小程序、H5、APP等應用。APP開發基于 Facebook的開源項目React Native,開發語言可以使用vue,但*終生產的代碼是react。開發中不僅需要代碼調試而且還有底層交互,所以使用taro需要具備react、原生技能。


優點:

①只需要同一套javascript代碼就可以運行于ios和android 兩個平臺,在開發、測試和維護的成本上要低很多。

②采用熱加載的即時編譯方式,使得App UI的開發體驗得到改善,幾乎做到了和網頁開發一樣隨時更改,隨時可見的效果。

③可以通過 JSBundle 即時更新 App。相比原來冗長的審核和上傳過程,發布和測試新功能的效率大幅提高。

④擺脫了WebView的交互和性能問題,同時可以直接套用網頁開發中的css布局機制。


缺點:

①在動畫效率和性能的支持還存在一些問題,性能上不如原生Api。

②官方文檔中可以發現仍有部分組件和API都區分了Android和IOS 版本,即便是共享組件,也會有平臺獨享的函數。也就是說仍不能真正實現嚴格意義上的“一套代碼,多平臺使用”。

③缺乏很多基本控件,第三方開源質量良莠不齊。

④需要具備react、原生開發能力。

上海小程序開發

(三)、Flutter

        Flutter是谷歌在2018年發布的移動UI框架,可以快速在APP、web上構建高質量的原生用戶界面。它*大的特點是渲染不是基于操作系統的組件,而是直接基于繪圖庫(skia)來繪制的,這樣做到了渲染的跨端。邏輯的跨端也不是基于js引擎,而是自研的dart虛擬機來跨端,通過dart語言來寫邏輯,支持AOT和JIT兩種編譯方式,而沒有采用HTML/CSS/JavaScript組合方式開發,在執行效率上明顯高于React Native所使用的JavaScriptCore。


優點:

①UI性能可以比肩原生,編譯出來的程序可以達到60bps的高性能。

②Dart在 JIT模式下,速度與 JavaScript基本持平。但是 Dart支持 AOT,當以 AOT模式運行時,JavaScript便遠遠追不上了。

③組件豐富,社區也相對活躍。


缺點:

①優點即缺點,Dart 語言的生態小,精通成本比較高。

②UI控件API設計不佳。

③與原生融合障礙很多,不利于漸進式升級。

④國內文檔較少,需要查閱外文資料。



(四)、結論

上文也有提到過,拋開技術和社區支持,適合公司產品和業務需要的技術才是*好的技術。目前公司采用的技術是Hybrid混合開發模式,前端團隊技術棧都是vue,經過對比,可以得出幾個粗略的結論:

taro和react native都是使用的react,所以這兩個方案不適合。

目前影響公司產品快速迭代升級的矛盾主要在h5和微信小程序混用導致效率低、聯調復雜,App的跨端統一不是主要矛盾。所以仍然可以采用webview嵌套h5的形式,但h5和小程序開發模式需要統一。使用uni-app開發App,性能不如React和Flutter,使用nvue weex開發也有比較多的限制,綜合比較提升不是很大,所以也不適合。Flutter雖然學習成本*高,難度也大,但短時間內github starts數量已經達到122K,issus提問題數和代碼貢獻人數都比較多,說明Flutter在近期活躍度很高,對于技術發展和框架完善能起到很大幫助。實際開發中,為了提高開發效率和頁面復用,APP一般只開發登錄頁、我的頁、和首頁(不考慮首頁加載慢情況,首頁也可以用h5),其他頁面嵌套H5。把殼做出來,這樣開發新App項目也能夠快速復制。

結論:


方案1、App仍使用現有Hybrid方案,h5和微信小程序開發使用同一套代碼。

方案2、在人力充足的情況下,登錄頁、我的頁嘗試采用Flutter進行開發,其他h5和微信小程序使用同一套代碼。


三、多端合一開發

上文提到目前影響公司產品快速迭代升級的矛盾主要在h5和微信小程序混用導致效率低、聯調復雜,App的跨端統一不是主要矛盾。所以h5的微信小程序的開發方式需要統一。

目前我們的小程序主要是微信(企業微信)小程序,支付寶、百度、頭條、淘寶等小程序暫時沒有需求,前端技術棧為vue、vant-ui,所以能同時兼顧以上方面并且開發效率高、社區活躍的方案就是我們所需要的。

現在市面上比較流行的框架有:

Taro,京東凹凸實驗室出品,Uni-app,DCloud出品,kbone,騰訊微信團隊出品,mpvue在2019年就沒有再更新過,而且uni-app的方案也是自mpvue,mpvue不在比較范圍內。



(1)社區活躍度

根據加群一星期taro和uni-app提問題和解決問題的情況看,Uni-app更為活躍,可能跟群總人數有關(taro200人群,uni-app2000人群),但總體來說還是uni-app更活躍,百度、csdn、掘金等技術文章、解決方案也是uni-app居多。Kbone百度搜索技術文章可以說是沒有,基本可以忽略,社區也不活躍。


(2)百度指數曝光程度

在百度指數,從2020-01-01 到2021-06-12一年多的時間來看,各框架從曝光度和搜索指數從高到低依次為 uni-app--》flutter--》taro--》react native 




(3)實際開發情況


綜合對比uni-app、taro從項目搭建、代碼編寫、資料查詢、開發性能體驗、vant-ui支持、代碼發布等情況,uni-app更具優勢,而且還挺大。

①taro2021年3月份才開始支持vue的寫法,使用taro-vue開發小程序,很多vue方面的技術細節都沒有體現,無從下手。

②taro不能很好的支持vant-ui,引入vant包時就遇到很多問題,樣式方面也有缺失。

③taro-vue技術類支持文章還是不夠,很多問題查閱不到。比較適合react框架進行開發,使用vue來開發目前還不適合。


(5)結論


1、kbone雖然是騰訊微信小程序團隊出品,但是目前無論是社區支持還是技術支持還遠遠不行。

2、Taro的vue版本在2021年3月份才開始支持,而且底層是通過react渲染實現,比較適合react的技術框架并且vant-ui和開發體驗都不是很好。

3、uni-app微信小程序在2016年就已經開始商用,經過多年的積累,已經形成了一個相對完善、活躍的社區,技術和更新也有一個很好的沉淀。同時支持現有微信小程序轉uni-app、h5轉uni-app,遷移難度有所降低。


結論:

①和小程序有關聯,頁面需要復用的項目,如xxx小程序、微信公眾號,建議采用uni-app的方式進行開發。

②和小程序沒有關聯并且開發邏輯較為獨立的項目,例如后臺管理系統,保持不變,還是使用vue進行開發。


四、項目實施


凡事預則立不預則廢,在項目實施前要有規劃和部署。微信小程序和h5混用的矛盾比較突出,需要著手解決;Ios和安卓跨端問題也需要提前做技術儲備。


H5和小程序項目:

(1)新建一個測試項目,使用uniapp的微信小程序轉uniapp工具對xxx小程序代碼轉譯成uni-app。

(2)測試驗證,確保使用uni-app可以覆蓋XXX小程序所有頁面以及所有交互。

(3)測試無誤再平緩遷移到正式版本,時間周期大概XXX個工作日。


Ios和安卓跨端項目:


(1)Flutter dart語言知識儲備。

(2)新建一個測試項目,使用Flutter進行登錄頁、個人頁的開發,并對相機、地理位置、通訊錄等常用api進行測試,驗證h5與原生交互通訊是否高效。

(3)測試無誤再平緩遷移到正式版本,時間周期大概XXX個工作日


五、總結

        上海詠熠科技專注小程序開發,公眾號制作,網站建設

        綜上論述都是基于實戰項目和人員技能掌握情況做出相對比較合適的方案,要在實際項目中運行,總會有一個測試和試錯的過程,能提高開發效率并且項目風險可控的情況下建議進行更新替換是上海詠熠科技為客戶做做工作的*大高興。 



來源網絡

標簽: 小程序





主站蜘蛛池模板: 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | ORP控制器_ORP电极价格-上优泰百科| 造价工程师网,考试时间查询,报名入口信息-网站首页 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | ALC墙板_ALC轻质隔墙板_隔音防火墙板_轻质隔墙材料-湖北博悦佳 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 电磁铁_推拉电磁铁_机械手电磁吸盘电磁铁厂家-广州思德隆电子公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 汕头市盛大文化传播有限公司,www.11400.cc| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 365文案网_全网创意文案句子素材站 | 光照全温振荡器(智能型)-恒隆仪器 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 青岛成人高考_山东成考报名网 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 |