ser*_*nfo 14 c++ deployment html5 web-applications
我已经阅读了大量的文章和stackoverflow问题,但我似乎没有得到它的工作.
我想为客户分发一些产品信息,这些信息将通过CD或USB记忆棒发送出去.回到我用Flash做的那些日子.因为flash可以编译成一个名为Flash放映机的EXE,可以在不安装的情况下运行我的Flash内容.
现在我想给HTML5一个旋转.而且我需要一种方法来将所有内容打包在CD上,使其无需安装即可在任何地方运行.
我听说过我可以编译chrome并将其嵌入到c ++应用程序中.(http://code.google.com/p/chromiumembedded/)我可以将QT与QtWebkit一起使用.(http://developer.qt.nokia.com/doc/qt-4.8/qtwebkit.html)我可以编译Webkit并将其嵌入到c ++应用程序中......(http://www.webkit.org/)
示例很大,我没有任何C++技能=(
然后有一些项目,如mozilla chromeless(http://mozillalabs.com/chromeless)(和berkelium(https://github.com/sirikata/berkelium))
使用chromeless我的JQuery Javascript无法正常工作和Berkelium ...我没有编译...
我没有http://www.appcelerator.com/或其他付费/商业选项的预算......(也不能选择Flash/Air和Silverlight).因为内容也应该部署在Web服务器上而不使用插件...
我不需要任何访问操作系统.我想要的是我的Jquery/Backbone应用程序,它使用JSON文件在没有安装的桌面客户端中运行.
因此,没有浏览器地址栏只是拾取index.html而其他所有内容都由应用程序处理......像Fullscreen和Close这样的东西会很好......
不幸的是,我不能依赖"客户操作系统"的安装浏览器,因为目标组很大,我期待很多旧的浏览器.
任何人都可以给我指导如何"轻松"编译一个应用程序,使我的Web应用程序的东西从CD上运行而没有安全警告等?
或者我可以使用任何预先编译的包装?
Node-webkit将Chromium(Chrome)浏览器与Node.js结合在一起.据我所知,你不需要额外的API,但你不需要使用它们,只需创建一个非常简短的json文件并且压缩你的项目就足够了,你甚至可以将所有内容组合成一个可执行文件.该项目提供二进制文件,因此无需编译.
https://github.com/rogerwang/node-webkit
我也试过Awesomium(它是c ++和40mb +)PyWebKit(确实有效,但我的svg mousemove-listeners没有)因此最终使用了cefpython和pyinstaller.
这就是我刚才做的"一键式windows-web-app-executable".exe.
cefsimple.spec:
# -*- mode: python -*-
a = Analysis(['cefsimple.py'],
pathex=['c:\\pyinstaller-2.0'],
hiddenimports=[],
hookspath=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
[('icudt.dll', 'icudt.dll', 'BINARY')],
[('avcodec-54.dll', 'avcodec-54.dll', 'BINARY')],
[('libEGL.dll', 'libEGL.dll', 'BINARY')],
[('avformat-54.dll', 'avformat-54.dll', 'BINARY')],
[('avutil-51.dll', 'avutil-51.dll', 'BINARY')],
[('d3dcompiler_43.dll', 'd3dcompiler_43.dll', 'BINARY')],
[('d3dx9_43.dll', 'd3dx9_43.dll', 'BINARY')],
[('libGLESv2.dll', 'libGLESv2.dll', 'BINARY')],
[('locales\\en-US.pak', 'locales\\en-US.pak', 'DATA')],
[('icon.ico', 'icon.ico', 'BINARY')],
a.zipfiles,
a.datas,
name=os.path.join('dist', 'cefsimple.exe'),
debug=False,
strip=None,
upx=True,
console=False, icon='icon.ico' )
app = BUNDLE(exe,
name=os.path.join('dist', 'cefsimple.exe.app'))
Run Code Online (Sandbox Code Playgroud)
如果它应该在任何Windows 2000+上运行,没有python,没有系统库,也不需要额外的dll或图标.
如果您在Windows7 64位上构建它,它将无法在32位系统上运行
如果你在WindowsXP 32bit上构建它,它可以在任何地方使用.甚至在葡萄酒中.但不知何故,我无法从标题栏的exe中获取图标.不得不从外部加载它(cefwindow.py中的代码).
在我还是新鲜的时候向我询问细节!
编辑:
激活本地json请求: #BrowserSettings ,请参阅:http://code.google.com/p/cefpython/wiki/BrowserSettings browserSettings = dict()browserSettings ["universal_access_from_file_urls_allowed"] = True browserSettings ["file_access_from_file_urls_allowed"] = True
小智 2
正如有人在评论中提到的,您可以按照以下方式使用 xulrunner: https: //developer.mozilla.org/en/Getting_started_with_XULRunner 您只需下载 xulrunner,将其解压缩到文件夹中,配置它并使其在 autorun.inf 或其他内容中启动像那样。不需要编译(我假设你需要在 Windows 上呈现它,但其他平台也不应该成为问题)。
归档时间: |
|
查看次数: |
15885 次 |
最近记录: |