Python引力波火了 你該了解的開源框架
今年年初,有一件科學界的大事兒曾刷爆朋友圈:引力波的發現。這是LIGO***直接探測到引力波和***觀測到雙黑洞碰撞與并合,探測到的引力波是由13億光年之外的兩顆黑洞在合并的***階段產生的,經過13億光年的時空旅行,***被美國的“激光干涉引力波天文臺”(LIGO)的兩臺孿生引力波探測器探測到的。
雖然后期有人對此次“單次引力波發現”產生質疑,但是在IT圈,它還捧火了一個一個東西:Python。今天我們就來看看,在GitHub等開源網站中***的Python開源框架都有哪些?
1.Django
Django是一款用Python語言寫的免費開源的 Python Web應用開發框架,它遵循模型 -視圖-控制器(MVC)的架構模式。它是由非營利Django維護軟件基金會(DSF)和3條款BSD許可下可用,鼓勵快速發展和實用的設計。
Django同時是一款在數據庫功能、后臺功能、末班系統、網址匹配、緩存系統等方面有“先天”優勢的開源框架。它可以通過幾行簡單的代碼就讓你的網站擁有一個強大的后臺,輕松管理你的內容;強大,易擴展的模板系統,設計簡易,代碼,樣式分開設計,更容易管理;如果與memcached或其它的緩存系統聯用,更出色的表現,更快的加載速度。
同時,Django也可以與Jython運行在任何J甲骨文的JAVA EE應用服務器上;尤其在管理能力上十分突出。
2.Twisted
Twisted是一款事件驅動的網絡編程框架,支持許多常見的傳輸及應用層協議,如TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。還支持Unix domain sockets,在MIT許可下應用。
Twisted附帶了一個可以web服務器上運行的WSGI,它能夠為其他Python web應用程序允許開發人員使用的服務器定制HTTP服務。
據了解,Twisted誕生于2000年初,在當時的網絡游戲開發者看來,無論他們使用哪種語言,手中都鮮有可兼顧擴展性及跨平臺的網絡庫。如今,Twisted依然屬于一個事件驅動型的網絡引擎,這里程序的執行流由外部事件來決定。
3.Tornado
Tornado源意為龍卷風,這里是一款可擴展的,非阻塞的Web服務器,應用開發框架,以及異步聯網庫。它最初是在FriendFeed開發(在2009年被Facebook收購)。Tornado是高度靈活,專門設計為開發人員和第三方工具廠商提供了一個開放環境。已有部分應用程序接口可以利用并附帶參考書目,內容從開發環境接口到連接實現。另外,它還配備了一個WSGI服務器,其他WSGI Python應用程序(和框架)也可以使用。在開源和Apache 2.0許可下可用。
有開發者認為,Tornado既是一個web server,也是web framework。而它作為web server 采用的是asynchronous IO的網絡模型,這是一種很高效的模型。Tornado作為web server,提供了web framework的api,可以來直接構建自己的web程序。
自從2009年9月10日發布以來,TornadoTornado已經獲得了很多社區的支持,并且在一系列不同的場合得到應用。除FriendFeed和Facebook外,還有很多公司在生產上轉向Tornado,包括Quora、Turntable.fm、Bit.ly、Hipmunk以及MyYearbook等。
除了以上三種之外,還有Diesel、Flask、Cubes、Kartograph、Pulsar、Web2py、Falcon、DPark、Buildbot、Zerorpc、Bottle、webpy、Scrapy還有很多用于機器學習應用場景的開源框架,筆者在這里就不一一介紹了。