美文网首页
移动应用开发现状

移动应用开发现状

作者: 小小的大雄 | 来源:发表于2020-03-24 22:51 被阅读0次
    自从微信小程序发布以来,这种全新的生态迅速引爆了国内的移动互联网,这种寄生于超级App的小程序模式,在运行效果、开发效率、传播方式都优于传统的H5,引得各大互联网厂商纷纷入局,迅速推出了适合自己生态的小程序。目前已推出小程序的厂商有如下:
    • 腾讯系小程序 (微信/企业微信/QQ)
    • 阿里系小程序 (支付宝/淘宝)
    • 百度系小程序 (百度APP/百度地图)
    • 头条系小程序 (抖音/今日头条)
    加上传统的App以及H5, 如果我们要上线一个完整覆盖各个平台或者渠道的移动端应用,我们需要单独对各个平台进行独立开发。随着流量竞争的白热化,客户对产品上线的要求越来越高:覆盖用户广、迭代周期短、上线发布快,这样也就催生出了许多跨端开发的框架。
    目前所有的小程序都是寄生在原生App里面,开发语言及方式又与传统的H5开发类似。所以,从结构上我们可以将主流移动应用分为三类,具体如下:
    -- 平台及开发语言 开发工具 特点
    H5应用 javascript/html/css vs/Idea Intellij 运行在浏览器,支持跨平台,可自主发布,但使用体验较差
    原生App Android(Java/C++)iOS(Object-C/swift) eclipse/Android Studio/Idea Intellij/vs/Xcode 依赖底层OS支持,同一应用不同OS无法跨平台,需多平台单独开发/发布
    小程序 javascript/ml/ss 对应官方小程序开发工具 运行环境依赖宿主App,多平台单独开发/发布
    H5应用也即Webapp,从互联网诞生之初就一直在进化,从最初的静态页面,到jQuery时代,到如今的SPA/PWA时代。得益于NodeJs的兴起,诸如NPM、Webpack、gulp等前端工程化工具也越来越流行,前端开发框架目前也百花齐放:Angular/Vue/React三驾马车,新兴框架与技术层出不穷。开发效率确实是提高了很多,但由于其对硬件设备和网络依赖较为严重,在使用体验上实在难以达到原生APP。因此,H5在目前的移动互联网时代始终是做为一个配角的存在。
    移动App目前主流一直是Android/iOS两大平台,不同平台单独开发,单独发布。随着前端生态的繁荣以及智能手机整体硬件水平的提高,开发者提出了用Web技术开发移动App的概念:从最开始的Phonegap/Cordova、到后来的Ionic、再到Hybrid/RN/Weex、再到现在炙手可热的Flutter,都是跨端开发的践行者。常用功能采用原生方式进行开发,配全webview加载H5活动页,再配合JSBridge来实现消息互通,这样的混合开发模式可以满足市面上80%的商业场景。但是移动App的开发、维护以及推广成本都比较高,对于部分企业或者个人来说都是巨大的压力。
    小程序的出现,似乎打破了这个僵局
    小程序在开发模式上类似H5,但运行体验以及发布流程中又与原生App类似,看似是一个折中的方案,但却都吸收了H5和原生App各自的优势:
    • 出色的使用体验
      除了第一次加载可能需要等待2秒,后续的使用体验基本与原生App接近,基于开放的Api也可以缝使用系统设备的诸多功能,如:摄像头、电话、陀螺仪等,当然也可以嵌入H5页面。
    • 高效且低成本的开发效率
      各大厂商推出的小程序开发模式,基本与H5开发类似,核心都是javascript,传统的web开发人员,经过短暂的熟悉之后便可以轻松上手。同时小程序的注册/发布基本都是免费,也没有Apple类似的开发者费用。
    • 快速的分享与传播
      能推出小程序的厂商,都是移动互联网的流量之王,一个链接或者一个带二维码的图片,可以通过宿主App快速分享,可以是朋友圈、群聊、评论、或者是传统的邮件、短信等。
    随着小程序的日渐普及,越来越多的开发者加入其中,便出现了许多基于小程序生态的跨端解决方案,目前使用比较多的有以下几种:
    -- Wepy Taro Mpvue uni-app
    开发团队 腾讯 京东 美团 DCloud
    语法风格 类Vue React Vue Vue
    多端复用 微信/支付宝 H5/多平台小程序/RN H5/微信/头条/百度 H5/多平台小程序/App
    状态管理 Redux Redux vuex 兼容vuex
    上手成本 熟悉Vue 熟悉React 熟悉Vue 熟悉Vue
    构建工具 开发工具内置 Webpack Webpack 开发工具内置
    推荐开发工具 微信开发者工具 普通web开发 IDE 普通web开发IDE HBuildX
    最后一次Release日期 2020-03-21 2020-03-24 2019-02-18(2.0.0) 2019-05-18(1.4.4) 2020-03-19
    GitHub地址 wepy Taro mpvue uni-app
    • Wepy

      源于腾讯内部的个人开源项目,其借鉴了Vue的语法风格和功能特性,支持了Vue的诸多特征,比如父子组件、组件之间的通信、computed属性计算、wathcer监听器、props传值、slot槽分发,还有很多高级的特征支持 :Mixin混合、拦截器等。对微信小程序相当友好,不过对其它平台的小程序支持度较差,没有做平台兼容性。

    • Taro

      Taro由就东凹凸实验室开源,基于React生态的小程序组件化开发框架,同时支持JXS,生命周期也是完全与React一致,同时还可以编译成H5以及RN,京东小程序也在准备当中,官方推荐开发框架为Taro。

    • Mpvue

      美团点评出品的Mpvue是最先出现的第三方小程序开发框架,完全合用VueJs的开发模式,可以做到90%的功能复用,同时对小程序Api做了底层的封装,如支持使用mpvue.getStorage() 来替代wx.getStorage(),从而实现不同平台小程序的跨端体验。

    • Uni-app

      国内厂商DCloud推出的一个全功能跨平台开发框架,使用其编写的代码可以一次性编译成小程序/app/h5/流应用等。DCloud一直致力于推广跨平台应用的开发,之前有推出过NativeJs、Mui等开发框架都有很多开发者以及成功案例。uni-app完全兼容VueJS的语法,同时对Vue的核心代码进行了剪切,移除了Dom相关的代码,只保留了虚拟Dom,然后通过独有的JS引擎来进行编译,从而实现一次开发,多端运行。

    关于小程序的跨端开发,uni-app团队做了一次测评,对目前主流的小程序开发进行了对比,具体对比链接
    开发框架的选型的决定因素有许多,如:开发工具、文档、周边生态、框架维护、运行体验等客观因素;也要根据团队自身的成员情况来做依据,如:团队成员对Vue/React的熟悉程度,对新框架的接受效率。

    相关文章

      网友评论

          本文标题:移动应用开发现状

          本文链接:https://www.haomeiwen.com/subject/bbkzyhtx.html