从今天起,记录CEF使用开发心得经验
2014-05-20 12:50
615 查看
已经使用CEF来呈现桌面程序界面大半年了,从来没有写过相关博文。发现网上的中文资料甚至英文已经无法满足我的开发需求,不少问题只得自己探索。在此先谢过网络上各位CEF使用开发博文的贡献者,没有你们我也难易快速入手。实在惭愧,由于精力有限,自己捣鼓出来的东西一直没有贡献出来。好吧,从今天开始,面朝大海,春暖花开。
原先公司的C++程序界面用GDI+来做,甚是麻烦。后来客户想要类似豌豆荚那样的风格,小清新。研究了下豌豆荚,发现它的界面八成是JavaScript,用CEF来嵌入Web页面。此前也听一朋友提过Chrome源码之类云云,也知道现在不少桌面程序界面用JavaScript来做,开发效率高于C++。一直烦心于C++的界面开发,不安分的我也有极大的兴趣去做新的尝试,青春在于折腾。不过公司的程序一直以来采用的是WebBrowser控件,作为过渡,先在其上做界面。JavaScript边学边做,没办法,小公司,好多事情都要自己干,俨然成了一个全栈程序猿。
真正使用CEF的契机来自于一个棘手的问题。引入了一个JQuery图表插件来显示饼状图。但考虑到客户的运行环境多元化,IE各个版本都有哦,甚至于IE6还占到20%以上。一次兼容性测试,发现该插件在IE8上死活用不了,调了两天,搞不定。一怒之下,花了一周,替换成了CEF,为了解决C++与JavaScript互相调用产生死锁,做了消息循环队列,来进行异步调用,也大致理解NodeJs采用异步的妙处。此后种种日后再做分说。
当然CEF对于HTML5、CSS3以及JavaScript标准的支持确实很棒,可定制性也很高,不过从另一层面也因为它的灵活带来了不少的麻烦。比如没有IE那样的右键菜单,要自己做,如果不去修改CEF的内部代码,还需要去HOOK,但这些也着实是乐趣无穷。
原先公司的C++程序界面用GDI+来做,甚是麻烦。后来客户想要类似豌豆荚那样的风格,小清新。研究了下豌豆荚,发现它的界面八成是JavaScript,用CEF来嵌入Web页面。此前也听一朋友提过Chrome源码之类云云,也知道现在不少桌面程序界面用JavaScript来做,开发效率高于C++。一直烦心于C++的界面开发,不安分的我也有极大的兴趣去做新的尝试,青春在于折腾。不过公司的程序一直以来采用的是WebBrowser控件,作为过渡,先在其上做界面。JavaScript边学边做,没办法,小公司,好多事情都要自己干,俨然成了一个全栈程序猿。
真正使用CEF的契机来自于一个棘手的问题。引入了一个JQuery图表插件来显示饼状图。但考虑到客户的运行环境多元化,IE各个版本都有哦,甚至于IE6还占到20%以上。一次兼容性测试,发现该插件在IE8上死活用不了,调了两天,搞不定。一怒之下,花了一周,替换成了CEF,为了解决C++与JavaScript互相调用产生死锁,做了消息循环队列,来进行异步调用,也大致理解NodeJs采用异步的妙处。此后种种日后再做分说。
当然CEF对于HTML5、CSS3以及JavaScript标准的支持确实很棒,可定制性也很高,不过从另一层面也因为它的灵活带来了不少的麻烦。比如没有IE那样的右键菜单,要自己做,如果不去修改CEF的内部代码,还需要去HOOK,但这些也着实是乐趣无穷。
相关文章推荐
- Android开发心得——使用第三方jar包经验
- 今天开通了博客!!主要是记录自己学习android开发的总结或心得!
- 今天有人问是否可以使用vs2005开发,回答了一下,记录下来
- linux上使用eclipse开发Jni个人经验记录
- 基于Metronic的Bootstrap开发框架经验总结(16)-- 使用插件bootstrap-table实现表格记录的查询、分页、排序等处理
- 以前从来没有写东西的习惯,从今天开始,把自己开发中遇到的问题及解决方法和心得记录下来!
- CVS使用经验记录
- 开发时碰到的问题以及心得经验
- 使用JfreeChart开发图表经验总结
- WinHack的开发技术经验(1)-使用 Unicode 作为内部字符串处理
- jsp开发网站使用cookie的一点经验
- ASP.NET开发经验 --- 使用 GUID 值来作为数据库行标识
- 使用VC开发程序经验谈(二)
- 关于使用Java开发工具的一些心得
- jsp开发网站使用cookie的一点经验
- 全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧
- WinHack的开发技术经验(2)-字符编码的使用和转换
- 今天开始使用这个blog来记录我的学习中遇到的问题吧
- flex开发心得体会经验
- 今天开始连续写blog 来记录一些开发的感受!