歡迎光臨
每天分享高質量文章

開源中國 2018 新增開源軟體最受歡迎 TOP 50

本週開源中國陸續公佈了兩個年度榜單,分別是國產新秀榜 TOP 30 和國產新增榜 TOP 50。由於兩個榜單的資料來源都是國內開源專案,所以會有部分專案同時出現在兩個榜單上。

今天公佈的這份榜單 —— 開源中國 2018 新增開源軟體最受歡迎 TOP 50,所挑選的軟體來自於 2018 年開源中國新收錄的非國產開源軟體。根據軟體的關註度、活躍度以及影響力,再剔除掉一些不符合要求的開源軟體,最終生成了這份榜單。

開源中國 2018 新增開源軟體最受歡迎 TOP 50

前 20 預覽

排名 軟體名 排名 軟體名
1 Deno
11 Apache Edgent
2 Thonny
12 RIOT-OS
3 Helidon
13 Katran
4 Anna
14 Micronaut
5 gRPC-Web
15 pico.js
6 Jenkins X
16 Uber JVM Profiler
7 Jib
17 QuantumKatas
8 Sketch2Code
18 Flutter Desktop Embedding
9 Sourcegraph
19 gVisor
10 Vuido
20 ML.NET
……

出乎意料的是,量子程式設計專案 QuantumKatas 不但上榜了,而且排名還在前 20,看來各位對新技術確實有著鍥而不捨的追求,點贊!而位列第一的 Deno 在推出之際,就被國內開發者在其 GitHub 倉庫給“瘋狂灌水”了,可能正因如此才備受關註?

1. Deno:基於 V8 的 JavaScript/TypeScript 執行時

Deno 是由 Node 之父 Ryan Dahl 於2018年推出的開源專案,專案推出之時便引發了國內開發者的一陣狂歡 —— 紛紛藉機感嘆「求不要更新了,學不動了」。當時 Deno 被認為是下一代 Node,但事實上 ry 從未表達過類似觀點 ,Deno 只是基於 V8 引擎,最終提供安全的 TypeScript 執行時。RY 表示 Deno 不追求相容 Node,而是追求相容瀏覽器,因此我們可以認為這是希望徹底拋棄 Node 包袱,打造一個更好的 JavaScript/TypeScript 執行時。

專案主頁:https://deno.land/
開源協議:MIT
開發語言:TypeScript、Rust、Python、C++、JavaScript

2. Thonny:適合初學者的 Python IDE

可供 Python 開發者選擇的開發工具並不多,主流的選擇普遍是 Visual Studio Code,願意花錢的開發者可能會選擇 PyCharm。但對於新手而言,PyCharm 稱不上是一個“友好”的選擇 —— 不僅顯得過於“臃腫”,還是一個收費的軟體。而 Visual Studio Code 對於初學者又有一定的學習曲線,因此專門面向初學者的 Python IDE 就顯得十分有必要了。

Thonny 是一個面向初學者的 Python IDE,由愛沙尼亞的 Tartu 大學開發,它與普通的 IDE 有所不同,因為它的除錯器是專為學習和教學程式設計而設計的。Thonny 介面簡潔,十分易於上手,還支援外掛。因為它是面向初學者的,所以刪除了可能會分散初學者註意力的所有功能。

專案主頁:https://thonny.org/
開源協議:MIT
開發語言:Python

3. Helidon:甲骨文推出的輕量快速 Java 微服務框架

關於 Java 微服務框架的選擇十分多,例如 Spring Cloud, Thrift, ZeroC, Dubbo 等這些老牌專案。而 Helidon 是甲骨文於2018年開源的一個微服務框架,這是一個用於編寫微服務的 Java 開源庫,這些微服務執行在由 Netty 提供支援的快速 Web 核心上。Helidon 已正式加入 Eclipse MicroProfile。

甲骨文的高階軟體開發經理和 Helidon 專案負責人 Dmitry Kornilov 講述了 Helidon 誕生的初衷:“當我們進入雲世界時,微服務架構開始變得非常受歡迎,它們主要被用於建立雲服務。我們也意識到需要改變開發體驗,我們可以使用 Java EE 構建微服務,但最好有一個框架從頭開始就是設計用於構建微服務的。我們還希望建立一組輕量級的庫,它們不需要應用程式伺服器,並且可以在 Java SE 應用程式中使用。這些庫也可以彼此分開使用,但是當一起使用時,將為開發者提供建立微服務所需的一切東西:配置、安全性和 Web 伺服器。這就是 Helidon 誕生的初衷。”

