前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Hybrid 混合开发初体验

Android Hybrid 混合开发初体验

作者头像
菜天哥哥
发布2019-05-17 14:37:51
2.8K0
发布2019-05-17 14:37:51
举报
文章被收录于专栏:猿湿Xoong猿湿Xoong

前言

我虽说一直在做 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 并提供双方通信机制的作用。下图所示。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜天 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档