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