Topee:让Safari扩展开发更简单
topee Google Chrome Extension API for Safari 项目地址: https://gitcode.com/gh_mirrors/to/topee
项目介绍
Topee是一个开源项目,旨在为Safari浏览器提供Chrome扩展API,使得开发者可以使用相同的代码库为所有主流浏览器(包括Safari、Chrome、Firefox和Edge)开发扩展。传统的Safari扩展开发需要使用不同的API和部分Swift代码,而Topee通过提供Chrome扩展API,简化了这一过程,让开发者能够专注于JavaScript代码的编写,而无需担心不同浏览器之间的兼容性问题。
项目技术分析
Topee的核心技术在于其为Safari浏览器提供了一个完整的Chrome扩展API实现。通过Topee,开发者可以在Safari中运行基于Chrome API的扩展,而无需修改现有代码。Topee通过创建一个不可见的WebView来运行后台脚本,并为后台和内容脚本提供了一个chrome
命名空间,从而实现了消息传递和其他功能。
Topee的API已经足够成熟,可以在生产环境中使用,例如Avast Passwords for Mac的扩展就是基于Topee开发的。此外,Topee还支持Carthage依赖管理工具,使得集成到Xcode项目中变得更加简单。
项目及技术应用场景
Topee适用于以下场景:
- 跨浏览器扩展开发:如果你正在开发一个需要在多个浏览器上运行的扩展,Topee可以让你使用相同的代码库,减少开发和维护的工作量。
- Safari扩展开发:如果你需要为Safari开发扩展,但不想学习Swift或使用Safari特定的API,Topee提供了一个熟悉的Chrome API接口,让你可以继续使用JavaScript进行开发。
- 现有Chrome扩展迁移:如果你已经有一个基于Chrome API的扩展,并希望将其移植到Safari,Topee可以大大简化这一过程。
项目特点
- 跨浏览器兼容:Topee允许你使用相同的代码库为Safari、Chrome、Firefox和Edge开发扩展,减少了跨浏览器开发的复杂性。
- 完整的Chrome API支持:Topee提供了完整的Chrome扩展API,包括消息传递、后台脚本、内容脚本等功能,使得开发者可以无缝迁移现有代码。
- 易于集成:Topee支持Carthage依赖管理工具,可以轻松集成到Xcode项目中,并提供了详细的集成指南。
- 生产环境可用:Topee的API已经足够成熟,可以在生产环境中使用,例如Avast Passwords for Mac的扩展就是基于Topee开发的。
如何开始
如果你是Xcode的新手,建议先阅读如何运行Demo应用程序。在首次运行扩展之前,确保构建包含应用程序。详细的设置说明和图片可以在wizard.md中找到。
测试
一旦你安装了Demo扩展,你可以通过访问https://pamcdn.avast.com/pamcdn/extensions/install/mac/blank.html来运行单元测试。
Topee为Safari扩展开发提供了一个简单而强大的解决方案,无论你是经验丰富的开发者还是初学者,Topee都能帮助你更高效地开发跨浏览器扩展。立即尝试Topee,体验无缝的跨浏览器开发之旅!
topee Google Chrome Extension API for Safari 项目地址: https://gitcode.com/gh_mirrors/to/topee