專案主頁:https://helidon.io/
開源協議:Apache
開發語言:Java
所屬公司:Oracle

4. Anna:超高效能鍵值儲存資料庫

Anna 是伯克利 RISE 實驗室推出的鍵值儲存資料庫,也是一個具備驚人的存取速度、超強的伸縮性和優秀的一致性的 KVS。

Anna 的效能和伸縮性主要歸功於它的完全無協調機制,節點工作行程有 90% 的工作負載是在處理請求,而其他大部分系統(如 Masstree 和英特爾的 TBB)只有不到 10% 的時間在處理請求,它們其餘的 90% 時間花在了等待協調上。不僅如此,其他系統因為使用了共享記憶體,還會出現處理器快取擊穿問題。

專案主頁:https://rise.cs.berkeley.edu/blog/anna-kvs/
開源協議:BSF
開發語言:C/C++

5. gRPC-Web:訪問 gRPC 服務的 Web 客戶端

gRPC-Web 即 gRPC for Web Clients。顧名思義,gRPC-Web 是一個 JavaScript 庫,使 Web 應用程式能夠直接與後端 gRPC 服務通訊,不需要 HTTP 伺服器充當中介。

gRPC-Web 讓你能夠使用 .proto 來定義客戶端 Web 應用程式和後端 gRPC 伺服器之間的服務“契約”,並自動生成客戶端 JavaScript(你可以選擇 Closure 編譯器或使用更為廣泛的 CommonJS)。你可以不用再為這些事情操心:建立自定義 JSON 序列化和反序列化邏輯、處理 HTTP 狀態程式碼(可能因 REST API 而異)、Content-Type 協商等。

專案主頁:https://github.com/grpc/grpc-web
開源協議:Apache-2.0
開發語言:C/C++、JavaScript

6. Jenkins X:為 Kubernetes 提供 CI/CD

Jenkins X 是一個高度整合化的 CI/CD 平臺,基於 Jenkins 和 Kubernetes 實現,旨在解決微服務體系架構下的雲原生應用的持續交付的問題,簡化整個雲原生應用的開發、執行和部署過程。

它依然使用 Jenkins 作為持續交付的核心引擎,實際上 Jenkins X 作為 Jenkins 的一個子專案存在,專註於雲原生應用的 CI/CD 實現,同時也幫助 Jenkins 自身完成雲原生應用的轉型,畢竟現在越來越多的人在詬病單體應用的設計和檔案儲存系統。

Jenkins X 核心元件

專案主頁:https://jenkins-x.io/
開源協議:Apache-2.0
開發語言:Go

7. Jib:為 Java 應用構建容器映象

Jib 是 Google 開發的可以直接構建 Java 應用的 Docker 和 OCI 映象的類庫,以 Maven 和 Gradle 外掛形式提供。

透過 Jib,Java 開發者可以使用他們熟悉的 Java 工具來構建容器。Jib 是一個快速而簡單的容器映象構建工具,它負責處理將應用程式打包到容器映象中所需的所有步驟。它不需要你編寫 Dockerfile 或安裝 Docker,而且可以直接整合到 Maven 和 Gradle中 —— 只需要將外掛新增到構建中,就可以立即將 Java 應用程式容器化。

專案主頁:https://github.com/GoogleContainerTools/jib
開源協議:Apache-2.0
開發語言:Java
所屬公司:Google

8. Sketch2Code:手繪使用者介面轉成 HTML 程式碼

Sketch2Code 是微軟開源的將手繪草圖秒變程式碼的專案。基於 Web 的解決方案,Sketch2Code 使用 AI 將手繪的使用者介面草圖轉換為可用的 HTML 程式碼。

專案主頁:https://github.com/Microsoft/ailab/tree/master/Sketch2Code
開源協議:MIT
開發語言:C#
所屬公司:Microsoft

9. Sourcegraph:程式碼搜尋瀏覽工具

Sourcegraph 被大眾廣為熟知正是因為它支援在 GitHub 上輕鬆瀏覽和搜尋程式碼,Sourcegraph 這款 Chrome 外掛稱得上是開發者必備的外掛,它可以讓我們像使用 IDE 一樣瀏覽和搜尋 GitHub 程式碼。

