Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
018 年開源中國社區「新增」開源軟件排行榜之國產 TOP 50 終于發布了!
榜單根據 2018 年開源中國社區新收錄的開源項目的關注度、活躍度,以及所屬分類整理而來,相信在一定程度上反映了國內大部分開發者在 2018 年所使用的技術棧和希望學習的技術。
可以看到,Java 相關框架一如既往地占據了榜單的很大一部分,而隨著 AI 技術在近兩年的興起,也誕生了更多的人工智能開源項目。無論是公司或者個人,都在該領域下產出了不少優秀的開源項目,這些開源項目也逐漸被更多開發者所關注并使用。
而小程序,最初面世時毀譽參半,但目前看來,圍繞小程序而誕生越來越多的開源項目,不但證明了自己的價值,也讓唱衰的聲音逐漸冷卻了下去。
需要說明的是,榜單中的軟件已經過篩選,均符合國際 OSI 認可的開源協議。
2018 國產開源軟件新增榜 TOP 50
1. SpringBoot-Plus:基于 Spring Boot 2 的后臺管理系統
SpringBoot-Plus 是一個基于 Spring Boot 2 的后臺管理系統,包含了用戶管理、組織機構管理、角色管理、功能點管理、菜單管理、權限分配、數據權限分配、代碼生成、子系統生成、文檔管理和預覽等功能。不同于其他簡單的開源后臺管理系統,SpringBoot-Plus 具備適當的企業應用深度。
系統基于 Spring Boot 2 技術,前端采用了 Layui 2。數據庫以 MySQL/Oracle/PostgresSQL 為實例,理論上是跨數據庫平臺。
項目主頁:https://gitee.com/xiandafu/springboot-plus
開源協議:BSD
開發語言:Java
項目作者:@閑大賦
2. Arthas:開源 Java 診斷工具
Arthas(阿爾薩斯)是阿里巴巴開源的 Java 診斷工具。
Arthas 支持 JDK 6+,采用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。
項目主頁:https://alibaba.github.io/arthas/
開源協議:GPLv3
開發語言:Java
項目作者:@橫云斷嶺
所屬公司:阿里巴巴
3. RuoYi:基于 Spring Boot 2.0 的后臺管理系統
基于 Spring Boot2.0 的權限管理系統,易讀易懂、界面簡潔美觀。核心技術采用 Spring、MyBatis、Shiro,沒有任何其它重度依賴,直接運行即可用。
若依基于 hplus 和 inspinia 兩套后臺系統模板開發,可以用于所有的 Web 應用程序,如 CMS、CRM、OA、網站管理后臺和網站會員中心。所有前端后臺代碼封裝過后十分精簡易上手,出錯概率低,同時支持移動客戶端訪問。
項目主頁:https://gitee.com/y_project/RuoYi
開源協議:MIT
開發語言:Java
項目作者:@若依管理系統
4. J-IM:Java 實現的輕量級高性能 IM 框架
J-IM 是使用 Java 語言,基于 t-io 開發的輕量、高性能、單機支持幾十萬至百萬的在線用戶 IM,主要目標是降低即時通訊門檻,快速打造低成本接入在線 IM 系統,通過極簡潔的消息格式就可以實現多端不同協議間的消息發送,如內置(Http、Websocket、TCP 自定義 IM 協議)等,并提供通過 HTTP 協議的 API 接口進行消息發送,無需關心接收端屬于什么協議,一個消息格式搞定一切!
項目主頁:https://gitee.com/xchao/j-im
開源協議:Apache-2.0
開發語言:Java
項目作者:@軌跡_
5. WeavingDB:C# 實現的緩存庫
為滿足 C# 項目的特殊使用與簡單部署,故而開發此 WeavingDB,希望給做 .NET 開發者帶來幫助。WeavingDB 使用 C# 實現,支持 K-V 方式,也是一個支持 JSON 數據的條件查詢的內存緩存庫。
項目主頁:https://gitee.com/UDCS/WeavingDB
開源協議:Apache-2.0
開發語言:C#
項目作者:@dreamsfly
6. dingdang-robot:中文語音對話機器人項目
叮當是一款可以工作在 Raspberry Pi 上的中文語音對話機器人/智能音箱項目。
叮當被喚醒后,用戶的語音指令先經過在線 STT 引擎進行 ASR 識別成文本,然后對識別到的文本進行技能匹配,交給適合處理該指令的技能插件去處理。插件處理完成后,得到的結果再交給 TTS 引擎合成成語音,播放給用戶。雖然一次交互可能包含多次網絡請求,不過帶來的好處是:每一個環節都可以被修改和定制。
項目主頁:https://dingdang.hahack.com/
開源協議:MIT
開發語言:Python
項目作者:@wzpan
7. DBCHM:數據庫 CHM 文檔生成工具
DBCHM 號稱是最簡單、最實用的數據庫表列批注維護工具,主要功能:
支持 SQLServer/MySQL/Oracle/PostgreSQL 等數據庫的表列批注維護管理。
項目主頁:https://gitee.com/lztkdr/DBCHM
開源協議:MIT
開發語言:C#
項目作者:@lzktdr
8. XXL-SSO:分布式單點登錄框架
XXL-SSO 是一個分布式單點登錄框架。只需要登錄一次就可以訪問所有相互信任的應用系統。 擁有"輕量級、分布式、跨域、Cookie+Token 均支持、Web+APP 均支持"等特性,開箱即用。
項目主頁:http://www.xuxueli.com/xxl-sso/#/
開源協議:GPLv3
開發語言:Java
項目作者:@許雪里
9. VNote:基于 Qt 框架的開源筆記軟件
VNote 基于 Qt 框架,是一個受 Vim 啟發開發的專門為 Markdown 而優化、設計的開源免費筆記軟件,VNote 更是一個更了解程序員和 Markdown 的筆記軟件,它專注于 Markdown 的編輯與閱讀,以提供舒適的編輯體驗為設計目標。
項目主頁:https://tamlok.github.io/vnote/zh_cn/
開源協議:MIT
開發語言:C/C++
項目作者:@tamlok
10. Layx:仿真 Windows 界面的 Web 彈窗組件
Layx 是一款仿 Windows 系統窗口的 Web 彈窗插件,純原生 Javascript 實現,不依賴任何第三方框架,支持 IE10+(含 IE10)、Chrome、Firefox、Opera、Edge、Safari 等主流瀏覽器。gzip 壓縮版僅 13.5kb,非常小巧。
項目主頁:https://gitee.com/monksoul/LayX
開源協議:MIT
開發語言:JavaScript
項目作者:@百小僧
11. SOFABoot:基于 Spring Boot 的研發框架
SOFABoot 是螞蟻金服開源的基于 Spring Boot 的研發框架,它在 Spring Boot 的基礎上,提供了諸如 Readiness Check,類隔離,日志空間隔離等等能力。在增強了 Spring Boot 的同時,SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFAStack 相關中間件的能力。
項目主頁:https://gitee.com/alipay/sofa-boot
開源協議:Apache-2.0
開發語言:Java
所屬公司:阿里巴巴
12. 飛冰 ICE:基于 React 的中后臺應用解決方案
飛冰(ICE) 是一套基于 React 的中后臺應用解決方案,ICE 包含了一條從設計端到開發端的完整鏈路,幫助用戶快速搭建屬于自己的中后臺應用。
面向設計者端,ICE 提供了 ICE Design 設計語言,來給 UI 界面提供專業的視覺指導。面向開發者端,ICE 提供了 Iceworks 工具,這是一個圖形化界面的開發平臺,它承載了 ICE 的物料體系和開發體驗。
項目主頁:https://alibaba.github.io/ice/
開源協議:MIT
開發語言:JavaScript、TypeScript
項目作者:@chenbin93
所屬公司:阿里巴巴
13. iView Weapp:高質量的微信小程序 UI 組件庫
iView Weapp 是一套高質量的微信小程序 UI 組件庫。1.0 提供了 30 個組件,并會不斷豐富。
項目主頁:https://weapp.iviewui.com/
開源協議:MIT
開發語言:JavaScript
項目作者:@aresn
14. mpvue:基于 Vue.js 的小程序開發框架
mpvue 是一個使用 Vue.js 開發小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實現,使其可以運行在小程序環境中,從而為小程序開發引入了整套 Vue.js 開發體驗,并從底層支持 Vue.js 語法和構建工具體系。
項目主頁:http://mpvue.com/
開源協議:MIT
開發語言:JavaScript
項目作者:@胡成全
所屬公司:美團點評
15. Taro:遵循 React 語法規范的多端統一開發框架
Taro 是由京東 - 凹凸實驗室打造的一套遵循 React 語法規范的多端統一開發框架,實現用 React 寫小程序,生成 H5、React Native 等多端應用。
項目主頁:https://taro.aotu.io/
開源協議:MIT
開發語言:JavaScript
項目作者:@yuche
所屬公司:京東
16. pig-cloud:基于 Spring Cloud 的企業級認證與授權
基于 Spring Cloud、Spring Security Oauth2.0 開發企業級認證與授權,提供常見服務監控、鏈路追蹤、日志分析、緩存管理、任務調度等實現。
項目主頁:https://gitee.com/log4j/pig
開源協議:MIT
開發語言:Java
項目作者:@冷冷gg
17. SOAR:SQL 智能優化與改寫工具
SOAR(SQL Optimizer And Rewriter)是一個對 SQL 進行優化和改寫的自動化工具,由小米人工智能與云平臺的數據庫團隊開發與維護。
業內其他優秀產品對比
項目主頁:https://github.com/XiaoMi/soar
開源協議:Apache-2.0
開發語言:Go
所屬公司:小米
18. JavaMonitor:Java 應用性能監控系統
Java 應用性能遠程監控系統(分布式監控),適用于監控所有 Java 應用,具有堆內存監控、方法區監控、GC 監控、類加載監控、類編譯監控與線程監控等功能,提供堆快照下載和線程快照下載。
項目主頁:https://gitee.com/zyzpp/JavaMonitor
開源協議:GPLv3
開發語言:Java
項目作者:@像風一樣i
19. Roses:基于 Spring Boot 的分布式和服務化解決方案
Roses 基于 Spring Boot 2 和 Spring Cloud Finchley.SR2,更符合企業級的分布式和服務化解決方案。Roses 提供可靠消息最終一致性分布式事務解決方案,提供基于調用鏈的服務治理,提供可靠的服務異常定位方案(Log + Trace)等等,一個分布式框架不僅需要構建高效穩定的底層開發框架,更需要解決分布式帶來的種種挑戰!
項目主頁:https://gitee.com/stylefeng/roses
開源協議:Apache-2.0
開發語言:Java
項目作者:@stylefeng
20. PDMan:數據庫模型建模工具
PDMan 是一個數據庫模型建模,以及數據庫版本管理工具,主要功能如下:
支持 Windows, Mac, Linux 等操作系統,支持常見數據庫 MySQL, Oracle, SQLServer, DB2 等。是 PowerDesigner 之外,另一個更好的免費替代方案。
項目主頁:https://gitee.com/robergroup/pdman
開源協議:Apache
開發語言:JavaScript
項目作者:@O龍貓O
21. VuePress:基于 Vue 的靜態網站生成器
VuePress 是一個基于 Vue 的輕量級靜態網站生成器,以及為編寫技術文檔而優化的默認主題。它是為了滿足 Vue 自己的子項目文檔的需求而創建的。
VuePress 享用 Vue + webpack 開發環境,在 markdown 中使用 Vue 組件,并通過 Vue 開發自定義主題。VuePress 為每一個由它生成的頁面提供預加載的 html,不僅加載速度極佳,同時對 seo 非常友好。一旦頁面被加載之后,Vue 就全面接管所有的靜態內容,使其變成一個完全的 SPA 應用,其他的頁面也會在用戶使用導航進入的時候來按需加載。
項目主頁:https://github.com/vuejs/vuepress
開源協議:MIT
開發語言:JavaScript、TypeScript
項目作者:@EvanYou
22. Zeu.js:實時監控可視化組件庫
Zeu.js 是一個 JavaScript 庫,其中包含一系列預構建的可視化組件,用于構建實時 TV 儀表板,監控 UI 和物聯網 Web 界面。
項目主頁:https://github.com/shzlw/zeu
開源協議:MIT
開發語言:JavaScript
項目作者:@Zhonglu
23. OSROOM:Python 的開源 Web 系統
OSROOM 是使用 Python 3(>=3.4) 語言,基于 Flask 微型框架 + MongoDB(>=3.4) + Redis 開發的一個 Web 系統(CMF, Rest Api)。通過 OSROOM,除了可以搭建常見的普通網站外,還可以作為小程序服務端,小程序客戶端可直接調用 API 請求數據。
項目主頁:https://gitee.com/osroom/osroom
開源協議:BSD
開發語言:Python
項目作者:@Allen-Woo
24. cocker:C 語言實現的容器引擎
cocker 是個人用 C 語言完全自研的容器引擎(對標 Docker),使用到了以下 Linux 底層技術:LXC、cgroup、overlayfs、iptables、ptms 等。系統架構如下:
項目主頁:https://gitee.com/calvinwilliams/cocker
開源協議:LGPL-2.1
開發語言:C
項目作者:@calvinwilliams
25. TeaWeb:可視化智能 Web 服務
TeaWeb 是一款集靜態資源、緩存、代理、統計、監控于一體的可視化智能 WebServer。TeaWeb 使用 Go 語言實現,在高可定制化前提下,保證高性能、高并發。
項目主頁:https://gitee.com/liuxiangchao/build
開源協議:MIT
開發語言:Perl、Go
項目作者:@劉祥超
26. MeEdu:基于 Laravel 開發的在線點播系統
MeEdu 是一個基于 Laravel 開發的在線點播系統,寄托了作者對當前知識付費領域的期望。相信未來每位身負技能的人都可以通過 MeEdu 來構建自己的知識付費應用,通過 MeEdu 將自己的知識進行變現。
項目主頁:https://gitee.com/myteng/MeEdu
開源協議:MIT
開發語言:PHP
項目作者:@小滕ha
27. JVM-Sandbox:動態非侵入 AOP 解決方案
JVM-Sandbox,JVM 沙箱容器,一種基于 JVM 的非侵入式運行期 AOP 解決方案。
JVM-SANDBOX 的核心功能:實時無侵入 AOP 框架、動態可插拔容器
項目主頁:https://github.com/alibaba/jvm-sandbox
開源協議:LGPL-3.0
開發語言:Java
所屬公司:阿里巴巴
28. Fusion Design:企業級中后臺 UI 解決方案
Fusion Design 是一種旨在提升設計與開發之間 UI 構建效率的工作方式。通過建設基于 DPL 模式的,設計、前端之間的標準協議與工作流,來快速構建符合業務訴求的 DPL,提升 DPL 的構建效率和應用效率,幫助業務快速實現 UI 構建。
Next 是基于 Alibaba Fusion Design 的設計理念實現的一套 DPL 。配合 https://fusion.design 使用可以實現換膚的能力。基于 React 實現,支持所有現代瀏覽器和 IE9+。
項目主頁:https://fusion.design/
開源協議:MIT
開發語言:JavaScript
項目作者:@布達
所屬公司:阿里巴巴
29. Nacos:動態服務發現、配置和服務管理平臺
Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您實現動態服務發現、服務配置管理、服務及流量管理。
服務(Service)是 Nacos 世界的一等公民。Nacos 支持幾乎所有主流類型的服務的發現、配置和管理,幫助您更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以“服務”為中心的現代應用架構(例如微服務范式、云原生范式)的服務基礎設施。
Nacos 全景圖
如 Nacos 全景圖所示,Nacos 無縫支持一些主流的開源生態,例如 Dubbo and Dubbo Mesh TODO、Spring Cloud TODO、Kubernetes and CNCF TODO。
項目主頁:https://nacos.io/
開源協議:Apache-2.0
開發語言:Java
所屬公司:阿里巴巴
30. Walle(瓦力):Web 上線部署系統工具
Walle 讓用戶代碼發布終于可以不只能選擇 Jenkins,支持各種 Web 代碼發布,php、java、python、go 等代碼的發布、回滾可以通過 Web 來一鍵完成。
Walle 是一個可自由配置的項目,更人性化、高顏值、支持 git,也是一個多用戶、多語言、多項目、多環境同時部署的開源上線部署系統。
項目主頁:https://www.walle-web.io/
開源協議:Apache-2.0
開發語言:Python
項目作者:@wushuiyong
31. Wayne:Kubernetes 多集群管理平臺
Wayne 是一個通用的、基于 Web 的 Kubernetes 多集群管理平臺。
架構圖
通過可視化 Kubernetes 對象模板編輯的方式,降低業務接入成本, 擁有完整的權限管理系統,適應多租戶場景,是一款適合企業級集群使用的發布平臺。
項目主頁:https://github.com/Qihoo360/wayne
開源協議:Apache-2.0
開發語言:TypeScript、Go
項目作者:@WilhelmGuo
所屬公司:奇虎360
32. Go Chassis:產品級 Go 語言微服務框架
Go Chassis 是華為云 CSE 開源的一個用 Go 語言編寫的微服務快速開發框架。借助 CSE Go Chassis 進行微服務開發可最大化地降低開發門檻,提升產品上線速度,同時可以獲得微服務運行時高可靠性保證、運行時動態治理等一系列開箱即用的能力。
項目主頁:https://github.com/go-chassis/go-chassis
開源協議:Apache-2.0
開發語言:Go
所屬公司:華為
33. tcplstat:TCP 網絡監控工具
tcplstat 是基于 libpcap 網絡嗅探程序包的網絡監控工具,它能旁路捕獲所有經過網絡設備過濾規則的 TCP 數據,跟蹤當前所有 TCP 連接會話,記錄所有經過的 TCP 分組,當連接斷開或到達最大記錄數時倒出統計信息,包含但不限于連接兩端網絡地址、建立時間戳、三步握手各分組延遲、四步分手各分組延遲,數據分組明細、往來分組間延遲和相反方向分組延遲的最小、平均、最大統計值。
tcplstat 除了引用了 Linux 內核的紅黑樹和鏈表源碼外,自身源碼只有 1500 行左右,源碼結構簡單易讀。tcplstat 支持跨主流平臺 Linux、Windows、AIX。
項目主頁:https://gitee.com/calvinwilliams/tcplstat
開源協議:LGPL-2.1
開發語言:C/C++
項目作者:@calvinwilliams
34:NovalIDE:多功能跨平臺 Python IDE
NovalIDE 是一款開源,跨平臺,而且免費的國產 Python IDE ,有出色的語法高亮功能,支持多種語言,Python,C/C++,HTML,JavaScript,xml,CSS 等,解釋器運行腳本,支持函數智能提示和代碼自動完成,以及新建 NovalIDE 工程和從現有代碼創建工程,新建工程類型將包括應用程序,Django,Flask,wxPython,Py2exe,Win32,GTK,控制臺程序等。
項目主頁:http://www.novalide.com/
開源協議:GPLv3
開發語言:Python
項目作者:@東方玄
35. SpriteJS:跨終端 Canvas 繪圖庫
SpriteJS 是一款由 360 奇舞團開源的跨終端 Canvas 繪圖庫,可以基于 Canvas 快速繪制結構化 UI 、動畫和交互效果,并發布到任何擁有 Canvas 環境的平臺上(比如瀏覽器、小程序和 node )。
項目主頁:http://spritejs.org
開源協議:MIT
開發語言:JavaScript
項目作者:@welefen
所屬公司:奇虎360
36. Spring Cloud Alibaba:分布式應用服務開發的一站式解決方案
Spring Cloud Alibaba 致力于提供分布式應用服務開發的一站式解決方案。此項目包含開發分布式應用服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務。
主要功能
項目主頁:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
開源協議:Apache-2.0
開發語言:Java
所屬公司:阿里巴巴
37. YoShop:螢火小程序商城
螢火小程序商城,是一款開源的電商系統,為中小企業提供最佳的新零售解決方案。采用穩定的 MVC 框架開發,執行效率、擴展性、穩定性值得信賴。
項目主頁:https://gitee.com/xany/bestshop-php
開源協議:Apache-2.0
開發語言:PHP
38. Overwatch:通用 RPC 監控系統
Overwatch 是一個用于分布式系統的通用 RPC 監控系統,它將 D3 force 布局作為主要圖表。
Overwatch 提供了整個系統當前狀態的概覽,使系統管理員能夠輕松了解正在進行的 RPC 事件并找出系統中故障的來源。 與常見監控系統不同,Overwatch 使用設計良好的圖形(使用 D3 強制布局)用于可視化數據。
項目主頁:https://github.com/imdada/overwatch
開源協議:BSD
開發語言:TypeScript
所屬公司:京東
39. JFinal Undertow:JFinal 項目部署環境
jfinal-undertow 用于開發、部署由 jfinal 開發的 web 項目。獨創 HotSwapClassLoader + HotSwapWatcher 以 319 行代碼極簡實現熱加載開發與部署。
項目主頁:https://gitee.com/jfinal/jfinal-undertow
開源協議:Apache-2.0
開發語言:Java
項目作者:@JFinal
40. MACE:神經網絡計算框架
Mobile AI Compute Engine (MACE) 是一個專為移動端異構計算平臺優化的神經網絡計算框架。 主要從以下的角度做了專門的優化:性能、功耗、系統響應、內存占用、模型加密與保護和硬件支持范圍。
項目主頁:https://github.com/XiaoMi/mace
開源協議:Apache-2.0
開發語言:C/C++、Python
所屬公司:小米
41. smart-doc:Java Restful API 文檔生成工具
smart-doc 是一個 java restful api 文檔生成工具,smart-doc 顛覆了傳統類似 swagger 這種大量采用注解侵入來生成文檔的實現方法。
smart-doc 完全基于接口源碼分析來生成接口文檔,完全做到零注解侵入,你只需要按照 java 標準注釋的寫就能得到一個標準的 markdown 接口文檔。
項目主頁:https://gitee.com/sunyurepository/ApplicationPower/tree/master/smart-doc
開源協議:Apache-2.0
開發語言:Java
項目作者:@上官胡鬧
42. noForm:基于 React 的表單解決方案
NoForm是阿里巴巴外綜服前端團隊在外綜服(外貿綜合服務)場景下,經過長期的思考和打磨產出的一款基于 React 的表單解決方案。可能有人不理解,可能會問:表單嘛,能有多復雜?可能你從沒見過一個表單需要填寫 150+ 個字段。可能你也沒有見過一個表單實際是由 10+ 個子表單組合出來的。可能你也沒見過一個表單的字段是后端動態配置的。
NoForm 從解決業務復雜性的角度出發,找到了幾個抓手,將表單方案進行了優化和開源。
項目主頁:https://github.com/alibaba/nopage
開源協議:Apache
開發語言:JavaScript
項目作者:@鬼鼠
所屬公司:阿里巴巴
43. DataGear:數據齒輪數據庫管理系統
數據齒輪是一款數據庫管理系統,使用 Java 語言開發,采用瀏覽器/服務器架構,以數據管理為核心功能,支持多種數據庫。
系統主界面如下圖所示:
項目主頁:http://www.datagear.tech/
開源協議:LGPL-3.0
開發語言:Java
項目作者:@數據齒輪
44. wikift:知識管理系統
wikift 是一套企業級開源的易用的知識管理系統。
項目主頁:https://github.com/wikift/wikift
開源協議:Apache-2.0
開發語言:Java、TypeScript、JavaScript
項目作者:@qianmoQ
45. v-charts:基于 Vue2.0 和 ECharts 封裝的圖表組件
在使用 echarts 生成圖表時,經常需要做繁瑣的數據類型轉化、修改復雜的配置項,v-charts 的出現正是為了解決這個痛點。基于 Vue2.0 和 echarts 封裝的 v-charts 圖表組件,只需要統一提供一種對前后端都友好的數據格式,設置簡單的配置項,便可輕松生成常見的圖表。
項目主頁:https://github.com/ElemeFE/v-charts
開源協議:MIT
開發語言:JavaScript
所屬公司:餓了么
46. RSUITE:基于 React 的 UI 組件庫
React Suite 是一套 React 組件庫,為后臺產品而生。主要服務于公司大數據產品線。經歷了三次大的版本更新后,累積了大量的組件和豐富的功能。
項目主頁:https://rsuite.gitee.io/
開源協議:MIT
開發語言:JavaScript
項目作者:@漆工
47. SpringBootBucket:Spring Boot 全家桶
本項目對目前 Web 開發中常用的各個技術,通過和 SpringBoot 的集成,并且對各種技術通過“一篇博客 + 一個可運行項目”的形式來詳細說明。
每個子項目都會使用最小依賴,大家拿來即可使用,自己可以根據業務需求自由組合搭配不同的技術構建項目。
項目主頁:https://gitee.com/yidao620/springboot-bucket
開源協議:MIT
開發語言:Java
項目作者:@一刀
48. VisualDL:跨框架深度學習可視化框架
VisualDL,即 Visualize the Deep Learning,是一個面向深度學習任務設計的可視化工具,包含了 scalar、參數分布、模型結構、圖像可視化等功能,項目正處于高速迭代中,新的組件會不斷加入。
除了 Python SDK 之外,VisualDL 底層采用 C++ 編寫,其暴露的 C++ SDK 也可以集成到其他平臺中,實現原生的性能和定制效果。
項目主頁:http://visualdl.paddlepaddle.org/
開源協議:Apache-2.0
開發語言:JavaScript、C++、Python
所屬公司:百度
49. libaco:輕量級 C 非對稱協程庫
libaco - 一個極速的輕量級 C 非對稱協程庫。簡要介紹:
上文中的"最快"指的是在滿足 Sys V ABI Intel386 或者 AMD64 約束下最快的上下文切換實現。
項目主頁:https://github.com/hnes/libaco
開源協議:Apache-2.0
開發語言:C
項目作者:@hnes
50. OpenAuth.Core:基于 .NET Core 2.1 的快速開發框架
基于 .NET Core 2.1 的快速開發框架。核心模塊包括:組織機構、角色用戶、權限授權、表單設計、工作流等。它的架構精良易于擴展,是中小企業的首選。
項目主頁:https://gitee.com/yubaolee/OpenAuth.Core
開源協議:LGPL-2.1
開發語言:C#
項目作者:@李玉寶
最后
每年這個時候,開源中國社區都會發布年度榜單。而「國產」相關的榜單往往也是爭議最大的,吐槽的點不外乎「這么水(low、垃圾)的項目也能上榜?」、「xx 都能上了,xxx 居然不能上?」、「你們是不是收錢了?xx 這樣的項目也放上去」這幾個。
首先,榜單的項目都是從 2018 年開源中國社區「新增」的開源項目里面進行挑選(包括在 2018 年托管到碼云Gitee平臺,或被開源中國社區收錄的項目)。其次,根據開源軟件的關注度和活躍度,以及它們所屬的分類,我們會再篩選一遍,同類的項目自然就不會全部都上榜。
歡迎各位在評論中留下你們的想法和意見,讓我們共同提高榜單的質量和權威性。
預告:本周還會推出最后一個榜單 —— 2018 年度新增開源軟件排行榜之非國產 TOP 50,這份榜單的開源項目均為 2018 年關注度較高的國際開源項目,敬請期待。
=====分割線=====
開源中國 2018 年度榜單之國產新秀榜
點擊下方“了解更多”,查看更多榜單
↓↓↓
信ID:WEB_wysj(點擊關注) ◎ ◎ ◎ ◎ ◎◎◎◎◎一┳═┻︻▄
(頁底留言開放,歡迎來吐槽)
● ● ●
什么是初級的前端工程師?
按照我的想法,我把前端工程師分為了入門、初級、中級、高級這四個級別入門級別指的是了解什么是前端(前端到底是什么其實很多人還是不清楚的,底什么是前端后端、后臺),了解基本的html、css和javascript語法(這些語方面的東西網上隨便搜一下就有很多很多,基本的語法是整個技術體系最重要的東西了,領先的 Web 技術教程 - 全部免費),可以根據設計師的設計圖在不考慮兼容性的情況下把頁面做出來,了解過一些框架的使用(例如爛大街但是依然牛逼的jQuery、zepto、bootstrap等等)
在經歷過入門的階段,已經了解了前端要做什么,并且把基本的語法學習過了可以獨立做一些簡單的頁面了,那么就要繼續學習達到初級前端工程師的水平,對于初級的前端工程師需要了解的就特別多了,需要對整個前端有一個清晰的認識,并且熟練使用各種技術,我感覺在校的學生達到初級水平就可以通過bat的校招筆試面試了(看到這里,您先不要吐槽,先把我下面說的初級水平需要掌握的東西看一下之后再來評論我說的有沒有過)。
初級前端工程師首先要知道的就是如何處理各種瀏覽器的兼容處理(比如說在IE瀏覽器中的createElement有什么不同等等內容),現在基本上每個公司在招聘的時候都會要求熟練html5, css3, javascript,這個熟練的意思就是信手拈來,在下面會說初級前端工程師應該具體的學習哪些知識,然后就是要了解各種css的預處理器和后處理器,還有會使用常見前端的MV*框架(angularjs, backbone,reactjs等等)并知道這些框架的原理,另外就是要熟練使用nodejs,要會使用基于node的各種前端構建工具(grunt,gulp等等),熟練使用github或gitlab,對模塊化、組件化、工程化、語義化有一個比較深入的了解,最后要知道如何開發移動端的頁面,如何去優化一個頁面的性能。
初級前端工程師的技術體系
目前在網上有很多關于技術體系的文章,但是幾乎都是在一個很籠統的方面來介紹技術棧,這里我就給把那些籠統的概念給分解開,詳細的來說一下需要掌握的知識內容。
html部分
首先是要掌握一些常用標簽的使用和他們的各個屬性,這些常用的標簽我總結了一下有以下這些:
html:頁面的根元素。
head:頁面的頭部標簽,是所有頭部元素的容器。
body:頁面的主體標簽,頁面展現的內容就放置在這里面。
title:頁面的標題。
meta:位于文檔的頭部,提供頁面的元信息,包括關鍵字、描述等等。
link:定義文檔與外部資源的關系,最常用的用途就是引入樣式表。
script:腳本標簽,可以把js腳本代碼放置在這個標簽內,也可以使用這個標簽的src屬性引入一個外部標簽。
style:樣式標簽,可以把css代碼寫在這個標簽中。
a:超鏈接,href屬性代表要鏈接到的地方,target屬性代表打開方式。
img:圖像標簽,src屬性表示圖片的位置。
form:表單元素,它內部的input、select、textarea等標簽都是比較重要的。
div:定義文檔中的分區或節,可以使用div來進行頁面的布局等操作。
另外還有ul、li、p、button、iframe、p、table等標簽也很常用,nav、section、article、header、aside、footer等語義化標簽也需要了解一下。
除了要了解上面這一些標簽之外,還需要對一些新的HTML5的API有一定的了解:
audio、video標簽。
Canvas:定義圖形,比如圖表和其他圖像。
input標簽的accept屬性,email、phone、url等類型。
getElementByClassName根據class名來獲取一個元素結點。
Multiple file selection多文件選擇屬性。
html的import、template
process標簽,webGL等內容。
還有一些要知道的知識點:
1.doctype的作用。
2.unicode、utf8等編碼的原理和區別。
3.如何進行頁面性能優化。
4.png、jpg、webp、gif等圖片格式的不同的優勢。
5.HTML行內元素與塊級元素的區別。
6.移動web端開發常用head標簽。
7.web語義化。
8.瀏覽器中的緩存原理
css部分
關于css這一塊,我的看法就是網上下載一個chm格式的css的參考手冊,然后根據手冊里面寫的一個個的都敲一下。
css大體分為下面這幾塊知識點:
① 定位布局
1.position屬性的7個值(static | relative | absolute | fixed | center | page | sticky)分別有什么作用和不同?
2.實現品字形布局或者是三欄布局(左右寬度固定,中間適應屏幕)。
3.浮動與清除浮動的方法,flex布局,grid布局。
② 盒子模型
1.margin、padding、border這三個屬性。
eb前端怎么樣才能入門,首先我們要從什么是初級web前端工程師說起:
按照我的想法,我把前端工程師分為了入門、初級、中級、高級這四個級別,
入門級別指的是了解什么是前端(前端到底是什么其實很多人還是不清楚的),了解基本的html、css和javascript語法(這些語方面的東西網上隨便搜一下就有很多很多,基本的語法是整個技術體系最重要 的東西了,領先的 Web 技術教程 ),可以根據設計師的設計圖在不考慮兼容性的情況下把頁面做出來,了解過一些框架的使用(例如爛大街但是依然牛逼的jQuery、zepto、 bootstrap等等)。
在經歷過入門的階段,已經了解了前端要做什么,并且把基本的語法學習過了可以獨立做一些簡單的頁面了,那么就要繼續學習達到初級前端工程師的水平,對于初級的前端工程師需要了解的就特別多了,需要對整個前端有一個清晰的認識,并且熟練使用各種技術。
初級前端工程師:首先要知道的就是如何處理各種瀏覽器的兼容處理(比如說在IE瀏覽器中的createElement有什么不同等等內容),現在基本上每個公司在招聘的時候都會要求熟練html5, css3, javascript,這個熟練的意思就是信手拈來。
在下面會說初級前端工程師應該具體的學習哪些知識,然后就是要了解各種css的預處理器和后處理器, 還有會使用常見前端的MV*框架(angularjs, backbone,reactjs等等)并知道這些框架的原理,另外就是要熟練使用nodejs,要會使用基于node的各種前端構建工具 (grunt,gulp等等),熟練使用github或gitlab,對模塊化、組件化、工程化、語義化有一個比較深入的了解,最后要知道如何開發移動端 的頁面,如何去優化一個頁面的性能。
初級web前端工程師的技術體系
1.HTML部分
首先是要掌握一些常用標簽的使用和他們的各個屬性,這些常用的標簽我總結了一下有以下這些:
html:頁面的根元素。head:頁面的頭部標簽,是所有頭部元素的容器。body:頁面的主體標簽,頁面展現的內容就放置在這里面。title:頁面的標題。meta:位于文檔的頭部,提供頁面的元信息,包括關鍵字、描述等等。link:定義文檔與外部資源的關系,最常用的用途就是引入樣式表。script:腳本標簽,可以把js腳本代碼放置在這個標簽內,也可以使用這個標簽的src屬性引入一個外部標簽。style:樣式標簽,可以把css代碼寫在這個標簽中。
a:超鏈接,href屬性代表要鏈接到的地方,target屬性代表打開方式。img:圖像標簽,src屬性表示圖片的位置。form:表單元素,它內部的input、select、textarea等標簽都是比較重要的。div:定義文檔中的分區或節,可以使用div來進行頁面的布局等操作。另外還有ul、li、p、button、iframe、p、table等標簽也很常用,nav、section、article、header、aside、footer等語義化標簽也需要了解一下。我還是要推薦下我自己創建的web前端資料分享qun:600610151,這是web前端學習交流的地方,不管你是小白還是大牛,小編都歡迎,不定期分享干貨,包括我整理的一份適合零基礎學習web前端的資料和入門教程。
除了要了解上面這一些標簽之外,還需要對一些新的HTML5的API有一定的了解:
audio、video標簽。
Canvas:定義圖形,比如圖表和其他圖像。
input標簽的accept屬性,email、phone、url等類型。
getElementByClassName根據class名來獲取一個元素結點。
Multiple file selection多文件選擇屬性。
html的import、template
process標簽,webGL等內容。
還有一些要知道的知識點:
1.doctype的作用。2.unicode、utf8等編碼的原理和區別。3.如何進行頁面性能優化。4.png、jpg、webp、gif等圖片格式的不同的優勢。5.HTML行內元素與塊級元素的區別。6.移動web端開發常用head標簽。7.web語義化。8.瀏覽器中的緩存原理。
2.CSS部分
關于css這一塊,我的看法就是網上下載一個chm格式的css的參考手冊,然后根據手冊里面寫的一個個的都敲一下。
css大體分為下面這幾塊知識點:
① 定位布局
1.position屬性的7個值(static | relative | absolute | fixed | center | page | sticky)分別有什么作用和不同?
2.實現品字形布局或者是三欄布局(左右寬度固定,中間適應屏幕)。
3.浮動與清除浮動的方法,flex布局,grid布局。
② 盒子模型
1.margin、padding、border這三個屬性。
2.伸縮盒相關內容。
3.Multi-column Layout Module多列布局模型。
③ 文本字體
1.強制換行與不換行,清除空白。
2.文本對齊、大小(如何設置chrome小于12px的字體)、縮進、轉換。
3.單位(em、rem、px等),顏色(rgb、rgba,hls)。
④ 變換、過渡和動畫
1.transform的各種取值的作用與兼容性。
2.transition過渡的動畫類型,貝塞爾曲線的原理。
3.animation動畫的各種設置,@keyframes規則。
4.瀏覽器的重繪與重排。
⑤ 選擇器
1.選擇器的分類,權值和優先級。
2.有哪些屬性可以被繼承,哪些屬性沒法繼承。
3.偽類和偽元素分別是什么,有什么作用。
上面這些都是基礎的東西,除了這些基礎的內容之外需要了解Less、Sass、stylus等css預處理器,這將會大幅度提升你的css開發效率,也需要了解一下Autoprefixer、PostCSS等css后處理器。
3.JavaScript部分
在這里就不說js的基礎知識了,我把js按照語法的層次和使用的層次分為了兩大塊。
按照語法的層次來說:
首先是javascript的面向對象方面的內容:在javascript中實現封裝、繼承和多態。
① 封裝:在js中可以通過閉包、作用域和作用域鏈來實現封裝,ES6的const、let的作用。
② 繼承:基于原型鏈的繼承、基于構造函數的繼承、組合式繼承、寄生式繼承等,外加ES6的class關鍵字,prototype和__proto__。
③ 多態:在javascript中多態是使用arguments來實現的,關于arguments會引申出來很多內容:
1.arguments的caller、callee等方法的作用。
2.方法的apply和call的作用和不同。
3.使用Array.prototype.slice.call來把一個數組對象轉化為數組。
4.array的各種方法,如shift、splice、push、filter、map、reduce、forEach等等。
然后是Js的設計模式,比如說那三種工廠模式啊,建造者模式啊等等。
最后是在不同情況下的this分別都代表什么。
按照使用的層次來說:
首先最主要的就是ajax,ajax的原理,ajax跨域的方法:jsonp、使用iframe的location.hash、postMessageAPI、websocket、服務器代理等等。
然后是tcp協議、udt協議以及http協議的協議頭、狀態碼等內容。瀏覽器的緩存,客戶端存儲方面的內容:localstorage、sessionstorage、indexDB、cookie等等。
最后是一些新的js的API,例如文件讀取(fileReader)、fetch、Promise、Web Sockets等等內容,可以去caniuse上面看一下有哪些新的東西。
上面我所說的這些只是一些比較籠統的概念,把前端html、css和javascript所需要掌握的部分內容列舉了一下,在前端領域還有很多需要我們知道的知識,這需要大家在學習工作的過程中去自己總結。
關注我的頭條號,分享更多的技術學習文章,我自己是一名從事了多年開發的web前端老程序員,目前辭職在做自己的web前端私人定制課程,今年年初我花了一個月整理了一份最適合2019年學習的web前端學習干貨,各種框架都有整理,送給每一位前端小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:前端,即可免費獲取.
*請認真填寫需求信息,我們會在24小時內與您取得聯系。