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

開源中國 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)

分享創造快樂