导读 | 微软于4月30日发布了Edge 17版,其中推出了微软Edge开发工具协议(Microsoft Edge DevTools Protocol),这是一组JSON和JSON-RPC的API,用于让客户端与Edge浏览器的选项卡进行交互。该协议遵循了Chrome开发工具协议模型,让开发人员能够通过标准Web技术来构建可与Edge浏览器交互的工具。 |
在发布申明博客中,微软资深产品经理Brendyn Alexander表示:
该协议通过解耦客户端与平台,让我们开始了推进Edge浏览器开发工具生态系统的第二阶段任务。在本地和Web开发环境中,HTTP和WebSocket技术随处可见,因此各种编程语言编写的客户端可以通过该协议与Edge浏览器进行集成。我们希望该协议的推出,可以大大降低那些想要创建Edge开发工具的开发者们的门槛。
微软还发布了使用该协议的两个客户端:微软Edge开发预览工具和Visual Studio 2017。该协议仿照Chrome开发工具协议以及正在发展中的WICG开发工具标准。根据目前客户端上的文档:
开发工具协议0.1初始版本提供了一些核心的调试功能,如设置断点、代码步进以及查看堆栈信息。 在Edge开发工具的界面中,这些就是调试器面板中的各个功能,但没有缓存视图(如Web存储,Service worker,Cache API和IndexedDB)。
协议的功能按“域”维度来组织,初始版本主要支持了“调试器”域,并最小限度支持了“页面”和“运行时”域,当然还有用于查询可用域列表的“Schema”元数据域。
如果微软继续基于Chrome开发工具协议进行开发,可以预计在未来的版本中将增加更多其他域。在谷歌开发工具协议的文档中重点介绍了39个不同的域,从可访问性到Service worker,外部工具可以使用大量的浏览器功能。
其他主流浏览器也都正处于实现开发工具协议的不同阶段。按Chrome最新稳定版文档中描述,其包含了16个域,而webkit(即Safari)的github中的协议目录上显示,有24个不同域的协议正在开发中。Firefox似乎是主流浏览器中最落后的一个,只存在一个已经停滞的相关tracking bug也没有相关文档。
在浏览器外,Node.js也支持了谷歌开发工具协议的一个子集,在文档中显示目前支持六个域。开发人员可以通过Chrome工具来直接调试Node程序。想要了解如何通过该方式对Node进行调试,可以查看Chrome开发工具的开发者Paul Irish的相关博客。
有兴趣深入了解微软Edge开发工具协议和微软的开发者生态系统的开发人员可以试用微软Edge开发预览工具,或参阅协议文档。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/119490.html