基于统软云的混合app开发框架HybridStart简介
APP开发
浏览:789 次

就个人而言,我认为以统软云为代表的混合应用云平台是现阶段最适合我的。对于不了解本机开发的前端用户来说,其他解决方案中的漏洞真的很难踩到。为了让他们踩到的漏洞不再困住人们,我总结并将基于云平台的项目经验封装到一个混合app开发框架中。让我们来谈谈这个框架,HybridStart。
为什么我们需要HybridStart平台提供的功能?统软云集成了窗口系统、app管理、网络通信、数据存储、消息事件、设备访问、UI组件和多媒体等功能。这些函数可以直接调用,无需额外的插件支持。“开箱即用”是当之无愧的。官方文档非常详细地介绍了api,第一次打开文档时,您可能会觉得信息量太大。我不知道从哪里开始。让我们以窗口系统为例,介绍统软云为我们提供了哪些功能,以及为什么它仍然需要在实际项目中重新封装。
多web视图是统软云的核心,这意味着一个app就像一个网站一样,由几个独立的页面组成。使用该app将依次打开多个页面,形成一个堆栈。新打开的页面显示在顶部,之前打开的页面堆叠在底部。您可以通过返回、跳转和关闭等操作导航页面堆栈。这些操作由窗口系统提供,该窗口系统至少包括以下功能:
打开/关闭页面
切换浮动窗口

跳转页面
跳转到浮动窗口
跨页面执行脚本
本地存储
页面状态监视

全局事件发布/订阅
这些功能足以满足窗口管理中的所有要求,其中一些功能甚至非常强大,例如跨页面脚本执行,这意味着您可以在页面A和页面B上远程执行指定的脚本;其他功能可以直接操作堆栈,例如将指定的页面/浮动窗口设置为顶部/底部;还有一种非常实用的发布订阅机制,这是一种有效的工具,可以穿透页面缺口。
该函数已经足够了,但您可能无法在阅读后编写代码。
平台缺少什么?该平台并不缺乏功能,但我仍有许多问题。至少当我第一次接触车窗系统时,我脑子里有很多问题。
第一个问题,什么是浮动窗口?浮动窗口的背景是,只有<body>只有节点生成的滚动才能具有平滑的原生弹簧效果,<div>或者其他标签生成的滚动非常沉闷。我们应该如何处理APP上的本地滚动?我们可以通过用一个小的webview覆盖当前webview来实现平滑的本地滚动,就像<iframe>,这是一个浮动窗口。浮动窗口与主窗口具有依赖关系。浮动窗口无法调用close方法来关闭其父窗口。细心的学生会问,为什么不

第二个问题,如何在窗口之间传递参数?主要有两种方法。首先,打开窗口的方法本身支持参数传递,并且可以通过指定api在新窗口中获取参数。然而,这种官方方法并不是最好的解决方案。最大的缺点是需要等待本地函数准备就绪,即需要在异步回调函数中获取参数,这不够快;另一种方法是使用本地存储在原始页面上存储参数,并在打开新页面后检索参数。本地存储是一种web功能,可以直接调用,而无需等待本地函数就绪,因此效率更高;理论上,有第三种和第四种方法,例如使用跨页面脚本执行来获取另一个页面中的变量,或者使用事件监视机制连接两个页面以便传递参数。然而,这些都非常精彩。你需要从理论上解释一下,在URL中添加“”?a=b&C=d也是可能的,但它与某些Android系统不兼容,因此无法使用。
第三,如何同步多个页面的状态?多页机制的最大问题是状态分布在每个页面中,需要手动同步状态。例如,如果用户在打开N个页面后突然注销,则需要将后台页面更新为非登录状态,并需要发布和订阅全局事件;另一种情况是列表数据的实时更新。你可以听前面和后面