CanTK 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
CanTK 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
CanTK 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
CanTK 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
CanTK 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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。

3

在线演示:

基本控件:http://gamebuilder.duapp.com/apprun.php?appid=511409555747143

连连看:https://jsgames.sinaapp.com/animal-link/

拼图游戏:https://jsgames.sinaapp.com/puzzle-1/

计算器:http://dapp8.sinaapp.com/calculator/

秒表:http://dapp8.sinaapp.com/stopwatch/

展开阅读全文

代码

评论 (6)

加载中
还不如我写的
2016/12/29 16:59
回复
举报
哟呵,这个牛B了,把UI控制又重新定义了,这个出了得再出个可视化的IDE工具. CanTK
2014/09/09 17:13
回复
举报
我其实期待一个能够运行js和html的app,不必为了自己写一个小工具还得去买苹果的开发者授权,当然,得离线应用。现在用的是一款js开发工具,比较累的说。 CanTK
2014/09/09 17:38
回复
举报
sinaapp 支持https啊 CanTK
2014/09/09 22:37
回复
举报
好垃圾…… CanTK
2014/09/10 08:23
回复
举报
刚刚在4s上运行了一下,太卡,不流畅。bug蛮多 CanTK
2014/09/13 10:39
回复
举报
更多评论
暂无内容
发表了博客
2015/03/08 17:43

当CanTK遇到PhoneGap

有朋友问能不能在[CanTK](https://github.com/drawapp8/cantk)和[AppBuilder](gamebuilder.duapp.com/appbuilder.php)开发的APP里发送UDP数据,HTML5里只能用HTTPS/HTTP/WebSocket几种通讯方式,要使用UDP需要通过phonegap打包成APK等特定平台的安装包。所以花了点时间写了篇文档介绍PhoneGap打包[CanTK](https://github.com/drawapp8/cantk)APP的过程。 下面以一个UDPDemo为例,介绍Linux下phonegap编译APK的全过程(Fedora 20...

0
0
发表了博客
2015/03/08 17:45

phonegap插件加载与使用

有朋友问能不能在[CanTK](https://github.com/drawapp8/cantk)和[AppBuilder](gamebuilder.duapp.com/appbuilder.php)开发的APP里发送UDP数据,HTML5里只能用HTTPS/HTTP/WebSocket几种通讯方式,要使用UDP需要通过phonegap打包成APK等特定平台的安装包。为此我写了一个UDP的例子,但是运行时遇到的问题,所以花了些时间去研究phonegap加载udp插件的过程。 **1.添加需要的插件** 在cordova_plugins.js中存放了APP引用的插件列表,...

0
0
发表于大前端专区
2015/03/03 11:39

集成代码编辑器ACE的经验

ACE是最流行的在线代码编辑器之一,在[CanTK](https://github.com/drawapp8/cantk)的集成开发环境[GameBuilder](http://gamebuilder.duapp.com/)里也使用了ACE。ACE的功能非常强大,但是由于使用方法不当,大家反映[GameBuilder](http://gamebuilder.duapp.com/)的代码编辑器不好用。最近花了点时间去完善它,这里把遇到的问题写出来,供有需要的朋友参考。 ####**1.Linux下代码显示与输入不一致。** Fedora下代码显示与输入不一...

0
0
发表了博客
2018/08/06 14:00

AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】

转自:https://blog.csdn.net/absurd/article/details/80958279 AWTK = Toolkit AnyWhere AWTK是吸取了FTK和CanTK的精华,重新开发的GUI,计划分以下几个阶段实施: 第一阶段专注于嵌入式系统,到达并超越TouchGfx/Embedded Wizard的功能。计划在2018/9底完成。 第二阶段用AWTK本身开发界面编辑器(或组态软件IDE),从而验证AWTK支持PC软件开发的能力。计划在2018年底完成。 第三阶段支持Mobile应用程序开发,这一步比较容易,因...

0
0
发表了博客
2016/03/11 15:50

2014年国人开发的最热门的开源软件TOP 100

不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必。做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可。中国是开源不可忽视的力量。 而我们这个榜单也是从这些国人开发、主要参与开发或者基于国外开源软件进行改进并形成独立版本的软件中,根据该软件的访问、收藏、下载等多个角度,从而得出前 100 名最受欢迎的开源软件。我...

0
24
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
6 评论
387 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部