CEF3可行性
顾名思义,内嵌式CHROME,详细的介绍参阅
http://yogurtcat.com/posts/cef/hello-cef.html
为什么要考虑选择CEF
1、 目前市场上浏览器种类很多,每种的版本也很多,即使我们使用了成熟的UI框架也不能保证每个JS在每种浏览器上都成兼容,程序员也不可能在各种浏览器上调试后再发布
2、 一卡通涉及本地硬件资源操纵(如串口、USB、局域网、UKey),传统方法是制作ActiveX控件,让控件与JS进行交互,这种方法比较脆弱,且安装麻烦,最关键:一般只在IE上正常工作,多数浏览器不能稳定支持ActiveX
参阅:
http://mozilla.com.cn/post/35931/
http://activex-for-chrome.softonic.cn/
CEF在一卡通上如何应用
1、 不需要操纵本地硬件资源的操作员(如增删改查数据、查看报表),可以继续直接使用浏览器访问平台(仍然可能存在兼容性问题)
2、 通过发布安装包,以WINFORM的方式在本地运行程序,固定使用某个版本的CEF,相当于固定使用了某个版本的浏览器,规避兼容性问题。即在一个CS程序中嵌入了浏览器,但平台仍然是以BS为主。
3、 需要操纵本地硬件资源时,由JS通过HTTP向WINFORM(开有HTTP监听)传递消息,执行相关功能,即将原来ActiveX的功能迁移到winform中,规避浏览器兼容ActiveX问题以及解决ActiveX执行不稳定(以及性能低下)的问题
4、 使用VS2013提供的net native功能,将winform程序本地化,提升执行效率,保护软件不轻易被破解。
案例
一卡易就使用了类似的技术
DEMO
提供一个网页,内置2个函数,一个供C#调用,一个通过HTTP调用C#
在CEF程序中打开这个网页,执行相关功能,如下图:
l 点击网页中的第一个按钮
l 点击WINFORM中的TOOL菜单 中的测试菜单
点击页面中的第三个按钮,通过AJAX异步HTTP访问WINFORM
(目前CEF3还不支持直接回调WINFORM,早期的CEF1支持,将来也应该会支持,但是回调不如HTTP访问灵活)

CEF3可行性的更多相关文章
- SE Springer小组之《Spring音乐播放器》可行性研究报告三、四
3 对现有系统的分析 由于本次可行性分析主要是建立在团队自行实现一个音乐软件的目标上,并不是在一个现有系统的基础上开发改进的新系统.因此这里将分析一款市面上已经存在的音乐软件(以下称为W音乐),并为之 ...
- 如何在windows上编译Chromium (CEF3) 并加入MP3支持(二)
时隔一年,再次编译cef3,独一无二的目的仍为加入mp3支持.新版本的编译环境和注意事项都已经发生了变化,于是再记录一下. 一.编译版本 cef版本号格式为X.YYYY.A.gHHHHHHH X为主版 ...
- 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持
一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...
- cef3 获得js 返回值, 以及js 指挥delphi 函数的 总结参考
cef3 如何加载 本地html 文件. 请教老师[吐槽]常忘<run_fan@qq.com> 22:21:45@lazarus 下载cef3中的范例中就有 [吐槽]常忘< ...
- POJ3211 Washing Clothes[DP 分解 01背包可行性]
Washing Clothes Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 9707 Accepted: 3114 ...
- POJ1742 Coins[多重背包可行性]
Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 34814 Accepted: 11828 Descripti ...
- POJ1276Cash Machine[多重背包可行性]
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32971 Accepted: 11950 De ...
- CEF3开发者系列之JS与C++交互之二
本文翻译自JavaScriptIntegration (https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration).本 ...
- CEF3开发者系列之JS与C++交互之一
JS与Native交互是相对于比较困难的技术,在学习这门技术之前,我们先了解下浏览器内核中的JS引擎与chromium内核的V8引擎相关知识.在浏览器应用中,JS与本地代码互相调用,得益于浏览器内核对 ...
随机推荐
- VS2012 JSON、XML自动生成对应的类
在VS编辑下拉框中,选择选择性粘贴(Paste Special)
- 前端实现QQ会话功能(常用笔记3)
<a href="tencent://message/?uin=客服QQ号码&Menu=yes" target="blank"></a ...
- SQL常用语句(2)
//计算表tb_Blog的字段个数 select count(*) from syscolumns where id=object_id('tb_Blog') 获取指定表的所有字段和字段类型 SELE ...
- 记一次ckeditor上传图片到服务器问题
package com.util;import java.io.IOException; import java.io.PrintWriter; import java.util.List;impor ...
- [教学] 将 Form 内的控件变成 Style 简易运用
1. 在 Form 上放一个 TImage ,再一个 TText 到 Image 里面,并将 Image1.StyleName 设定为 BtnStyle,如下: 2.接着放一个 TButton,将 S ...
- 修正 XE6 TListView 上方 SearchBok 右边的清除钮显示
注意:XE7 已修正这个问题. Delphi Firemonkey TListView 提供了搜寻的功能,但在 XE6 以前的版本,可以显示右边的清除按钮,在 XE6 确消失了,这里提供一个修正的方案 ...
- 互联网背景时代下的大机遇,为什么用nosql
1.单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付.在那个时候,更多的都是静态网页,动态交互类型的网站不多. 上述架构下,我们来看看数据存储的瓶颈是什么 ...
- 蘑菇街2015校招 Java研发笔试题 详解
1. 对进程和线程描述正确的是( ) A. 父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间. B. 改变进程里面主线程的状态会影响其他线程的行为,改变父进程的状态不会影 ...
- 操作系统笔记系列 一 Linux
学习资料: 1.http://www.icoolxue.com/ 马士兵 1.Linux 服务器端,目前98%的服务器都是Linux. 2.
- Win7 电脑设置临时网络,无法加入网络;internet禁止网络共享
1.电脑的本地连接中的共享,被管理员禁用.网上试了一些方法,都不可行.最后想到修改注册表.我找到了注册表中的shared选项.将0修改为1.则实现了本地连接的共享. 2.但是即便如此,由本地连接分享出 ...