kerkee_android

Introduction: kerkee is a hybrid app framework,This repository is kerkee for android
More: Author   ReportBugs   OfficialWebsite   
Tags:

kerkee Download

kerkee 框架的诞生背景

Hybrid App 兼具了 Native App 的所有优势,也兼具了 Web App 使用 HTML5 跨平台开发低成本的优势。以及具有使用 Native 扩展 Web 接口以弥补 web 无法调用平台性 API 等优势。Hybrid App 也是未来客户端技术的发展趋势。HTML5 的出现,市面上已有很多应用(如淘宝、百度搜索、高德地图)使用了 Hybrid App 的开发模式,但遇到了一些瓶颈(如性能不如预期,无法操作浏览器内部数据流程,无法自定义请求的需求),用户体验没有预期的好。 基于此,一种新一开发模式诞生了!kerkee 框架是市面上唯一的多主体共存的灵活混合型开发模型。

kerkee 框架是什么

kerkee 是一个多主体共存型 Hybrid 框架,具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、集成云服务、具有 Debug 环境、彻底解决跨域问题。

kerkee 官网

使用 kerkee 案例

kerkee 的 Hybrid 架构思想已使用在两款亿级用户量及多款千万级用户量的 APP 上

  • UC 游戏大厅
  • 九游游戏中心
  • 天翼导航
  • 搜狐新闻客户端
  • 搜狐 News SDK(已应用到搜狐视频客户端中)
  • 斗米客户端(商户端、用户端、斗米工作助手)
  • 汽车之家

基于 kerkee 框架的开发模式

从开发者角度来说,它支持三种的团队开发模式:

  1. 针对 Web 开发者
    这种模式其中的一个场景是:只会 Web 开发,却不会 Native 开发的开发者提供了一系列的平台型接口。这种方式具有开发周期短,跨平台等优点。
  2. 针对 Native 开发者
    这种开发模式的其中一个场景是:Native 开发者想要截获 Web 页面的数据或者对数据进行自己的处理,或者 Web 页面中的行为进行修改。在这个时候,Kerkee 框架将会为他们带来便利。
  3. 针对 Web 开发者和 Native 团队共同合作的开发团队
    对于这种模式的团队,kerkee 框架具体更开放更透明的协作,并且严格地隔离各自职责。各得 Web 团队和 Native 团队把主要精力定位到各自的模块上,有利于各自的模块优化到极致。

kerkee 框架特性和能解决的问题

  1. 跨平台
    kerkee 是 Hybrid App 框架,业务 HTML5 开发,HTML5 具备了跨平台的特性,因此 Kerkee 也具备了跨平台的特性。
  2. 用户体验好
    所有的 web 接口都可在 Native 自定义实现,即 Web UI 或数据操作上若满足不了用户体验,皆可通原生的代码进行实现,以达到较佳的用户体验。
  3. 性能高
    在性能方面,kerkee 框架做了大量的优化,底层网络层、IO 操作等皆采用 C/C++实现,并且重写了 WebView,对 Web 中资源(如图片资源等)的控制,以事件驱动模型实现资源请求,并且实现一套针对 Web 的缓存策略,完全抛离 webview 那一套数据流程的操作。使开发者具有更透明的数据操作,以达到更佳的性能,并且突破了原有开发模式下的性能瓶颈。
  4. 扩展性好
    kerkee 框架采用插件式模块化设计,每个模块即为一个 webapp,在需要时可自由扩展。
  5. 灵活性强
    kerkee 内部实现 runtime,自动把 js 接口转化了 native 接口,Web 层与 Native 层严格隔离达到无耦合状态,开发者对整个流程和接口都是开放透明,无特殊约束。
  6. 易维护
    kerkee 框架使客户端严格模块化,使用了接口式的交互模型,具有动态更新特性,易于维护,便以运营。
  7. 规范化
    kerkee 框架符合 W3C 标准,重新实现了 XMLHttpRequest、WebSocket、LocalStorage、Application Cache 等 HTML5 特性。Web 前端开发者只需按 W3C 标准编写代码即可,即一次编写,到处运行的原则,无任何第三方库依赖。
  8. Debug 工具
    kerkee 内部集成 Debug 环境,web 端 log 将会打印到控制台或文件中
  9. 彻底解决跨域
    kerkee 框架采用一套特殊机制,解决了跨域问题,也就是说开发者可以操作互联网上任何一个 Web 页面的数据。
  10. 使客户端架构更清晰
    kerkee 框架会使得客户端的架构更为清晰。整体结构,自上而下分层如下图所示:
    client

  11. 使用简便
    对于开发者来说,使用简便。
    Web 开发者:无需添加其他代码,只需要按 W3C 规范实现代码即可。若要调用 Native 接口,只需要调用框架中对应的 fuction 即可。
    Native 开发者:只需要把对应的类注册到 Kerkee 中即可,代码量不超过 5 行便可使用 Kerkee 框架

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools