TAT.melody Webtop 桌面 HTML5 WebApp 引擎
In 未分类 on 2012年07月20日 by view: 38,170
57

新版发布,敬请关注

这是个什么东西?这是个用 web 开发桌面 app 的引擎,或者你可以简单的认为它是一个透明浏览器。可是它能做的不仅仅如此,它提供了大量的本地 api,使 web 的能力得到从所未有的提升,也使开发桌面 app 变得如此轻松简单。你有试想过自己开发一个浏览器吗?或者一个 qq。以前,或许你会说这太难了。可是,从今天开始,这一切都变得如此简单。这不是预想,这是已经实现的事情。

下载地址:

官方群:257960168

 

一、示例 Demo

这个引擎本来是无影无形。可是,人们总是希望能看到一个东西。所以,我做了一个初始界面,放了几个 demo 在上面。

透明浏览器

音乐 widget

桌面尺子

 

二、使用详解

说了这么多,或许你会急切的想知道该怎么开发,或许你会期盼一个教程。我很遗憾的告诉你,没有教程。因为这一切都是原有的东西,你只要会开发网页,你就能做 app。我只会给出我的一些建议。建议在开发时使用提供的透明浏览器 demo 进行调试,可以点击右上角这个按钮打开控制台,点击右上角这个按钮可以生成.app 文件,可以直接双击运行。或者你可以使用记事本打开.app 文件(注:不要设为默认打开),你就会明白原来一切是如此简单。

下面我给出一个尚未定稿的 api 说明文档:

以下为 api 列表和浏览器事件的回调函数列表,api 较多,并未全部列举出来,可按 f12 打开控制台输入 webtop 查看全部 api

  • webtop.close = function() { };//关闭窗口
  • webtop.stopDrag = function() { };//停止拖拽
  • webtop.setSize = function(w,h) { };//设置窗口大小
  • webtop.move = function(x,y) { };//移动窗口
  • webtop.max = function() { };//最大化窗口
  • webtop.mini = function() { };//最小化窗口
  • webtop.restore = function() { };//还原窗口
  • webtop.drag = function() { };//开始拖拽窗口
  • webtop.bringToTop = function() { };//窗口移到最上层
  • webtop.focus = function() { };//窗口聚焦
  • webtop.loadUrl = function(url) { };//改变窗口的 url
  • webtop.getPos = function() { };//获取窗口位置
  • webtop.getSize = function() { };//获取窗口大小
  • webtop.enableDrag = function() { };//允许全窗口拖拽
  • webtop.quit = function() { };//退出进程
  • webtop.ready = function() { };//调用后会调用窗口的 webtop.readyHandler() 函数
  • webtop.createWindow = function(url,exStyle,transparent,readyHandler) { };//创建窗口
  • webtop.createWindowBase = function(url,exStyle,transparent,readyHandler) { };//使用相对路径创建窗口
  • webtop.createBrowser = function(url) { };//创建浏览器,会新起一个进程
  • webtop.browse = function(url) { };//浏览网页
  • webtop.setTitle = function(title) { };//设置窗口标题
  • webtop.getImage = function() { };//把网页存为图片
  • webtop.showDev = function() { };//显示调试工具
  • webtop.readFile = function(path) { };//读取文件,只直接字符串
  • webtop.writeFile = function(path,s) { };//写文件,只直接字符串
  • webtop.getSaveName = function(filename) { };//打开保存对话框
  • webtop.runApp = function(appName) { };//在当前进程运行 app
  • webtop.runAppEx = function(appName) { };//在新起的进程运行 app
  • webtop.getOpenName = function(filename) { };//打开 “打开” 对话框
  • webtop.reload = function() { };//刷新页面
  • webtop.reloadIgnoreCache = function() { };//强制刷新页面,不使用缓存
  • webtop.setTopMost();//窗口置顶
  • ……

回调函数

  • webtop.sizeHandler=function(w,h){}//窗口大小改变后的回调函数
  • webtop.moveHandler=function(x,y){}//窗口移动后的回调函数
  • webtop.closeHandler=function(){}//窗口关闭后的回调函数
  • webtop.focusHandler=function(){}//窗口聚焦的回调函数
  • webtop.activeHandler=function(x,y){}//窗口激活的回调函数
  • webtop.dragHandler=function(fileList){}//文件拖拽进来的回调函数
  • ……

很遗憾,在这里我不能把一些高级功能及高级使用方法列出来。不过,如果您愿意,可以联系我,我会尽我所能给予帮助。请持续关注我们的博客~

http://www.alloyteam.com/2012/07/webtop-engine/

这一切,只是为了我们能生活得更好~

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2012/07/webtop-engine/

  1. 6z 2014 年 1 月 16 日

    双屏幕下(将应用程序拖到第二个屏幕),鼠标拖动窗体边缘,改变窗口大小后,鼠标再也回不到正常状态了

  2. shusnail 2014 年 1 月 2 日

    木有教程?

  3. xioxin 2013 年 11 月 15 日

    还有不少 css3 不兼容

  4. iwind 2013 年 11 月 1 日

    点击右键可否能出现 “返回” 和” 刷新 “按钮?这两个功能很有用。

    • iwind 2013 年 11 月 1 日

      还有元素点击后无反应。

  5. 红红 2012 年 9 月 4 日

    里面用的是 CEF1 还是 CEF3 啊

    • TAT.melody

      melody 2012 年 9 月 4 日

      cef1

      • 碌木 2012 年 9 月 6 日

        cef1 和 cef3 两者有什么区别. 我至今未明白

  6. TAT.melody

    melody 2012 年 8 月 29 日

    新版发布,去掉 handler 参数,支持托盘图标

    • 碌木 2012 年 8 月 30 日

      继续苦等开源

  7. Yeats 2012 年 8 月 11 日

    另外还有个小问题, 就是基于浏览器的认证, 在非 AD 帐号下, 就无法运行了. 因为认证帐号时不会弹出认证窗口。在 AD 环境下无问题。

    • TAT.melody

      melody 2012 年 8 月 11 日

      嗯,这问题正在考虑解决方法中。

  8. Yeats 2012 年 8 月 11 日

    请问 webtop.getImage 保存的图片在哪里呢? 怎么设定保存图片文件名呢?

    • Yeats 2012 年 8 月 11 日

      文件路径是默认的临时文件路径, 自动保存为 BMP 并打开了, 如果我想设定为不自动打开, 并获取写入的文件名, 然后调用系统发邮件告诉用户那边的目前状况. 有点像汇报 Bug 那种, 可以进一步怎么编写呢?

      • 匿名 2012 年 8 月 11 日

        请使用 toImage 或 toImageEx 接口,getImage 或许会废弃。参考示例:
        webtop.toImage(handler,’1.png’);
        webtop.toImage(handler,’1.png’,10,10,200,100);

  9. 2012 年 8 月 9 日

    那个浏览器的框架在 windows2003 下会出现如下情况:
    拖动,整个浏览器的外框架移动了,页面还是停留在原来位置。还有,不知去哪里把任务栏中的 “透明浏览器” 改为自己想要的

    • 匿名 2012 年 8 月 9 日

      只在 windows2003 下出现吗?另外,不知去哪里把任务栏中的 “透明浏览器” 改为自己想要的,这句话不太理解,能否具体描述下。

    • TAT.melody

      melody 2012 年 8 月 9 日

      嗯,只在 windows2003 出现吗?另外,你指的是标题都一样对吧,因为是 demo,所以很多功能还不完善,后续会继续完善,谢谢你的意见。

      • 碌木 2012 年 8 月 9 日

        webtop 程序标题可以自己在页面上用 webtop.setTitle 设置

  10. Yeats 2012 年 8 月 9 日

    Bug 报告, 在终端服务器 (Win2008R2, IE9) 使用 Mstsc 连入后无法执行窗口,本地使用 OK。

    • TAT.melody

      melody 2012 年 8 月 9 日

      可否详细描述一下

      • 碌木 2012 年 8 月 9 日

        就是在远程桌面模式下服务器上无法执行 webtop, 本地计算机就可以

      • Yeats 2012 年 8 月 11 日

        是的. 远程桌面登录上去后运行,就只出现图标在任务栏上,看不见窗口,无论透明不透明都看不见。

        • TAT.melody

          melody 2012 年 8 月 11 日

          嗯,应该是系统配置的问题。多谢提出问题,后续我会进行验证,并思考解决方案。

  11. 碌木 2012 年 8 月 7 日

    怎么调用 p2p 功能不介绍介绍?

    • 匿名 2012 年 8 月 7 日

      嗯,正在整理,等出正式版时会连教程一起出,现在可以在调试器控制台里打 webtop,会列出所有方法~

    • TAT.melody

      melody 2012 年 8 月 7 日

      教程会随正式版一起发布,现在可以通过按 f12 打开控制台,输入 webtop 会列出所有方法

      • 碌木 2012 年 8 月 7 日

        那唯有继续等了

  12. TAT.melody

    melody 2012 年 8 月 6 日

    新增 p2p 功能

    • 碌木 2012 年 8 月 6 日

      p2p 在 webtop 是指什么意思啊? 没想到相关的概念…

      • TAT.melody

        melody 2012 年 8 月 6 日

        只要连上服务器就可以两台机直连了,可以用任何一台机子做服务器

        • 碌木 2012 年 8 月 7 日

          websocket?

          • 匿名 2012 年 8 月 7 日

            也可以这样说吧,在 web 上使用 socket

            • 碌木 2012 年 8 月 7 日

              回复的样式太别扭了, 位置越来越小… 坑爹啊

  13. TAT.melody

    melody 2012 年 8 月 3 日

    解决了音乐 widget 奔溃的问题

  14. Joker_Qyou 2012 年 7 月 26 日

    只有 windows 版本的?

    • TAT.melody

      melody 2012 年 7 月 26 日

  15. 天满流云 2012 年 7 月 25 日

    后续给开发者带来一个问题,如何把我的 app 放到傻瓜用户的桌面上,我的意思是说让用户先安装透明浏览器,然后打开访问我的应用再点浏览器上的本地化肯定是不行的。

    • TAT.melody

      melody 2012 年 7 月 25 日

      嗯,这也是我们在思考的问题

  16. 碌木 2012 年 7 月 25 日

    感谢分享, 坐等详细教程

  17. secretkey 2012 年 7 月 23 日

    求具体教程,我对音乐播放那个很有兴趣啊,very cool !

    • TAT.melody

      melody 2012 年 7 月 23 日

      不久会在本博客发布

  18. iSpring 2012 年 7 月 23 日

    太棒了!

  19. @前端开发那些事儿 2012 年 7 月 23 日

    不是很成熟唉~, 打开网页的时候拖动会有问题~

    • TAT.Kinvix

      TAT.Kinvix 2012 年 7 月 23 日

      目前技术已经很成熟了,你说的拖动问题我们没有发现,可否详细说说?

      • @前端开发那些事儿 2012 年 7 月 23 日

        就是打开一个页面的时候拖拽会出现,框在动,而页面没动(是卡死在那),我的测试机机器是 windows xp

        • TAT.melody

          melody 2012 年 7 月 23 日

          嗯,这可以通过多进程来做,避免 UI 卡死,考虑在下个版本提供多进程通信能力

  20. TooBug 2012 年 7 月 20 日

    跟 Adobe AIR 比起来有哪些优势呢?另外最后发布的产品是什么格式?什么形式,是否需要安装?

    • TAT.melody

      melody 2012 年 7 月 20 日

      基础的引擎需要安装,开发的 app 不需要安装,网页开发比起 air 开发门槛还是要低一些。透明的性能比起 air 要好一些。

      • 匿名 2012 年 7 月 23 日

        开发门槛倒未必低吧,基于 HTML 的 AIR 开发也很容易的哦。

        • TAT.melody

          melody 2012 年 7 月 23 日

          嗯,会的人就觉得简单了。自己觉得好用就行了。

    • TAT.Kinvix

      TAT.Kinvix 2012 年 7 月 20 日

      可以通过 http 方式发布,不需要安装到本地,直接在线运行,随时更新,比 AIR 轻量很多

      • 匿名 2012 年 7 月 23 日

        我还是希望提供打包的方式,既然是要延伸到桌面了,为什么还需要在线访问呢?运行时的普及会成为一个大问题,除非是像 360 或者 Q+这样有庞大的运行时基础,才可能真的让应用的在线发布变得容易。

    • TAT.Kinvix

      TAT.Kinvix 2012 年 7 月 23 日

      相对 AIR,Webtop 可以纯 web 开发,Webtop 中的 WebApp 可以在线不需要安装到本地,当然也可以放在本地离线运行。另外对 HTML5 支持非常良好,完全超越 AIR,
      只要会做 web,就可以开发和客户端体验一样的 App 了

发表评论