推荐26个GitHub上好玩又有挑战的前端项目(涵盖初中高阶)
观浪、理火、车铭2021-08-16

有前端同学问我们,最近感觉学习遇到了瓶颈,听说尝试操作一些开源项目可以有效提升,想知道有没有什么好玩又有挑战的项目推荐。

我们邀请了3位淘系技术前端工程师,精心筛选出 26 个难度层层递进,好玩且实用的前端项目,比如动画制作、文字识别、可视化图表、H5制作等等,甚至还能把云音乐灰色歌曲解锁播放(嘘!

本篇内容按难度分为【初级篇:8个】【中级篇:9个】【高级篇:9个】项目,不同水平不同学习瓶颈的同学可按需选择~

初级篇

这里一般适用于刚入门前端的同学,一般入门前端都是从html和css开始的,应该让这些同学提起对前端的兴趣,因此初级篇选用几个比较有趣的css库来让同学入门前端。

animate

animate是一个css动画库,动画内容一般也是我们所熟悉的,例如渐入、渐出、弹跳、旋转、抖动等特效。ppt里面的许多特效在animate都能找到。而且使用简单,只需引入库并添加相关css即可。

  • 演示地址:https://animate.style/
  • GitHub地址:https://github.com/animate-css/animate.css


CSS-Inspiration

CSS-Inspiration涵盖了css的许多常见的特效,例如布局方式、border、伪元素、滤镜、背景3d等。这些都是css里面十分重要的知识点,当我们学习完css基础之后,可以利用此项目来制作一些常用的特效,也可以巩固基础知识。

  • 演示地址:https://chokcoco.github.io/CSS-Inspiration/#/
  • GitHub地址:https://github.com/chokcoco/CSS-Inspiration


Bootstrap

Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap是可以直接应用到我们平常的项目里的,而且非常方便、功能特别多,也是我们常用的前端UI框架。

  • 官网:https://getbootstrap.com/
  • GitHub地址:https://github.com/twbs/bootstrap

tesseract.js

一个js ocr识别库,支持包括中英文等许多语言的图片和视频文字识别,底层封装了Tesseract OCR引擎来实现。

视频实时ocr:

  • demo: http://tesseract.projectnaptha.com
  • github: https://github.com/naptha/tesseract.js

vanillawebprojects

这里一共包含20+个项目,包括表单验证、音视频播放器、打字等小应用,有趣且方便学习。

  • github: https://github.com/bradtraversy/vanillawebprojects

Ant Design

基于 Ant Design 设计体系的 React UI 组件库, 提供了丰富的组件,基本满足各种开发使用需求。大部分前端项目都会涉及到React / Vue的组件开发,如何开发封装一个组件是成为一个合格前端的第一步,可以通过模仿Ant Design的写法去学习如何开发一个组件,同时学到框架(React / Vue) + HTML + CSS。

  • github: https://github.com/ant-design/ant-design/ (React版本)
  • https://github.com/vueComponent/ant-design-vue/ (Vue版本)


Echarts

基于 JavaScript 的开源可视化图表库。Echarts使用数据配置的方式轻松的实现可视化,如果想学习数据可视化,不如从学习Echarts的实现开始。

  • github: https://github.com/apache/echarts


JavaScript的学习

ECMAScript是JavaScript的语言标准,描述了JS的能力,API,基本实现步骤。目前比较通用的标准是ES6,从最初的版本:June 1997,最新的标准已经到了Edition 12 (June 2021)。每个版本都添加 / 修改了新的语法和API, 作为一个前端开发者,应该关注JS的变化,可以查看最新的ECMAScript提案,即将发生的变化。

  • 传送门:https://es6.ruanyifeng.com/ ES6的学习
  • ECMAScript提案:https://github.com/tc39/proposals


中级篇

当有一定css基础之后,前端工程师肯定需要接触一些js。使用js我们可以根据自己的逻辑,让动画产生不同的效果。在逐渐接触到一些大型的项目时,就可以开始学习前端工程化。

particles.js

当我们浏览网页的时候,会看见一些网站的背景有粒子效果,看完是不是也很好奇它是怎么实现的呢?在particles.js这个库里面,我们可以制造许多粒子效果,用在网页的背景可是相当好看的。

  • 演示地址:https://codepen.io/VincentGarreau/pen/pnlso
  • GitHub地址:https://github.com/VincentGarreau/particles.js


reveal.js

reveal.js是一款网页ppt,界面优美,又支持许多ppt功能,同时也有许多插件满足前端的需求,例如markdown、code等代码高亮插件。

  • 文档地址:https://revealjs.com
  • GitHub地址:https://github.com/hakimel/reveal.js

seiper.js

swiper是目前应用广泛的轮播图插件,拥有许多配置,也有许多切换效果,基本可以满足前端开发中轮播图的需求。

  • 文档地址:https://www.swiper.com.cn/api/index.html
  • GitHub地址:https://github.com/nolimits4web/swiper

构建(Build)工具

大型项目需要构建工具进行打包,使用插件,转义等,所以学习如何配置构建工具,如何基于构建工具的能力自定义实现某些功能是很重要的。Webpack和Gulp是两种常见的打包工具。

  • Webpack:https://github.com/webpack/webpack
  • Gulp: https://github.com/gulpjs/gulp

TypeScript

现在的前端开发中,对于TypeScript的使用越来越多,尤其是大型迭代项目中,JavaScript不能满足需要,学习TypeScript会是一个必备的技能。

  • github:https://github.com/microsoft/TypeScript
  • github中也有不少翻译的guide book: https://github.com/jkchao/typescript-book-chinese

Yeoman

Yeoman是一个能快速生成一个Web APP的脚手架工具,可以通过Yeoman定义常用的模板APP。

  • github: https://github.com/yeoman/yeoman


rrweb

一个可以录制并回放任意 web 界面中的用户操作的纯前端的库,完全借助浏览器api来实现录制回放,实现的想法很有趣,对需要录制回放用户行为的需求很有帮助。

  • github: https://github.com/rrweb-io/rrweb


vite

是一个新型前端构建工具,能够显著提升前端开发体验,和webpack等老牌打包工具不同,vite另辟蹊径,开发环境下使用原生esm,让本地开发更快速。代码相较webpack更轻量,且实现逻辑巧妙,比较适合阅读学习。


  • github: https://github.com/vitejs/vite

UnblockNeteaseMusic

还在因为云音乐因为版权下架了一批你自己喜欢的歌曲,但是又不想单独为了几首歌换平台而烦恼吗,那你可以试试这个库,可以使用 QQ / 虾米 / 百度 / 酷狗 / 酷我 / 咪咕 / JOOX 等音源把云音乐灰色歌曲解锁播放。

  • github: https://github.com/nondanee/UnblockNeteaseMusic

高级篇

学完基本的js基础后,我们需要学习一些前端常用框架,例如vue、react,这两个框架是我们工作中经常都要用到的,作为一名前端工程师不得不熟悉其中一个框架。掌握了前端工程化之后,就可以做一些有趣的方向,比如前端智能化,Low Code / no Code, serverless 等。

vue-admin-template

这是一个vue后台管理系统框架,可以让我们轻松地实现一个后台管理系统,界面也比较美观。

  • 文档地址:https://panjiachen.github.io/vue-element-admin-site/zh/guide/
  • GitHub地址:https://github.com/PanJiaChen/vue-admin-template

h5-dooring

h5-dooring是一款可视化编辑器,底层是用react写的,使用此工具可以让我们快速生成h5页面。同时通过这个平台也能了解到低代码的相关知识。

  • 文档地址:http://h5.dooring.cn/doc
  • GitHub地址:https://github.com/MrXujiang/h5-Dooring

canvas-special

如果大家对图形学感兴趣,可以学一下canvas,canvas-special提供了许多canvas精美的案例供我们学习。

  • GitHub地址:https://github.com/bxm0927/canvas-special


node-question-answering

基于Node.js的用深度学习模型去回答问题

  • github:https://github.com/huggingface/node-question-answering

相关学习资源imgCook

通过设计稿生成组件代码的low code工具

  • github: https://github.com/imgcook/imgcook

Midway

Midway 是一个适用于构建 Serverless 服务,传统应用、微服务,小程序后端的 Node.js 框架

  • github: https://github.com/midwayjs/midway

Luckysheet

一款纯js实现的在线表格库,功能强大,excel的常见能力都支持,对有表格库集成需求或者要实现类似功能的很有帮助。

  • github: https://github.com/mengshukeji/Luckysheet

flowchart-fun

是一个高效的绘制流程图和思维导图的工具库,输入文字,就能自动生成一个框图,很有意思。不过是基于既定的英文单词串生成框图,可能上手使用会有一定难度。

  • github: https://github.com/tone-row/flowchart-fun

记得别吃灰,赶紧学起来吧~有问题欢迎与我们交流~