#HybridFramework
开发Hybrid App的Html容器,基于自定义私有协议实现,同前端开发环境 NodeWeb协同工作 当然,如果习惯在android studio中编写html代码的话,也是可以直接使用的
##写在前面 笔者并没有奢望能创造出来一个能跟cordova一较高下的框架,如果从头开始的话,笔者更愿意从一开始就使用cordova 只是希望能从工作经验出发,维护一个小型项目使用的,可以快速开发、测试的版本,并对自己的工作做一些总结
##基本原理 HybridFramework同常规HybridApp的区别主要体现在 web页面通过Proxy同android native交互,Proxy通过私有协议实现,而不是使用JavascriptInterface。 好处是前端代码兼容iOS(目前iOS框架基本功能已有但尚未重构,有兴趣的可以联系我)
##基本使用 V0.2 直接导入项目到AS,即可开始使用。
V0.1 配置gradle 如果同NodeWeb协同工作,需要配置此步
##TODO
##修改记录 ####2017-02-06 前段时间出差和过年,今年计划使用Vue重写NodeWeb,并逐步实现TODO-list中的内容。另外还有一些脑洞,整理之后再写吧
####2016-11-18 今天看到了一个 关于Hybrid讨论的帖子 里面对Hybrid模式进行了不错的总结,里面提到了一个很好的关于资源离线缓存的问题,主要的应用场景就是在访问在线资源时,通过webview的转发,访问本地资源从而达到节省流量提高速度的目的 结合目前框架的实现,需要在自定义webview(CustomWebClient.java)上做一些工作,通过HybridGlobal对外暴露相关接口 其实这个部分本来也是在计划中的,但是考虑到本框架的主要应用场景并不是为了访问在线网页而存在的,最后就把这部分的工作先放下了。
在回复中还提到了一个开源框架 kerkee果然还是重复制造轮子了么555555,很值得学习。
不过kerkee使用的GPLv3协议,对商用不友好,请大家注意。
另外,关于自动化测试部分,笔者并不知道对于HybridApp如何集成测试框架或者有什么测试框架可以直接使用的,不过看到kerkee文档中提到了测试的相关内容,有时间了学习一下 目前该框架的集成测试部分是在NodeWeb中进行的,基于NodeJS,提供了HttpServer可以模拟数据请求,可以使用集成测试,可以在PC上调试页面,可以通过少量的配置无缝引入本框架,感觉暂时已经够用了
怎么说呢,笔者已经不想在HybridApp模式上花费更多的时间了,对于Hybrid的常见模式,本框架和上面的帖子链接里面已经做了不少。 笔者会维护一个TODO-List,对于能想到的问题进行记录,如果以后碰到实际应用中需求并实现了,会更新到版本中。 同时也欢迎PR。
####2016-11-17 版本更新到V0.2。作为当前以及以后的稳定版本,实现了初步的模块化,并补充了相关的样例。 V0.2相比于V0.1最大的变化是去掉了内置了Build-In HttpServer,提出了proxy的概念替代原有的HttpHandler,用于前端js同本地代码的交互。 框架提供了代理的自定义接口,方便进行扩展。
剩余的一个问题是在不更新程序的情况下动态更新内容,这包括两个方面的内容
cordova可以通过 cordova-app-loader 插件实现类似的功能 它好像维护了一个更详细的manifest.json用于维护文件版本,没有仔细看,估计原理跟这思路差不多。 大体的思路就这样了,框架不再提供具体实现。
####2016-11-10 版本更新到V0.1。作为第一个版本,已经对原有框架进行了初步重构,实现HybridApp的常用功能。
####2016-11-09 同步NodeWeb代码 修改日志,加入日志缓冲区,优化日志输出 系统的日志系统只用于调试和输出到文件,如果要在正式发布的应用中追踪异常,推荐使用腾讯bugly
####2016-11-04 初始化上传 目前还没有文档,稍后会补充完整使用说明 最近事情会比较多,脑洞也比较大,希望能对整个系统进行重构,主要是针对模块解耦,动态加载部分 我想等重构得差不多了,再补充完整的文档
能力有限,如果您看到了这个项目并有任何想法,忘不吝赐教 keithknight@qq.com
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型