Sourcegraph 是一款能夠根據語意來把 Web 上的開原始碼編入索引的程式碼搜尋瀏覽工具,提供程式碼搜尋和程式碼語意智慧感知功能。

專案主頁:https://about.sourcegraph.com/
開源協議:Apache-2.0
開發語言:Python、Go、TypeScript

10. Vuido:用 Vue.js 構建跨平臺原生桌面應用

談到構建跨平臺的原生桌面應用,相信大家首先想到的會是 Electron —— 這個由 GitHub 出品的跨平臺桌面應用開發工具。但 Vuido 的開源讓使用 Vue.js 構建輕量級原生桌面應用成為可能。

使用 Vuido 構建的應用可在 Windows、OS X 和 Linux 上執行,使用原生 GUI 元件,並且不需要 Electron。Vuido 支援大部分標準的 Vue.js API ,並且與許多 Vue.js 擴充套件相容,例如 Vuex 。使用 Vuido 的應用也可以使用所有標準的 Node.js 模組以及與 Node.js 相容的任何軟體包。

專案主頁:https://vuido.mimec.org/
開源協議:MIT
開發語言:JavaScript

11. Apache Edgent:面向物聯網裝置的執行時

Apache Edgent 是一種程式設計模型和具有微核心風格的執行時,可嵌入到閘道器和小型的物聯網裝置中。Apache Edgent 能用於對來自器材、車輛、系統、應用、裝置和感測器(例如樹莓派或智慧手機)的連續資料流進行實時分析。

透過與集中式分析系統協同工作,Apache Edgent 可在整個物聯網生態系統中提供高效、及時的分析:從中心到邊緣。

專案主頁:https://edgent.apache.org/
開源協議:Apache-2.0
開發語言:Java

12. RIOT-OS:實時多執行緒 IoT 作業系統

RIOT 是一個實時多執行緒的 IoT 作業系統,它支援物聯網中常見的一系列裝置,包括 8 位、16 位和 32 位微控制器。

RIOT 基於以下設計原則:能效、實時功能、小記憶體佔用、模組化和統一的 API 訪問、獨立於底層硬體(此 API 提供部分 POSIX 相容性)。

專案主頁:http://www.riot-os.org/
開源協議:LGPL-2.1
開發語言:C/C++

13. Katran:高效能第 4 層負載均衡器

Katran 是 Facebook 開源的高效能第 4 層負載均衡器,目前在 Facebook 內部處於孵化階段。

Katran 提供了一個軟體解決方案,用於使用稱為 eXpress Data Path 和 eBPF 虛擬機器的最新內核工程開發進行負載均衡。 Katran 被部署在 Facebook 的網路中。

專案主頁:https://github.com/facebookincubator/katran
開源協議:GPLv2
開發語言:C/C++、Python、Go
所屬公司:Facebook

14. Micronaut:基於 JVM 的微服務應用框架

Micronaut 是 Grails 團隊的最新力作,在 Grails 框架的基礎之上吸取大量經驗,針對微服務應用場景打造的全新框架,是新一代基於 JVM 的微服務應用框架。

這套框架依舊基於 JVM,同時支援 Java, Groovy, Kotlin 三種程式語言。團隊宣稱此框架打包的產品包容量更小,記憶體佔用更少,啟動速度更快。Micronaut 的靈感來自於這些年作者使用 Spring、Spring Boot 和 Grails 構建從大型應用到服務應用的經歷。

專案主頁:http://micronaut.io/
開源協議:Apache
開發語言:Java

15. pico.js:微型 JavaScript 人臉檢測庫

pico.js 是一個只有 200 行純 JavaScript 程式碼的人臉檢測庫,具備實時檢測功能(在實際環境中可達到 200+ FPS),壓縮後僅 2KB 。

專案主頁:https://github.com/tehnokv/picojs
開源協議:MIT
開發語言:JavaScript

16. Uber JVM Profiler:分散式追蹤工具

JVM Profiler 是 Uber Engineering 團隊開源的一個分散式探查器,用於收集效能和資源使用率指標為進一步分析提供服務。儘管它是為 Spark 應用而構建的, 但它的通用實現使其適用於任何基於 JVM 的服務或應用。

