為什麼YouTube使用Python?


介紹

在Google收購YouTube之前,它的大部分內容都是使用PHP構建的。然而,當時的PHP在跨平臺應用程式方面有很多限制,並且產生了大量的冗餘程式碼。

Google介入後,YouTube進行了全面改革,介面和安全性發生了重大變化。在本文中,我們將介紹YouTube中使用Python作為主要語言的部分。

使用Python的原因

  • 減少冗餘程式碼

  • 實現新功能

  • 前端和API部署

  • 提高安全性

  • 資料視覺化和分析

  • 更易於維護

原因1:減少冗餘程式碼

由於YouTube最初是作為影片共享服務建立的,因此最初PHP可以處理使用者流量和後端元件。但是隨著時間的推移,平臺上添加了許多新功能,例如直播、YouTube遊戲等,而PHP無法處理這些功能。

在重寫程式碼時,Python被選為主要領域的首選語言(儘管目前他們正在將整個平臺遷移到Google自己的程式語言Go)。主要原因之一是Python減少了UI中的螢幕雜亂,並簡化了主頁上影片的表示。這對於處理使用者流量併為觀看者和創作者提供更流暢的使用者體驗至關重要。

原因2:實現新功能

隨著時間的推移,YouTube作為網站和平臺在普及度和使用者數量方面都得到了極大的發展。根據統計資料,截至2023年,YouTube擁有超過26億活躍使用者,YouTube Premium使用者大約有8000萬。為了留住現有客戶群並增加觀看者和創作者數量,實施和擴充套件新功能是必須的,而Python是實現這一目標的最佳方法之一。Python是一種通用的語言,具有非常簡潔明瞭的語法,可以用它非常高效地編寫許多指令碼,這些指令碼還可以與用其他語言(如Java和C++)編寫的其他函式一起工作。此外,Python擁有適用於不同用例和應用程式的庫,可以幫助編寫簡短高效的程式碼來實現新功能。

原因3:前端和API部署

YouTube將Python用於最重要的應用程式之一,“服務前端”,指的是為前端和API提供服務的伺服器。這是前端和後端整合最重要的任務之一,因為API有助於將從後端伺服器接收到的資料饋送到前端UI,最終饋送到使用者。雖然Python並非為此最有效的語言,因為它無法執行多執行緒。

因此,它需要更多程序才能有效地利用伺服器資源。但是,Google決定以較慢的響應時間為代價,透過支付更多伺服器來最終使平臺具有足夠的響應能力。此外,大多數前端檔案都是靜態的,大多數API用例都涉及與其他服務通訊,因此維護它比重寫整個平臺的程式碼更容易。

原因4:提高安全性

隨著網際網路上每天發生的越來越多的安全攻擊,給公司造成數百萬美元的財務和聲譽損失,確保網路安全對於當今構建和可用的每個Web應用程式都至關重要。YouTube作為一個如此大規模的使用者中心平臺,確保安全的資料處理非常必要,這也是從PHP切換到Python的最大動力之一。Python擁有多個庫和安全功能,使開發人員更容易建立具有高階功能的複雜應用程式。例如,Python支援Django,它具有保護使用者資料報文和敏感資訊的安全性功能,可用於增強YouTube的安全性。

原因5:資料視覺化和分析

表示資料並對其進行分析對於像YouTube這樣的使用者中心平臺非常重要,在該平臺上可以根據使用者統計資料採取行動。毫無疑問,Python是資料視覺化和分析的最佳語言之一,它擁有Matplotlib、Pandas和Numpy等庫。

這些庫在YouTube繼續選擇Python作為其平臺核心語言之一方面發揮著巨大作用,因為透過Python接收的資料可以很容易地整合到用Matplotlib或Numpy編寫的指令碼中,用於視覺化表示和分析。這有助於使用者和開發人員更好地理解平臺,並有助於YouTube的整體發展。

原因6:更易於維護

產品程式碼的維護對於Google、YouTube等全球性平臺來說是一個重要方面。移除bug、執行計劃任務(如垃圾清理)以及定期維護程式碼對於獲得流暢且無障礙的體驗非常重要。

Python可以執行前端和API伺服器前方的巨大快取的計劃垃圾清理,儘管這會導致伺服器暫時中斷,因此無法同時對所有伺服器執行此操作。此外,Python具有非常流暢的偵錯程式,例如Python偵錯程式(PDB)和Pycharm,這對於在部署程式碼之前發現和糾正新的bug和錯誤非常有用。

結論

Python是世界上最流行的程式語言之一,它廣泛用於YouTube,用於上述各種好處和目的。除此之外,YouTube還使用Python來檢視和管理影片,儘管對此類方法的詳細解釋超出了本文的範圍。希望您能瞭解Python如何塑造當今網際網路上最流行的平臺之一。

更新於:2023年3月24日

3K+ 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.