javascript - hybrid 模式APP开发的疑惑,求大神解答!

 RvJ手机用户2997047695f 发布于 2022-11-17 23:21

如题:我先来简单说下自己的理解吧,如有错误希望童鞋们可以指出!

  1. hybrid模式开发APP,其实就是我们平时在移动端(浏览器端)构造的单页面应用,只是将这SPA嵌套到了安卓或者IOS的webview中去(当然中间会有ionic等类似中间件的打包)。

  2. 由于webapp虽然在跨平台上表现的很不错,但是在一些稍微低端的安卓机下用户体验不是很好,卡顿现比较的严重。

  3. 其实hybrid模式开发APP也可以不使用单页面应用,但是在页面跳转的时候网速较差会出现白屏,等比较影响用户体验的事情发生,所以大家大多会采用SPA应用的模式,而angular,vue等比较成熟MVVM框架就成为了首选。


好,基于上面的理解,现在如果给我一个hybrid模式的APP我就会采用SPA的单页面应用模式去处理。例如现在我们有一个新闻列表,默认一开始会渲染十条新闻,在下拉的时候会去ajax请求后台,渲染列表。


以上是我对于混合模式开发APP的一些理解,那么问题来了。通常情况下,我们都会请求后端给的接口去得到相应的数据。但是在hybrid模式下的APP呢,今天听一个人给我说是我(前端)不发起请求,而是去调用ios/安卓的(类似于接口的东西),然后由navtive原生向后端发起请求,得到相应的东西。

如果按照这么来,确定不是在逗我?这样我的单页面应用怎么做,本人没有做过hybrid模式的APP,最近想研究一下,但是在这个问题上就卡住了。

希望有大神可以回答一下我的问题,例如,现在在一个混合模式的APP下,有一个商品列表,默认加载20个,在下拉的时候会去请求得到数据,然后渲染。那么这个请求是怎么发出的?我们在模块里ajax?还是我们在模块内ajax,然后ionic这类中间件会帮我们处理好了?还是说怎么做?

2 个回答
  • 根据你的描述,你在webview中所使用的SPA应用是基于服务器的,不会存在请求的问题。如果是基于本地的,才会存在请求的问题(ajax跨域),可以用jsonp请求、原生请求、服务器允许跨域等方法来解决。基于服务器的SPA在性能上弱于本地。

    我来说说我们的解决方法,SPA基于本地(APP打包时内置初版的SPA),请求走的原生,数据从服务器获取(和原生APP是一个模式,只是页面和逻辑代码是用html和js实现罢了)。由于页面是本地的,所以加载速度比从服务器加载快了不是一点半点。当业务有更新的时候,只需从服务器下载压缩包,解压更新本地文件就可以了。这样在不进行APP大版本更新的情况下可以做到业务动态更新。

    2022-11-18 01:20 回答
  • 没必要用原生来发起请求,个人认为一般用原生发起请求是在原生的插件中使用,而普通的 hybrid 模式中,比如你说的 ionic,你封装一下 angular 的 $http 服务就够用了。

    另外其实个人认为,react nativeweex 的模式在当下要优于传统的 hybird 模式,题主可以尝试一下。我就是从 hybird 迁移到 react native 的,性能、稳定性和体验上都提升蛮大的。

    2022-11-18 01:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有