專案主頁:https://github.com/uber-common/jvm-profiler
開源協議:Java
開發語言:Apache-2.0
所屬公司:Uber

17. QuantumKatas:開源量子程式設計解決方案

Katas 是一款非常優秀的程式語言學習工具,主要依賴於幾個簡單的學習原則:主動學習,增量複雜性和反饋。

Quantum Katas 的一系列教程可以自定義進度,旨在同時教授量子計算和 Q# 程式設計元素。從基礎到具有一定挑戰性,Katas 提供了一系列關於量子計算主題的任務。每項任務都需要填寫程式碼,從開始的只有一行程式碼,到後面可能需要填寫一大片程式碼。

專案主頁:https://github.com/Microsoft/QuantumKatas
開源協議:MIT
開發語言:C#
所屬公司:Microsoft

18. Flutter Desktop Embedding:使用 Flutter 開發跨平臺桌面應用

Flutter Desktop Embedding 是谷歌官方推出的一個相容庫,可將 Flutter 框架的 API 用於開發跨平臺的桌面應用。

按檔案的說法,只要對手機應用的原始碼進行修改,就能編譯成桌面應用。此專案的目的是支援在 Windows,macOS 和 Linux上構建使用 Flutter 開發的應用程式。它提供的 Flutter API,可處理繪圖和滑鼠/鍵盤輸入的庫,以及用於訪問其他原生平臺功能的可選外掛。

專案主頁:https://github.com/google/flutter-desktop-embedding
開源協議:Apache-2.0
開發語言:C/C++、Objective-C
所屬公司:Google

19. gVisor:新型沙箱容器執行時環境

gVisor 是一款新型沙箱解決方案,其能夠為容器提供安全的隔離措施,同時繼續保持遠優於虛擬機器的輕量化特性。gVisor 能夠與 Docker 及 Kubernetes 實現整合,從而在生產環境中更輕鬆地建立起沙箱化容器系統。

專案主頁:https://github.com/google/gvisor
開源協議:Apache-2.0
開發語言:Go、C++、Python
所屬公司:Google

20. ML.NET:跨平臺機器學習框架

ML.NET 是一個跨平臺的開源機器學習框架,旨在讓 .NET 開發者更快上手機器學習。ML.NET 允許 .NET 開發者開發他們自己的模型,並將自定義 ML 註入到他們的應用程式中。他們無需開發或調整機器學習模型的專業知識,一切都可在 .NET 中搞定。

專案主頁:https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet
開源協議:MIT
開發語言:C#、C/C++
所屬公司:Microsoft

21. Dive:分析和瀏覽 Docker 容器映象內部的工具

Docker 容器映象是一個輕量、獨立、含有執行某個應用所需全部軟體的可執行包,那麼一個 Docker 映象裡面會包含什麼東西?這個名為 Dive 的工具正是用來分析和瀏覽 Docker 映象每層的內容。透過分析 Docker 映象,我們可以發現在各個層之間可能重覆的檔案,並透過移除它們來減小 Docker 映象的大小。

Dive 是一個用 Go 語言編寫的自由開源工具。但 Dive 工具又不僅僅是一個 Docker 映象分析工具,它還可以幫助使用者用於構建映象。

專案主頁:https://github.com/wagoodman/dive
開源協議:MIT
開發語言:Go

22. bs framework:新一代 C++ 遊戲開發框架

bs :: framework 是一個新一代的 C ++ 遊戲開發框架,專註於現代技術、高質量設計和高效能,旨在為開發實時圖形應用程式(遊戲、引擎或工具)提供統一的基礎。

bs :: framework 提供了從音訊、動畫、GUI、輸入、物理、渲染到腳本系統等圖形應用開發所需的一切。它還內建了對30多種影象、mesh 和音訊格式的支援,以及應用廣泛的數學庫、RTTI(run-time type information)、CPU/GPU分析、SIMD 指令 API 和更多。跨 Windows、Linux 和 macOS 平臺。

專案主頁:https://www.bsframework.io/
開源協議:MIT
開發語言:C/C++

23. DeepCreamPy:使用深度神經網路去除馬賽克

開發者為了更好地鑒賞藝術作品可謂是無所不用其極,這款神奇的開源專案 —— 透過使用深度神經網路技術去除馬賽克。使用該工具的方法十分簡單,使用者在單獨的影象編輯程式(如 GIMP 或 Photoshop)中開啟圖片,在需要去除馬賽克的部位畫上一條綠線,執行程式讓它自動複原即可。

