[Ubuntu-zh] 回复: 一个关于linux网银的构想
Qian Hong
fracting在gmail.com
星期日 一月 22 04:49:12 UTC 2012
2012/1/21 ZhanLin Shang <shangzhanlin在gmail.com>:
> 额......表示对从头开发一个有兴趣,但是相关的技术什么的能否列个详细点的内容出来好参考一下?高中生压力略大啊......
我的水平有限,只能提供一些建议,可能会误导,请自己鉴别 :)
- 了解npapi插件的工作原理
* 阅读Mozilla的npapi plugin文档[1]
* 自己写一个win32平台的npapi插件和Linux平台的npapi插件
* 简单的插件,可以参见npapi-sdk的源代码(for Linux) [2] 和mingw编译npapi插件(for
Win32)的例子 [3]
* 更重要的是npruntime模型的插件,参见 [4]
* 阅读chromium/firefox中有关插件容器的代码
- 了解winegcc和winelib的使用 [5]
* 通过winegcc和winelib,可以在Linux下编译出混合win32 api和Linux平台原生api的二进制(ELF格式)
* 理论上,可以混合Firefox(或chromium) for Win 和 Firefox for
Linux的代码,通过winelib编译出既能加载win32 plugin又能加载Linux
plugin的Firefox。不过估计难度不比自己写一个插件容器小,而且后期随着上游的更新,维护的成本会很大
- 了解Win32的setparent函数和Xlib的XReparentWindow函数
- 了解RPC
- 自己写一个插件容器,调用自己写的npapi插件
- 下载一个CrossOver daily
build版(请注册CrossOver帐号然后发私信给我),根据[6]中的介绍,试用和观察CrossOver
Plugin是怎么实现在Linux native Browser中调用Win32 plugin的。通过CrossOver
Plugin详细的log,可以大概明白工作原理。daily build版的CrossOver
Plugin虽然没有发布代码,但是二进制是unstripped的。
欢迎交流 :)
[1] https://developer.mozilla.org/en/Plugins
[2] http://code.google.com/p/npapi-sdk/
[3] http://sourceforge.net/mailarchive/message.php?msg_id=27865669
[4] http://www.codeproject.com/Articles/92787/Working-on-an-NPAPI-browser-plugin
[5] http://www.winehq.org/docs/winelib-guide/index
[6] http://groups.google.com/group/non-ie-online-banking/browse_thread/thread/fa9aba842bdb35cf
--
Regards,
Qian Hong
-
Sent from Ubuntu
http://www.ubuntu.com/
关于邮件列表 ubuntu-zh 的更多信息