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
可供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
Anna 是伯克利RISE 實驗室推出的鍵值存儲數據庫,也是一個具備驚人的存取速度、超強的伸縮性和優秀的一致性的KVS。
Anna 的性能和伸縮性主要歸功於它的完全無協調機制,節點工作進程有90% 的工作負載是在處理請求,而其他大部分系統(如Masstree 和英特爾的TBB)只有不到10% 的時間在處理請求,它們其餘的90% 時間花在了等待協調上。不僅如此,其他系統因為使用了共享內存,還會出現處理器緩存擊穿問題。
項目主頁:https://rise.cs.berkeley.edu/blog/anna-kvs/
開源協議:BSF
開發語言:C/C++
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 核心組件
開源協議:Apache-2.0
開發語言:Go
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
Sourcegraph 被大眾廣為熟知正是因為它支持在GitHub 上輕鬆瀏覽和搜索代碼,Sourcegraph 這款Chrome 插件稱得上是開發者必備的插件,它可以讓我們像使用IDE 一樣瀏覽和搜索GitHub 代碼。
Sourcegraph 是一款能夠根據語義來把Web 上的開源代碼編入索引的代碼搜索瀏覽工具,提供代碼搜索和代碼語義智能感知功能。
項目主頁:https://about.sourcegraph.com/
開源協議:Apache-2.0
開發語言:Python、Go、TypeScript
談到構建跨平台的原生桌面應用,相信大家首先想到的會是Electron —— 這個由GitHub 出品的跨平台桌面應用開發工具。但Vuido 的開源讓使用Vue.js 構建輕量級原生桌面應用成為可能。
使用Vuido構建的應用可在Windows、OS X和Linux上運行,使用原生GUI組件,並且不需要Electron。Vuido支持大部分標準的Vue.js API ,並且與許多Vue.js擴展兼容,例如Vuex 。使用Vuido的應用也可以使用所有標準的Node.js模塊以及與Node.js兼容的任何軟件包。
開源協議:MIT
開發語言:JavaScript
Apache Edgent 是一種編程模型和具有微內核風格的運行時,可嵌入到網關和小型的物聯網設備中。Apache Edgent 能用於對來自器材、車輛、系統、應用、設備和傳感器(例如樹莓派或智能手機)的連續數據流進行實時分析。
通過與集中式分析系統協同工作,Apache Edgent 可在整個物聯網生態系統中提供高效、及時的分析:從中心到邊緣。
項目主頁:https://edgent.apache.org/
開源協議:Apache-2.0
開發語言:Java
RIOT 是一個實時多線程的IoT 操作系統,它支持物聯網中常見的一系列設備,包括8 位、16 位和32 位微控制器。
RIOT 基於以下設計原則:能效、實時功能、小內存佔用、模塊化和統一的API 訪問、獨立於底層硬件(此API 提供部分POSIX 兼容性)。
開源協議:LGPL-2.1
開發語言:C/C++
Katran 是Facebook 開源的高性能第4 層負載均衡器,目前在Facebook 內部處於孵化階段。
Katran提供了一個軟件解決方案,用於使用稱為eXpress Data Path和eBPF 虛擬機的最新內核工程開發進行負載均衡。Katran被部署在Facebook的網絡中。
項目主頁:https://github.com/facebookincubator/katran
開源協議:GPLv2
開發語言:C/C++、Python、Go
所屬公司:Facebook
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
JVM Profiler 是Uber Engineering 團隊開源的一個分佈式探查器,用於收集性能和資源使用率指標為進一步分析提供服務。儘管它是為Spark 應用而構建的, 但它的通用實現使其適用於任何基於JVM 的服務或應用。
項目主頁:https://github.com/uber-common/jvm-profiler
開源協議:Java
開發語言:Apache-2.0
所屬公司:Uber
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
gVisor 是一款新型沙箱解決方案,其能夠為容器提供安全的隔離措施,同時繼續保持遠優於虛擬機的輕量化特性。gVisor 能夠與Docker 及Kubernetes 實現集成,從而在生產環境中更輕鬆地建立起沙箱化容器系統。
項目主頁:https://github.com/google/gvisor
開源協議:Apache-2.0
開發語言:Go、C++、Python
所屬公司:Google
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++
開發者為了更好地鑑賞藝術作品可謂是無所不用其極,這款神奇的開源項目 —— 通過使用深度神經網絡技術去除馬賽克。使用該工具的方法十分簡單,用戶在單獨的圖像編輯程序(如GIMP 或Photoshop)中打開圖片,在需要去除馬賽克的部位畫上一條綠線,運行程序讓它自動復原即可。
項目主頁:https://github.com/deeppomf/DeepCreamPy
開源協議:AGPL
開發語言:Python
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
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
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
GoCity 通過3D 可視化的方式展示Go 項目的源代碼。GoCity 將Go 項目當作一個城市並遵循以下的約定:
- 將整個項目看作城市的“區”
- 將項目中的Go 文件看作是城市的“建築物”
- 將Go 源碼文件中的數據結構看作是構建於文件之上的“建築物”(和Go 文件通過顏色進行區分
項目主頁:https://go-city.github.io/
開源協議:MIT
開發語言:Go
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 有著模塊化的架構設計,能夠共享網絡架構和預訓練模型。使用該模塊架構,你可以:
- 使用內建工具,從建立好的預訓練網絡開始;
- 根據自己的圖像數據改造已有的網絡;
- 根據自己的圖像分析問題快速構建新的解決方案。
開源協議:Apache-2.0
開發語言:Python
32. Kubeless:Kubernetes 原生Serverless 框架
Kubeless 是一個基於Kubernetes 的Serverless 框架,允許您部署少量代碼,而無需擔心底層基礎架構管道。它利用Kubernetes 資源提供自動擴展、API 路由、監控、故障排除等功能。
項目主頁:https://kubeless.io/
開源協議:Apache-2.0
開發語言:Go
Tinn 是一個用 C99 編寫的僅有200 行代碼微型神經網絡庫,無依賴,輕量級。同時支持任意C++ 編譯器進行編譯。
項目主頁:https://github.com/glouw/tinn
開源協議:MIT
開發語言:C
WTF是一個基於Go的命令行工具,你的個人Dashboard,專為顯示不常用的但非常重要的日常數據而設計,靈感來自Monica Dinculescu的 tiny-care-terminal。非常適合重度Linux使用者。
項目主頁:https://wtfutil.com/
開源協議:MPL-2.0
開發語言:Go
Faceswap 是一款利用深度學習識別和交換圖片、視頻中人物臉部圖像的工具。和一般意義上的P 圖妖術不同,這個方法是通過搭建神經網絡來學習人臉,使替換以後的臉可以生動地模仿原來的表情,達到以假亂真的程度。
項目主頁:https://github.com/deepfakes/faceswap
開源協議:GPLv3
開發語言:Python
Caire是基於論文《Seam Carving for Content-Aware Image Resizing》(圖像伸縮變換算法)實現的一個內容感知圖像(尺寸)壓縮/擴展庫。
特性:支持自定義命令行、支持縮小/放大圖像、可垂直/水平地調整圖像大小、可調整目錄中的所有圖像的大小、不需要任何第三方庫、使用sobel 閾值進行微調、使用模糊濾鏡來增強邊緣檢測
項目主頁:https://github.com/esimov/caire
開源協議:MIT
開發語言:Go
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
Apache Fluo 是Google Percolator (搜索索引)的開源實現,允許用戶對存儲在 Apache Accumulo 中的大型數據集進行增量更新,而無需重新處理所有的數據。與批處理和流處理框架不同的是,Fluo 提供了更低的延遲,並且可以在極大的數據集上運行。
開源協議:Apache-2.0
開發語言:Java
多數據流實時分佈式分析系統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)數據模型和時間序列函數是專為物聯網構建的。
開源協議:AGPL、Apache-2.0
開發語言:Java、C/C++、Python
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
萬維網之父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
TensorSpace 是一套用於構建神經網絡3D 可視化應用的框架。
開發者可以使用類Keras 風格的TensorSpace API,輕鬆創建可視化網絡、加載神經網絡模型並在瀏覽器中基於已加載的模型進行3D 可交互呈現。TensorSpace 可以使您更直觀地觀察神經網絡模型,並了解該模型是如何通過中間層tensor 的運算來得出最終結果的。
TensorSpace 支持3D 可視化經過適當預處理之後的TensorFlow、Keras、TensorFlow.js 模型。
開源協議:Apache-2.0
開發語言:JavaScript
看慣了千遍一律的扁平化、大色塊和高對比度風格的UI,這個手繪風格的UI 元素集合相信會給你耳目一新的體驗。Wired Elements 是一系列具有手繪外觀的基本UI 元素,這些UI 元素可以用於線框、模型等手繪風格頁面。
另外,元素具有一定的隨機性,像真正的手繪一樣,同一個元素每次出現的顯示效果不會完全相同。萌萌噠和小清新的風格確實會提升好感度~ ❤(◕‿◕✿)
項目主頁:https://wiredjs.com/
開源協議:MIT
開發語言:JavaScript
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++
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