專案主頁:https://github.com/deeppomf/DeepCreamPy
開源協議:AGPL
開發語言:Python

24. Corretto:OpenJDK 發行版

Amazon Corretto 是一個免費的、支援跨平臺的 OpenJDK 發行版。

Corretto 支援多種平臺,可以在雲端與本地計算機上執行。目前,Amazon Linux 2、Windows、macOS 平臺和 Docker 映象都提供了與 OpenJDK 8 對應的 Corretto 8 預覽版。每個 Corretto 版本上都會執行技術相容性工具包(Technology Compatibility Kit,TCK),以確保與 Java SE 平臺相相容。在不使用到 OpenJDK 中沒有的功能(例如 Java Flight Recorder)的情況下,Corretto 完全可以直接作為 Java SE 發行版的替代品。Amazon 計劃在 2019 年將 Corretto 作為Amazon Linux 2 上的預設 OpenJDK。

專案主頁:https://github.com/corretto/corretto-8
開源協議:GPLv2
開發語言:Java、C/C++
所屬公司:Amazon

25. browsh:基於文字的現代 Web 瀏覽器

Browsh 是一個純文字瀏覽器,可以執行在大多數的 TTY 終端環境和任何 Web 瀏覽器。它能渲染現代瀏覽器所能渲染的任何東西:HTML5、CSS3、JS、影片甚至 WebGL。其主要目的是在遠端伺服器上執行,並透過 SSH/Mosh 或瀏覽器內的 HTML 服務進行訪問,以顯著降低頻寬,從而提高瀏覽速度並降低頻寬成本。

專案主頁:https://www.brow.sh/
開源協議:GPLv3
開發語言:JavaScript

26. Tabler:基於 Bootstrap 4 的 HTML 儀錶盤 UI 套件

Tabler 是一個基於 Bootstrap 4 開發的 HTML 儀錶盤 UI 套件,旨在提供一個使用者友好,清晰簡單的管理面板,可適用於簡單和複雜的網站系統。

Tabler 支援移動裝置、平板電腦和 PC,支援 Chrome、Firefox +、Safari、Opera、Internet Explorer 10+ 及更多瀏覽器。程式碼精簡易用,嚴格遵循 Bootstrap 指導原則。其多陣列件中使用的是 CSS3 ,以避免使用不必要的 JavaScript 庫。

專案主頁:https://tabler.github.io/
開源協議:MIT
開發語言:HTML、CSS

27. Grafana Loki:日誌聚合系統

Loki 是一個水平可擴充套件、高可用性和多租戶的日誌聚合系統。它的設計非常經濟高效且易於操作,因為它不會為日誌內容編製索引,而是為每個日誌流編製一組標簽。專案受 Prometheus 啟發。

專案主頁:https://github.com/grafana/loki
開源協議:Apache-2.0
開發語言:Go

28. Dopamine:基於 Tensorflow 的強化學習框架

Dopamine 是由 Google AI 實驗室推出的一個基於 Tensorflow 的強化學習(RL)框架,旨在為新手和資深 RL 研究人員提供靈活性、穩定性和可重覆性。該框架受大腦中的獎勵動機行為啟發,反映了神經科學與強化學習研究之間的強歷史聯絡,旨在實現可以推動激進發現的投機性研究。

專案主頁:https://github.com/google/dopamine
開源協議:Apache-2.0
開發語言:Python
所屬公司:Google

29. GoCity:3D 視覺化展示 Go 專案原始碼

