开源 HTML5 APP 开发神器 CanTK

简介:

CanTK是一套基于HTML5 Canvas的GUI系统,它提供了完整的控件库,事件分发系统,窗口管理系统和不同的平台的适配。CanTK是为解决HTML5 App开发的两个基本难题而生的:

开发真正Native体验的APP

HTML的基因是文档,它的长处是呈现内容,而不是与用户交互,所以不管怎么努力,都很难开发出与Native媲美的应用。即使拿目前最优秀的HTML5 Mobile Framework(如Sencha touch和KendoUI)开发出来的App来看: 与网页相比,它们确实像APP,但是与真正的APP相比,它们又更像网页。这就是目前HTML5 APP最尴尬的地方。

HTML难以胜任APP开发的主要原因有:

HTML的基因是文档,文档内容微小的改变都会导致界面重排,而用户操作过程有反馈是现代APP最基本的要求,这些反馈都导致界面需要不断重排,消耗大量的CPU时间,所以HTML APP有了性能不佳的名声。

HTML本身并没有窗口管理机制,通常都是通过加载不同的页面来模拟不同的窗口。由于页面加载本身需要时间,HTML5 APP界面切换时通常都要启用等待动画,这也极大的影响了用户体验。

HTML控件本身的局限让模拟Native效果变得非常困难,HTML只提供了最基本的控件,虽然可以通过CSS来模拟一些控件,但是和原生GUI库相比那就差得太远了。

HTML5用来开发APP本身也是很困难的。很多外行都会说HTML不是很简单吗? HTML是很简单!但是用它开发APP却是很难的,否则Sencha touch这些库就不可能卖这么贵了。

上面有些原因可以通过工具或库来解决,有些原因则完全无法解决的。HTML5的出现确实为HTML APP带来了转机,因为HTML5 Canvas元素为开发者带来了巨大的灵活性,但是大部分厂商都是在CSS上是动脑子,所以几年之后HTML5 APP仍然不死不活。

CanTK则是完全放弃CSS和HTML控件,在HTML5 Canvas元素上实现的一套完整的GUI系统。虽然CanTK不是第一个在Canvas上做控件的,但是CanTK却是目前唯一一个完整的GUI系统。

为HTML5游戏引擎提供UI支持

任何一个游戏玩家都知道,游戏场景是只是游戏的一部分,稍微的复杂一点的游戏都有其它界面,比如设置,装备和商店等等。仔细观察这些界面, 我们会发现它们除了皮肤外,与普通APP的界面没有太大不同。HTML5游戏引擎都是基于HTML5 Canvas实现的,它们的优势是挖掘硬件图形渲染潜力(拼的就是速度),而GUI控件方面几乎都很弱。HTML控件表现力不佳,而且很难与HTML5 Canvas无缝集成,这让HTML5游戏开发者不得不花大量时间去做游戏界面。

CanTK解放了HTML5游戏开发者在UI的工作,让他们专注于游戏本身的开发。CanTK为目前流行的HTML5游戏引擎做了适配,其中包括cocos2d-html5, egret, pixi.js, panda.js和phaser.js,以后还会增加其它游戏引擎的支持。

CanTK的特色:

  • 完全开放源码给公司和个人免费使用(Under LGPL 2.0)。
  • 完整的GUI系统满足APP开发的需要。
  • 开发真正的Native-Like的应用程序。
  • 比传统HTML5 APP更好的性能和体验。
  • 无缝集成到HTML5各种游戏引擎。
  • 超强扩展性,可以实现任何你想要的控件。
  • 提供可视化开发工具,在线开发HTML5 APP和游戏。
  • 根据Layout参数自动适配不同分辨率和密度的屏幕。
  • 用JSON取代HTML和CSS,全部界面数据放到一个压缩的JSON文件,一次加载全部界面(数据很少,30个窗口小于40K),界面切换瞬间完成。
  • 支持各种Mobile平台,测试过的平台包括iOS, android, windows phone, firefox, blackberry和tizen。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
23天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
73 3
|
25天前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
25天前
|
开发工具 数据安全/隐私保护 Android开发
【教程】APP 开发后如何上架?
【教程】APP 开发后如何上架?
|
1月前
|
开发框架 前端开发 JavaScript
前端框架演进史:从HTML到现代化开发
前端框架演进史:从HTML到现代化开发
33 0
|
1月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
17 0
|
1天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
23天前
|
Java Android开发 开发者
【Uniapp开发】APP的真机调试指南,从开发到上架全过程
【Uniapp开发】APP的真机调试指南,从开发到上架全过程
34 3
游戏直播APP平台开发多少钱成本:定制与成品源码差距这么大
开发一款游戏直播APP平台所需的费用是多少?对于计划投身这一领域的投资者来说,首要关心的问题之一就是。本文将探讨两种主要的开发模式——定制开发与成品源码二次开发的成本差异及其优劣势。
|
28天前
|
开发框架 移动开发 JavaScript
SpringCloud微服务实战——搭建企业级开发框架(四十六):【移动开发】整合uni-app搭建移动端快速开发框架-环境搭建
正如优秀的软件设计一样,uni-app把一些移动端常用的功能做成了独立的服务或者插件,我们在使用的时候只需要选择使用即可。但是在使用这些服务或者插件时一定要区分其提供的各种服务和插件的使用场景,例如其提供的【uni-starter快速开发项目模版】几乎集成了移动端所需的所有基础功能,使用非常方便,但是其许可协议只允许对接其uniCloud的JS开发服务端,不允许对接自己的php、java等其他后台系统。
135 2
|
1月前
|
移动开发 负载均衡 小程序
代驾app开发丨代驾系统开发玩法详情丨代驾系统开发网页版/H5/小程序及源码部署
**司机/代驾员端**:司机可以通过APP接收订单,查看订单详情、路线和导航,提供现场服务并进行确认。