Android Hybrid 混合开发初体验

前言

我虽说一直在做 Android,但以前涉及到的互联网元素寥寥无几。

最近熟悉项目,就发现项目中用是原生框架 + Web 前端展示这种混合开发的形式。俗称 Hybrid(译:混合动力),典型的互联网 App 开发方式。

虽说听过此类玩法,但愣是写了三年的原生代码却没研究过 Hybrid。这谁顶得住,遂赶紧熟悉熟悉,虚心学习。好尽快融入集体,跟上组织步伐。

根据5W+1H原则来了解新事物,将Hybrid初探分为以下几节:

什么是 Hybrid?

比较正式的说法是:Hybrid App(混合模式移动应用)是指介于web-app、native-app 这两者之间的 App,兼具“Native App 良好用户体验的优势“和 ”Web App跨平台开发的优势“。

通俗的讲,在开发App的过程中,同时使用到 Web 技术和 Native 技术,就是 Hybrid App。主要是在 Native App 中使用 WebView 浏览网页应用,两者约定API,然后相互调用。

当我看到 Native App,出于之前的 Android 系统工程师职业习惯,有那么一瞬间认为是 C/C++ 开发的 daemon 程序。其实不是。

站在前端角度,这边的 Native App 就是指各平台的原生应用,Android 中的 APK、iOS 中的 IPA。

那么问题来了,我有好用又能打的原生开发方式,为什么还需要混合开发?

为什么要 Hybrid?

或者说是Hybrid存在的意义是什么?

假设以下这些场景:

场景1:

小菜做了一款 Android App 1.0,千辛万苦等到商店审核通过。忽然发现一处严重bug,只好赶紧修复,然后提交审核。五天后,还没等到 1.1 发布,因前期用户口碑过差,卒。

场景2:

小菜做了一款 Android App 1.0,千辛万苦等到商店审核通过。忽然发现用户好评如潮,被广泛传播,许多 iOS 用户也想使用。小菜于是从头开发 iOS 1.0,完事后发现别人已经模仿开发并占领了 Android 和 iOS 用户,卒。

可以看出来,原生 App 开发,有以下缺点:

  1. 不同平台的 Native App 需要各自单独开发、维护,各端成本过高;
  2. 使用 Native App 无法在用户无感知情况下修复 bug,需发布升级包;
  3. Native App 升级成本高,导致的迭代速度慢与繁琐。

在现如今的互联网领域,无法快速迭代、快速而低成本试错的产品,基本上活的不长。

而使用 Hybrid 方式开发后,使得一套代码可以两端使用、加快迭代速度、进一步降低了开发、维护成本。

又因为近年来硬件配置提升、Android操作系统升级优化、HTML5 出现,使得 Web App 使用体验巨大提升,更是让 Hybrid 愈加火热(早就火了,就我没怎么关注)。

得知 Hybrid 这种开发方式之后,小菜痛定思痛,努力学习三天四夜,千辛万苦做了一款 Hybrid App 1.0。小菜因为加班熬夜太猛,没顶住,卒。

Android 使用 Hybrid 简述

这个话题准备在下一篇阐述,这里仅描述下基本原理。

不管是 Android 还是 iOS,在实现上都使用到了 webview。webview 在 Hybrid App 中起到了承载 Web App 并提供双方通信机制的作用。下图所示。

原文发布于微信公众号 - 菜天Android(newbietian)

原文发表时间:2019-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券