加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

原生开发与混合开发

发布时间:2023-04-25 08:51:18 所属栏目:教程 来源:
导读:原生开发一般是指用原生语言进行开发,原生开发语言就是官方提供的开发语言,比如 IOS 是利用 Objective-C 和 Xcode 进行开发、小程序是用微信小程序原生语言和微信开发者工具进行开发。

混合开发
混合开发是指开
原生开发一般是指用原生语言进行开发,原生开发语言就是官方提供的开发语言,比如 IOS 是利用 Objective-C 和 Xcode 进行开发、小程序是用微信小程序原生语言和微信开发者工具进行开发。

混合开发
混合开发是指开发一个项目应用时,为了提高运行效率或者开发效率,将各种开发技术进行混合应用的开发形式。

混合开发将各种开发方式取长补短,虽然比原生开发更难上手,但是架不住开发效率和运行效率的优势,现在比较大型的应用项目都会用混合开发来进行项目开发。

uni-app 的混合开发主要是为了实现一些 uni-app 框架无法实现的功能,或者扩展接入一些第三方的 SDK。

原生开发与混合开发的优缺点

原生开发优缺点
有过开发经验的小伙伴看到版本问题应该非常感同深受吧,经常会冷不丁的出现版本不兼容的问题。只要出现版本问题,重新布置开发环境是常有的事情。

而原生开发受到版本问题限制会比较小,官方的代码和开发工具都是定时更新,兼容性、安全性、维护性也会更高一些。

而原生开发普遍存在着开发时间长、效率低、成本高的问题。相比 uni-app,适用性也比较差,一款原生的 App,不同平台上面发布同样的项目,需要开发几套不同的代码,这样对我们开发的限制也很大。

混合开发优缺点
采用混合开发,我们可以采取各开发技术的优点,取长补短,可以提高代码的运行效率,功能扩展性上也会更好一些。

混合开发是缺点就是对开发人员技术要求比较高,需要花更多时间熟悉。并且因为涉及到多种开发方式,维护会更加麻烦一些,版本兼容问题也会比较多。

uni-app 和原生 App 混合开发问题
要使用 uni-app 和原生 App 进行混合开发之前,要先确认要用 uni-app 还是原生 App 代码作为主体。

主体采用 uni-app
如果我们主体采用 uni-app 进行开发,只是部分功能的实现使用原生开发,这样可以找一些原生项目的插件用来配合开发。目前更多项目是使用原生插件扩展的方式来进行开发的。

这样代码实现就不只是通过 uniapp 框架来实现的了,而是通过原生 API 实现的,uniapp 只是负责调用一下。

这里需要注意的是,如果想要将项目离线打包,就不应该使用原生 SDK,而应该使用 App 离线 SDK。

App 离线打包 SDK,是把 App 运行环境(runtime)封装为原生开发调用接口,开发者可以在自己的 Android 及 iOS 原生开发环境配置工程使用。

接下来我们举个自定义扫码的例子,看看如何在 uni-app 中如何扩展 5+ 的原生界面控件。在 uni-app 开发中,平台其实给我们提供的扫码 API,但是并不能满足我们所有扫码的需求,比如想要自己自定义扫码框的颜色。

实例:

//  uni-app 中的扫码功能直接调用 plus API就可以了,而扩展5+的原生界面控件要等 plusready 后再调用 plus API。
var plusReady = function (callback) {
    if (window.plus && window.plus.isReady) {
        callback();
    } else {
        document.addEventListener('plusready', function () {
            callback();
        }, false);
    }
};
//创建 Barcode 实例对象,可以自定义扫码框的位置大小和颜色
var barcode = plus.barcode.create('barcode', options.types, options.styles);  

主体采用原生 App 代码
如果主体采用原生 App 代码,只有部分功能需要通过 uni-app 实现,这样可以在原生 App 里集成 uni 小程序的 SDK,也就是原生 SDK。
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章