Facebook在開源社區(qū)發(fā)布了一款名為Sonar的內(nèi)部調(diào)試工具。
周一,F(xiàn)acebook軟件工程師Emil Sjölander在一篇博客文章中表示,Sonar是由Facebook工程師開發(fā)的,旨在幫助他們管理社交網(wǎng)絡(luò),包括為軟件添加新功能,尋找軟件bug和優(yōu)化性能。
現(xiàn)在,Sonar已向開源社區(qū)發(fā)布,希望為程序員提供加快應(yīng)用程序開發(fā)和部署的工具。
“借助Sonar,工程師可以靈活、直觀地檢查和了解iOS和Android應(yīng)用程序的架構(gòu)和應(yīng)用行為,”Sjölander說道,“我們相信Sonar通過提供更加直觀和交互式的體驗(yàn)來改進(jìn)當(dāng)前的工具,通過擴(kuò)展交互體驗(yàn)以適應(yīng)工程師的特定需求。”
這個可擴(kuò)展跨平臺調(diào)試工具是基于Stetho的,Sonar利用了該軟件中最有用的應(yīng)用模塊,并對其進(jìn)行了改進(jìn)。
Sonar是由桌面客戶端和移動SDK組成的,開發(fā)人員可以使用Sonar檢查應(yīng)用布局——無論應(yīng)用是使用標(biāo)準(zhǔn)的Android / iOS視圖還是Litho / ComponentKit組件構(gòu)建的,以及檢查日志和網(wǎng)絡(luò)流量。
Facebook上的一些工具用例包括顯示從請求流中獲取數(shù)據(jù)和追蹤性能指標(biāo)。
考慮到龐大的Facebook平臺,Sonar的構(gòu)建是為了應(yīng)對一系列不同的組件和用例,因此該工具包含一系列針對通用功能和基于Facebook的功能的插件。
Facebook推薦開發(fā)者使用Sonar來替代Stetho,除非是還沒有從Stetho移植到Sonar的一些功能,例如基于Dumper的命令行工具。
“Sonar中包含的所有工具都是插件; Sonar的核心只提供一組用戶界面組件,并管理設(shè)備之間的連接,”軟件開發(fā)人員說道,“這意味著任何人都可以像定制插件一樣構(gòu)建功能強(qiáng)大的工具。”
Sonar和軟件的附帶插件可以通過Sonar SDK集成到現(xiàn)有的應(yīng)用程序中。
該軟件已在GitHub提供下載。
“我們已經(jīng)看到Sonar在Facebook內(nèi)部的強(qiáng)大之處,我們相信Sonar的API將幫助其他工程師為軟件開發(fā)新的功能,從而改善他們的工作流程,”Sjölander說道,“我們期待社區(qū)會開發(fā)出什么樣的工具,在未來的幾個月里,我們將繼續(xù)致力于改進(jìn)Sonar工具的核心功能,擴(kuò)展插件開發(fā)人員可用的API權(quán)限。”
原文作者:Charlie Osborne