GoCity 透過 3D 視覺化的方式展示 Go 專案的原始碼。GoCity 將 Go 專案當作一個城市並遵循以下的約定:

  • 將整個專案看作城市的“區”

  • 將專案中的 Go 檔案看作是城市的“建築物”

  • 將 Go 原始碼檔案中的資料結構看作是構建於檔案之上的“建築物”(和 Go 檔案透過顏色進行區分

專案主頁:https://go-city.github.io/
開源協議:MIT
開發語言:Go

30. Trill:高效能流分析引擎

Trill 是 Microsoft Research 開源的高效能單通道記憶體流分析引擎,它基於時態資料(temporal data)和查詢模型(query model),可處理實時和離線資料。

Trill 可用作流引擎,輕量級記憶體關係引擎,以及漸進式查詢處理器。Trill 可以做到每天處理一兆次(trillion,一萬億)事件,比當今市場上的流分析引擎的資料處理速度快 2-4 倍。

專案主頁:https://github.com/Microsoft/trill
開源協議:MIT
開發語言:C#
所屬公司:Microsoft

31. NiftyNet:開源的摺積神經網路和醫療影像分析平臺

NiftyNet 是一個基於 TensorFlow 的開源摺積神經網路平臺,用來研究醫療影像分析和影像導向的治療。NiftyNet 有著模組化的架構設計,能夠共享網路架構和預訓練模型。使用該模組架構,你可以:

  • 使用內建工具,從建立好的預訓練網路開始;

  • 根據自己的影象資料改造已有的網路;

  • 根據自己的影象分析問題快速構建新的解決方案。

專案主頁:http://www.niftynet.io/
開源協議:Apache-2.0
開發語言:Python

32. Kubeless:Kubernetes 原生 Serverless 框架

Kubeless 是一個基於 Kubernetes 的 Serverless 框架,允許您部署少量程式碼,而無需擔心底層基礎架構管道。它利用 Kubernetes 資源提供自動擴充套件、API 路由、監控、故障排除等功能。

專案主頁:https://kubeless.io/
開源協議:Apache-2.0
開發語言:Go

33. Tinn:C 語言實現的微型神經網路庫

Tinn 是一個用 C99 編寫的僅有 200 行程式碼微型神經網路庫,無依賴,輕量級。同時支援任意 C++ 編譯器進行編譯。

專案主頁:https://github.com/glouw/tinn
開源協議:MIT
開發語言:C

34. WTF:基於 Go 的命令列工具

WTF 是一個基於 Go 的命令列工具,你的個人 Dashboard,專為顯示不常用的但非常重要的日常資料而設計,靈感來自 Monica Dinculescu 的 tiny-care-terminal。非常適合重度 Linux 使用者。

專案主頁:https://wtfutil.com/
開源協議:MPL-2.0
開發語言:Go

35. faceswap:deepfake 的深度學習技術

Faceswap 是一款利用深度學習識別和交換圖片、影片中人物臉部影象的工具。和一般意義上的 P 圖妖術不同,這個方法是透過搭建神經網路來學習人臉,使替換以後的臉可以生動地模仿原來的表情,達到以假亂真的程度。

專案主頁:https://github.com/deepfakes/faceswap
開源協議:GPLv3
開發語言:Python

36. Caire:內容感知影象壓縮/擴充套件庫

Caire 是基於論文《Seam Carving for Content-Aware Image Resizing》(影象伸縮變換演演算法)實現的一個內容感知影象 (尺寸) 壓縮/擴充套件庫。

特性:支援自定義命令列、支援縮小/放大影象、可垂直/水平地調整影象大小、可調整目錄中的所有影象的大小、不需要任何第三方庫、使用 sobel 閾值進行微調、使用模糊濾鏡來增強邊緣檢測

專案主頁:https://github.com/esimov/caire
開源協議:MIT
開發語言:Go

37. Envoy:開源邊緣和服務代理

Envoy 是開源的邊緣和服務代理,用於雲原生應用,雲原生基金會 CNCF 專案。

Envoy 最初是在 Lyft 構建的,它是為單一服務和應用程式設計的高效能 C++ 分散式代理,以及為大型微服務 Service Mesh 體系結構設計的通訊匯流排和通用資料平面。

專案主頁:https://www.envoyproxy.io/
開源協議:Apache-2.0
開發語言:C/++

38. Requests-HTML:Python 的 HTML 解析庫

Requests-HTML 對 Requests 進行了封裝,新增瞭解析 HTML 的介面,是一個 Python 的 HTML 解析庫。

我們知道 requests 只負責網路請求,不會對響應結果進行解析,因此可以把 requests-html 理解為可以解析 HTML 檔案的 requsts 庫。requests-html 的程式碼量非常少,都是基於現有的框架進行二次封裝,開發者使用時可更方便呼叫。它依賴於 PyQuery、requests、lxml 等庫。

專案主頁:http://html.python-requests.org/
開源協議:MIT
開發語言:Python

39. Apache Fluo:大規模資料集增量處理系統

Apache Fluo 是 Google Percolator (搜尋索引)的開源實現,允許使用者對儲存在 Apache Accumulo 中的大型資料集進行增量更新,而無需重新處理所有的資料。與批處理和流處理框架不同的是,Fluo 提供了更低的延遲,並且可以在極大的資料集上執行。

專案主頁:https://fluo.apache.org/
開源協議:Apache-2.0
開發語言:Java

40. Confluo:多資料流實時分散式分析系統

多資料流實時分散式分析系統 Confluo。它可以作為網路監控和診斷框架,也可以作為時序資料庫和釋出訂閱訊息系統。作為時序資料庫,它的效能比其他時序資料庫高出數倍,而作為釋出訊息訂閱系統,它的吞吐量比 Kafka 高出 4 到 10 倍。

Confluo 有以下優勢:

  • 來自多個資料流的數百萬個資料點的高吞吐量併發寫入

  • 毫秒級的線上查詢和高效的即時查詢

  • 使用最少 CPU 資源的 ad-hoc 查詢

專案主頁:https://ucbrise.github.io/confluo/
開源協議:Apache-2.0
開發語言:C/C++

41. Kata Containers:擁有虛擬機器般安全性的容器專案

Kata Containers 是由 OpenStack 基金會管理,但獨立於 OpenStack 專案之外的容器專案。整合了來自 Intel Clear Containers  和 Hyper runV 的技術,使得容器擁有虛擬機器般的安全性。致力於構建一個使用容器映象以超輕量級虛機的形式建立容器的的標準實現。

Kata Containers 透過使用硬體虛擬化來提供容器間隔離,每個 container/pod 都是作為一個輕量級 VM 啟動的,有自己獨有的核心。這也縮短了 Kata Containers 與傳統 VM 的安全性和傳統 Linux 容器的輕量級優點之間的差距。

專案主頁:https://katacontainers.io/
開源協議:Apache-2.0
開發語言:Go

42. GridDB:面向物聯網和大資料的 NoSQL 資料庫

GridDB 是一款高度可擴充套件的 NoSQL 資料庫,非常適用於物聯網和大資料領域,還具有高可靠性和高效能這些特性。

GridDB 專門針對物聯網(IoT)的最佳化包括:GridDB 的鍵值容器(Key Container)資料模型和時間序列函式是專為物聯網構建的。

專案主頁:https://griddb.net/en/
開源協議:AGPL、Apache-2.0
開發語言:Java、C/C++、Python

43. Nuklear:零依賴的小型 GUI 開發庫

Nuklear 是一個小型的 GUI 開發庫,使用純 C 語言開發,所有程式碼都寫在一個頭檔案裡,沒有依賴庫。

專案主頁:https://github.com/vurtun/nuklear
開源協議:MIT
開發語言:C

44. Traffic Control:高可擴分散式 CDN 解決方案

Apache Traffic Control 是一個分散式、可擴充套件的冗餘解決方案,可用於構建、監視和配置大型內容交付網路(CDN)。專案起源於 Traffic Server ,實現了現代 CDN 的所有核心功能。

藉助 Traffic Control,運營商可以設定一個內容分髮網路,為使用者快速高效地提供高質量的 Live 和 VOD 流媒體影片。

專案主頁:http://trafficcontrol.apache.org/
開源協議:Apache-2.0
開發語言:Go、Perl

45. Knative:基於 Kubernetes 與 Istio 的 Serverless 架構方案

Knative(發音為 kay-nay-tiv)是谷歌開源的一套 Serverless 架構方案,它擴充套件了 Kubernetes,提供了一組中介軟體,提高了構建可在本地、雲和第三方資料中心等地方執行的現代化、以源為中心且基於容器的應用的能力。

Knative 專註於解決容器為核心的 Serverless 應用的構建、部署和執行的問題,它構建在 Kubernetes 和 Istio 平臺之上,整合了 Kubernetes 提供的 deployment、replicaset 和 pods 等容器管理能力,與 Istio 提供的 ingress、LB、dynamic route 等網路管理功能。

專案主頁:https://github.com/knative
開源協議:Apache-2.0
開發語言:Go
所屬公司:Google

46. Solid:去中心化平臺

全球資訊網之父 Tim Berners-Lee 爵士對今天的中心化 Web 非常不滿,他想要拯救網際網路,方法是重新去中心化。於是他正式宣佈了新的開源去中心化平臺 Solid。

Solid 設計讓使用者能控制他們在 Web 上產生的資料和內容,能選擇資料如何被使用。Solid 的核心是個人資料儲存系統 Solid POD,你在網上產生的所有資料都儲存在 Solid POD 中,如你的聯絡人,你的照片和評論,使用者可選擇將 Solid POD 儲存在自己家中的計算機上,或挑選的網上 Solid POD 供應商(比如 Berners-Lee 創辦的 Inrupt),你的所有資料都控制在自己手中,可以自由的新增或刪除資料,授予許可權給他人或應用來讀取或寫入部分 Solid POD 資料,不需要同步,因為你的資料一直伴隨著你。

專案主頁:https://github.com/solid/solid
開源協議:MIT

47. TensorSpace:神經網路 3D 視覺化框架

TensorSpace 是一套用於構建神經網路 3D 視覺化應用的框架。

開發者可以使用類 Keras 風格的 TensorSpace API,輕鬆建立視覺化網路、載入神經網路模型併在瀏覽器中基於已載入的模型進行 3D 可互動呈現。TensorSpace 可以使您更直觀地觀察神經網路模型,並瞭解該模型是如何透過中間層 tensor 的運算來得出最終結果的。

TensorSpace 支援 3D 視覺化經過適當預處理之後的 TensorFlow、Keras、TensorFlow.js 模型。

專案主頁:https://tensorspace.org/
開源協議:Apache-2.0
開發語言:JavaScript

48. Wired Elements:手繪風格 UI 集合

看慣了千遍一律的扁平化、大色塊和高對比度風格的 UI,這個手繪風格的 UI 元素集合相信會給你耳目一新的體驗。Wired Elements 是一系列具有手繪外觀的基本 UI 元素,這些 UI 元素可以用於線框、模型等手繪風格頁面。 

另外,元素具有一定的隨機性,像真正的手繪一樣,同一個元素每次出現的顯示效果不會完全相同。萌萌噠和小清新的風格確實會提升好感度~ ❤(◕‿◕✿)

專案主頁:https://wiredjs.com/
開源協議:MIT
開發語言:JavaScript

49. Sparser:開源資料解析引擎

Sparser 是一個用於解析原始資料的解析引擎,由斯坦福大學開源,用於非結構化和半結構化的資料格式,例如 JSON、Avro 和 Parquet。

Sparser 的獨特之處在於它可利用 SIMD 加速過濾函式在解析之前過濾資料。在 JSON、Avro 和 Parquet 資料上,Sparser 的速度比最先進的解析器最多快 22 倍,並且能將 Apache Spark 中的端對端的查詢執行時間最多提高 9 倍。

專案主頁:https://dawn.cs.stanford.edu/2018/08/07/sparser/
開源協議:BSD
開發語言:C/C++

50. Tink:多語言、跨平臺加密開發庫

Tink 是一個多語言、跨平臺的加密開發庫,提供安全,易於正確使用和難以濫用的加密 API,目前 Tink 已經被用於保護許多谷歌內部產品的資料,如 AdMob、Google Pay、Google Assistant、Firebase 與 Android Search App 等。

Tink 旨在提供安全、易於正確使用且難以濫用的加密 API,它建立在現有安全相關的庫之上,如 BoringSSL 和 Java Cryptography Architecture,但谷歌專門的團隊 Project Wycheproof 發現了這些庫中的一些弱點,Tink 進行了跟進,使之更加安全。

專案主頁:https://github.com/google/tink
開源協議:Apache-2.0
開發語言:Java、C/C++、Python、Go
所屬公司:Google

至此,開源中國 2018 年度的三個榜單均已全部公佈。歡迎在留言區寫下您的看法~!

開源中國徵稿開始啦!

開源中國 www.oschina.net 是目前備受關註、具有強大影響力的開源技術社群,擁有超過 200 萬的開源技術精英。我們傳播開源的理念,推廣開源專案,為 IT 開發者提供一個發現、使用、並交流開源技術的平臺。

現在我們開始對外徵稿啦!如果你有優秀的技術文章想要分享,熱點的行業資訊需要報道等等,歡迎聯絡開源中國進行投稿。投稿詳情及聯絡方式請參見:我要投稿

贊(0)

分享創造快樂