专栏首页猿湿XoongAndroid Hybrid 混合开发初体验

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 并提供双方通信机制的作用。下图所示。

本文分享自微信公众号 - 菜天(newbietian),作者:菜天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 效率 | 一条命令完成反编译apk操作

    最近又需要反编译 apk 和 manifest 文件,然后就扒拉扒拉,把以前私藏的库拿出来用。

    菜天哥哥
  • 5 个 Android 工具 Apk,有效提升开发效率

    菜天哥哥
  • Android SystemUI(一):图文并茂的介绍 :D

    菜天哥哥
  • Hybird App(一)----第一次接触

    之前一直在做JAVA的项目,最近要开发移动端,对App的开发刚开始的时候是没有任何概念的,有接触也就是玩手机用过的N多App,这算是真正意义山的第一次和App...

    令仔很忙
  • 如何在 Kubernetes 集群中集成 Kata

    安全性和隔离性是 Kata Container 显著区别于 Docker Container 的地方。

    iMike
  • Android 黑科技保活实现原理揭秘

    一直以来,App 进程保活都是各大厂商,特别是头部应用开发商永恒的追求。毕竟App 进程死了,就什么也干不了了;一旦 App 进程死亡,那就再也无法在用户的手机...

    weishu
  • 【高级应用】PowerBI增量刷新原理揭秘及实战详解

    随着 PowerBI 在 2020年2月的更新,增量刷新应该被投票投成了大众货,现在所有小伙伴都可以使用这个功能了。当然,其前提是 PowerBI Pro 帐号...

    BI佐罗
  • 教育直播系统知识点扫盲

    简单来说,教学直播系统最初是以直播平台为开发点,加入在线授课、课程点播、网课售卖等功能的远程视频教学软件。随着深入开发,教学直播系统的功能不断完善,形式也更加轻...

    万岳教育系统
  • Android高级开发-APK极致优化

    使用矢量图代替位图可以减小 APK 的尺寸,因为可以针对不同屏幕密度调整同一文件的大小,而不会降低图像质量。

    Android技术干货分享
  • 05 设计模式 原型设计模式

    原型设计模式:顾名思义,通过一个原型来建立对象。因为有些对象过于庞大,通过new关键字创立十分消耗资源,故采用原型设计模式,可以理解为克隆

    shimeath

扫码关注云+社区

领取腾讯云代金券