我尝试直接编写加载 SWF 文件的程序,我将使用 NPAPI 来实现该程序。
但是,我不知道如何开始它。我的意思是如何在可可和NPAPI之间进行交流?以及如何构建程序架构?
我多次搜索Google,这个主题没有太多有用的信息。
我希望有人能帮助我。
任何建议都将受到赞赏。
答案 0 :(得分:1)
构建NPAPI主机并非易事;如果你真的想从头开始自己做,最好的办法是查看Gecko,WebKit和/或Chromium的来源,并从那里重复使用你所能做的任何事情(假设你的应用程序的源许可证使这成为可能)。
除此之外,Mozilla's NPAPI documentation是最佳来源,以及最近更改的accepted NPAPI extensions列表(因为您提到了Mac,您至少需要阅读和理解Cocoa ,核心图形,核心动画和谈判提案)。请记住,NPAPI的很多工作方式都是基于其他浏览器所做的事实上的标准,所以只是文档是不够的。
您在评论中提到由于“安全问题”而不想使用WebKit - 如果您知道WebKit中存在安全问题,为什么不修复它而不是从头开始构建一个非常复杂的系统?非常非常不太可能,如果你从头开始实现NPAPI主机,你最终会比在成熟的实现中存在更少的安全性错误,这些错误已经过测试,调试和改进多年。
答案 1 :(得分:0)
特别考虑到目前您似乎拥有的插件背景数量,我强烈建议您使用FireBreath。它至少会引导您完成插件部分。其余的由你决定,并不简单。
要知道的是,Mac OS X上的不同浏览器使用不同的绘图模型和不同的事件模型。对于事件模型,一般的经验法则是32位浏览器支持Carbon和64位支持Cocoa,尽管有些32位浏览器支持Cocoa。根据32/64位和浏览器(和版本),您可能需要使用QuickDraw,Cocoa,CoreAnimation或CoreGraphics进行绘制。
FireBreath wiki(主网站)上有more information about this。