标签:c-2 javascript webkit shared-libraries gtk
我目前正在评估从嵌入在HTML页面中的JavaScript代码调用C函数的不同方法/解决方案.该应用程序必须在Ubuntu Server 12.04 LTS上运行.
我不是基于Linux的开发专家.这是我第一次尝试在JavaScript和C代码之间进行交互.
C代码基本上驻留在.so文件(动态库)中,这些文件将提供访问某些硬件和文件系统的接口方法. GUI需要使用HTML,我正在寻找可以从HTML调用C的不同解决方案.我搜索并最终决定使用WebKit引擎尝试2种方法.
方法1:使用Qt 5.0.2 Webkit Bridge – WebView控件
GUI框架将位于Qt框架上,主应用程序窗口将包含一个webview控件,该控件将运行HTML代码,该代码又包含JavaScript代码.
Web页面和C之间的接口使用addToJavaScriptWindowObject()函数完成.
我创建了一个示例应用程序并测试了这个解决方案,它似乎工作正常.
方法2:使用GTK WebKit WebView
我下载并安装了GTK 3.0库.
我得到了webkitgtk 2.0.1并安装了它.
我用GTK创建了一个没有webkit的测试应用程序,它运行良好.
我正在尝试使用GTK创建webkit webview控件.
在使用Qt尝试我的方法1时,有一套很好的文档和示例来做我想做的事情.但是在使用GTK开始使用方法2后,我觉得比较慢.我个人认为文档部分对于我正在尝试开发的应用程序并不是那么直截了当.
其他方法:
我还想尝试检查是否使用Applets(直接调用.so文件)或使用V8 JavaScript引擎在JavaScript和C之间进行接口是可行的选项(https://code.google.com/p/v8/)
我尝试了以下资源:
http://webkitgtk.org/
http://www.webkit.org/
https://live.gnome.org/WebKitGtk/ProgrammingGuide/Tutorial
我想知道在包含JavaScript的HTML网页中单击按钮时,如何调用C函数(在.so文件中)的接口部分.我应该寻找什么样的信号.如果我使用的是WebkitWebview控件,如何将按钮单击映射到c函数?
有人能指出我正确的方向吗?
我非常感谢你的时间和知识.
问候.
解决方法:
如果需要在Web应用程序中使用C代码或本机应用程序,可以尝试通过C代码创建服务,并通过REST(例如)API访问它.
您可以使用常见的Web应用程序框架(Spring / Java,Django / Python等)来开发Web应用程序,并使用Apache Thrift来连接库.
标签:c-2,javascript,webkit,shared-libraries,gtk 来源: https://codeday.me/bug/20190625/1284360.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。