作者:HelloGitHub-小鱼干

这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列的最后一篇,系列文章:

  1. C++ 篇
  2. Python 篇
  3. Go 篇
  4. Java 篇
  5. JavaScript 篇

Java 篇中老荀说到当今互联网份额最大的编程语言是 Java,作为后辈我对此话是没有异议的。但,要说到国内互联网最火、最热闹的编程语言是什么?应该没人对 JavaScript 当选有异议吧。相对 C++、Java 这些老前辈,JS 可谓门槛之低,连 Python 都自叹不如。那作为一个新手要学习系统化地学习 JS,应该走哪几步呢?

  • 第一步:打开浏览器,输入网址:https://hellogithub.com/
  • 第二步:选择 JavaScript 项目
  • 第三步:逐一学习

[手动狗头]有更快捷的方法吗?有!在本篇文章中你将从基础招式学习,了解 HTML、CSS、JS 等基础概念之后,实践一把吃豆人游戏制作,再开启性能调优之旅,最后闯荡前端江湖。

出发,前进

成神第一式:打好根基

1.1 前端成长之路:Web

HG #vol.036 Web 是一个前端入门的图文教程,记录了作者从 0-1 学习前端的过程。作为一个入门的图文教程,Web 遵循了事无巨细原则,在所有的介绍中详细讲 HTML、CSS、JS 等知识点,简单的移动端开发、Vue 等框架使用、Node.js 介绍也略有涉猎。值得一提得失,它所有的示例中代码注释清楚地标注了使用某个函数时你所需要注意的事项,贴心到不行。

不过,Web 项目在 JS 基础和进阶内容分层方面略有不足,会发现 16 个类目有许多重复内容,以及原先在前端进阶分类下的前端几道题被独立出来成为一个单独分类,收录了大量面试题和网友面经,但瑕不掩瑜,该 Repo 绝对是一个新手入门的实用教程。

由于作者没有对分类内容及分类下内容做脑图介绍,所以这里小鱼干绘制了它的脑图/目录结构,部分相同主题内容进行了折叠。

  1. .
  2. |── 前端工具
  3. | ├──VS Code 的使用
  4. | ├──Git 使用
  5. | ├──Mac 安装和 iTerm2 配置
  6. | ├──Sublime Text 的使用
  7. | ├──WebStorm 的使用
  8. | ├──Atom 的使用
  9. | ├──GitHub 的使用
  10. | ├──VS Code 的使用累积
  11. | ├──Chrome 浏览器
  12. | ├──Emmet in VS Code
  13. | ├──iTerm2 + OhMyZsh + agnoster 搭建
  14. | ├──iconMoon
  15. | └──whistle 网络抓包
  16. |──HTML
  17. | ├──认识 Web Web 标准
  18. | ├──浏览器的介绍
  19. | ├──初识 HTML
  20. | ├──HTML 标签:排版标签
  21. | ├──HMTL 标签:字体标签和超链接
  22. | ├──HTML 标签:图片标签
  23. | ├──HTML 标签:图文详解
  24. | ├──HTML5 详解
  25. | ├──HTML5 举例:简单的视频播放器
  26. | ├──HTML 详解(二)
  27. | ├──HTML 详解(三)
  28. | └──HTML 基础回顾
  29. |──CSS 基础
  30. | ├──CSS 属性:字体属性和文本属性
  31. | ├──CSS 属性:背景属性
  32. | ├──CSS 样式表和选择器
  33. | ├──CSS 选择器:伪类
  34. | ├──CSS 样式表的继承性和层叠性
  35. | ├──CSS 盒模型详解
  36. | ├──浮动
  37. | ├──CSS 属性:定位属性
  38. | ├──CSS 案例讲解:博雅互动
  39. | ├──CSS3 选择器详解
  40. | ├──CSS3 属性详解(一)
  41. | ├──CSS3 属性详解:动画详解
  42. | ├──CSS3 属性:Flex 布局图文详解
  43. | ├──CSS3 属性:Web 字体
  44. | ├──SaaS 入门
  45. | ├──浏览器的兼容性问题
  46. | └──CSS3 的常见边框汇总
  47. |──CSS 进阶
  48. | ├──准备
  49. | ├──CSS 中的非布局样式
  50. | ├──CSS 布局
  51. | ├──网页开发和设计中的字体常识
  52. | ├──如何让一个元素水平居中
  53. | ├──CSS 开发累积
  54. | ├──CSS 文章推荐
  55. | ├──CSS 的一些小知识
  56. | └──CSS 面试题
  57. |──JS 基础
  58. | ├──编程语言
  59. | ├──JS 简介
  60. | ├──变量
  61. | ├──变量的数据类型:基本数据类型和引用数据类型
  62. | ├──基本数据类型
  63. | ├──typeof 和数据类型转换
  64. | ├──运算符
  65. | ├──流程控制语句
  66. | ├──对象简介
  67. | ├──基础包装类型
  68. | ├──内置对象
  69. | ├──数组
  70. | ├──函数
  71. | ├──作用域和变量提升
  72. | ├──预编译
  73. | ├──this 指向
  74. | ├──callapply bind
  75. | ├──高阶函数
  76. | ├──闭包
  77. | ├──对象
  78. | ├──深浅拷贝
  79. | ├──原型链和原型继承
  80. | ├──类和构造继承
  81. | ├──正则表达
  82. | ├──事件
  83. | └──jQuery
  84. |──JS ES6 语法
  85. | ├──ES6 介绍和环境配置
  86. | ├──ES5 中的严格模式
  87. | ├──ES5 中的一些扩展
  88. | ├──ES6:变量 letconst 和块级作用域
  89. | ├──变量的解构赋值
  90. | ├──箭头函数
  91. | ├──剩余参数和扩展运算符
  92. | ├──字符串、数据和对象的扩展
  93. | ├──内置对象扩展:Set 数据解构
  94. | ├──Promise 入门详解
  95. | ├──ES7async 函数详解
  96. | └──ES6Symbol
  97. |──JS 进阶
  98. | ├──varletconst 的区别
  99. | ├──数据的赋值
  100. | ├──JS 开发累积
  101. | ├──callapplybind 的区别
  102. | ├──this
  103. | ├──作用域与闭包
  104. | └──创建对象和继承
  105. |──前端基本功
  106. | ├──CSS 基础练习
  107. | └──DOM 操作练习
  108. |──Ajax
  109. | ├──服务器分类及 PHP 入门
  110. | ├──Ajax 入门和发送 http 请求
  111. | ├──函数封装
  112. | ├──同源和跨域
  113. | └──模版引擎
  114. |──移动 Web 开发
  115. | ├──Bootstrap 入门
  116. | ├──Bootstrap 使用
  117. | └──Less 详解
  118. |──Node.js 和数据库
  119. | ├──Node.js 介绍
  120. | ├──Node.js 的特点
  121. | ├──Node.js 开发环境安装
  122. | ├──Node.js 模块化规范
  123. | ├──Node.js 内置模块
  124. | ├──Node.js 操作 MySQL 数据库
  125. | ├──CommonJS
  126. | ├──ES6
  127. | ├──JS 模块化:AMD
  128. | ├──JS 模块化:CMD
  129. | ├──JS 模块化:ES6
  130. | ├──KOA2
  131. | ├──Node.js 代码举例
  132. | ├──WebSocket
  133. | └──事件驱动和非阻塞机制
  134. |──Vue 基础
  135. | ├──指令系统
  136. | ├──v-on 事件修饰符
  137. | ├──系统指令(二)
  138. | ├──举例:列表功能
  139. | ├──自定义过滤器
  140. | ├──自定义按键修饰符 & 自定义指令
  141. | ├──Vue 实例的生命周期函数
  142. | ├──Vue 中的 Ajax 请求
  143. | ├──Vue 动画
  144. | ├──Vue 组件的定义和注册
  145. | ├──Vue 组件之间的传值
  146. | ├──Vue-router 路由
  147. | ├──Vue.js 在开发中的常见写法累积
  148. | ├──Vue 开发累积
  149. | └──Vue 组件
  150. |──React 基础
  151. | ├──React 介绍
  152. | ├──JSX 语法介绍
  153. | ├──React 组件:生命周期
  154. | ├──React 组件:常见属性和函数
  155. | ├──React 中绑定 this 并给函数传参的方法
  156. | ├──React 单向数据绑定
  157. | ├──React 路由的使用
  158. | ├──Ant Design 的基本使用
  159. | ├──AntD 框架的踩坑记录
  160. | ├──AntD 框架 upload 组件自定义
  161. | └──React Native 初识
  162. |──前端面试
  163. | ├──面试必看
  164. | ├──面试题累积
  165. | └──网友面经
  166. |──前端进阶
  167. | ├──代码规范
  168. | ├──常见专有名词
  169. | ├──数组的常见操作
  170. | ├──前端监控技术
  171. | ├──lazyload & 防抖动和节流阀
  172. | ├──Vue 开发累积
  173. | └──前端的几道题目
  174. |──前端综合
  175. | ├──2019 Web 前端入门自学路线
  176. | ├──前端学习分享
  177. | ├──Express
  178. | ├──2018 前端日记
  179. | ├──2019 前端日记
  180. | ├──2020 前端日记
  181. | ├──CSS 开发总结
  182. | ├──Ajax 相关
  183. | ├──HTML 相关
  184. | ├──Json 字符串的解析和遍历
  185. | ├──Json 相关
  186. | ├──前端博客推荐
  187. | ├──前端开发累积
  188. | ├──前端语录
  189. | └──网络抓包和代理工具:Whistle
  190. └──扩展阅读
  191. ├──2020 Web 前端最新导航
  192. ├──GitHub 项目推荐
  193. ├──网站推荐
  194. ├──前端文章推荐
  195. ├──上海有哪些互联网大厂
  196. ├──北京有哪些互联网大厂
  197. └──深圳有哪些互联网大厂

GitHub 地址→https://github.com/qianguyihao/Web

1.2 寓教于乐:Pacman

HG #vol.029 Pacman 是基于 HTML5 的吃豆人游戏。核心代码就两个文件,主程序仅有 1000 行代码,且代码有注释、整洁。对于新手来说是个很好的实践项目,也能让你养成阅读他人代码的好习惯。

GitHub 地址→https://github.com/mumuy/pacman

1.3 新手关卡:33-js-concepts

HG #vol.031 33-js-concepts 是一个国外知名的 JS 项目,作为基础最后一道门槛,它帮你查漏补缺,让你对每个 Javascript 开发者应该知道的 33 个概念熟记在心,开启下一个阶段的进阶之旅。

GitHub 地址→https://github.com/leonardomso/33-js-concepts

成神第二式:招式变化

2.1 深度乃广度基础:Web-Series

HG #vol.028 Web-Series 是小鱼干很喜欢的一名前阿里工程师:王下邀月熊编写的 Web 全栈开发、工程架构与性能调优。在你熟悉前端基础概念,制作简单的例如吃豆人游戏之后,是时候在上一层楼了解下进阶的性能调优、工程架构问题。作为一名十多年开发经验的前端工程师,在 Web-Series 系列,王下邀月熊致力于探索,如何有效地提升团队的研发效能,在整个产品迭代的生命周期中都能及时、可靠地完成交付;同时能够控制住系统整体的复杂性,并且不断地、持续地进行系统的性能与体验优化。可以说升职加薪就差这招 [手动狗头]

GitHub 地址→https://github.com/wx-chevalier/Web-Series

2.2 简化操作流程:D3.js

HG #vol.031 D3.js 的全称是(Data-Driven Documents),该库提供了各种简单易用的函数,大大简化了 JavaScript 操作数据的难度。该库的使用是数据可视化必须掌握的技术。

最重要的一点在于,D3.js 项目本身提供了极度丰富的 demo 供你直接使用,化身做一个“调参工程师”绘制各种酷炫力导图,呈现各种可视化数据,例如:红楼梦的人物关系组图。等你在 demo 中习得基本使用之后,就可以根据自己的业务需求将任意数据绑定到 DOM 上,或直接操作 DOM完成 W3C DOM API 相关操作,能限制 D3.js 强大的只能是你的想象力。

GitHub 地址→https://github.com/d3/d3

2.3 包罗万象:x-build

HG #vol.040 x-build 是面向小型项目的脚手架工具,通过终端命令最快在几秒钟初始化项目目录。该库内部集成了 Webpack、Babel、ESLint 等前端常用的工具。通过该项目可以了解脚手架的开发,并且可以熟悉如何在工具中集成 Webpack 这对自定义脚手架开发很有帮助。

GitHub 地址→https://github.com/codexu/x-build

成神第三式:问鼎武林

3.1 同设计把酒言欢:next

HG #vol.054 前端工程师的对手之一便是设计师,像素级还原度挡住了多少前端工程师的晋升之路。Next 便是你的闯关宝剑,阿里开源的企业级中后台 UI 解决方案,致力于解决设计师与前端在工作协同、产品体验一致性、开发效率方面的问题。就是设计师修改颜色之类的元素之后,可以生成一个 NPM 主题包,前端拿到这个包就可以直接还原设计师的设计。Next 真妙 ‍♂️

GitHub 地址→https://github.com/alibaba-fusion/next

3.2 得 Chrome 者得天下:chrome-extensions-searchReplace

HG #vol.052 chrome-extensions-searchReplace 一款搜索并且替换文本的谷歌插件,也是一个极佳的插件开发实践。

GitHub 地址→https://github.com/Summer-andy/chrome-extensions-searchReplacet

最后

本文《GitHub 上适合新手的开源项目》收官篇,大家从这个系列有没有找到适合自己进阶的方向或感兴趣的项目呢?如果还有什么想看的系列可以留言告诉我们,也可以聊聊想对 HG 说的话!

适合 JS 新手学习的开源项目——在 GitHub 学编程的更多相关文章

  1. 适合 C++ 新手学习的开源项目——在 GitHub 学编程

    作者:HelloGitHub-小鱼干 俗话说:万事开头难,学习编程也是一样.在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如: 我要学习某一门编程语言,有什么开源 ...

  2. 适合 Go 新手学习的开源项目——在 GitHub 学编程

    作者:HelloGitHub-小鱼干&卤蛋 故事要从 2007 年说起.因为受够了 C++ 煎熬的 Google 首席软件工程师 Rob Pike 召集 Robert Griesemer 和 ...

  3. 学习Coding-iOS开源项目日志(五)

    继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...

  4. 学习Coding-iOS开源项目日志(一)

    前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...

  5. 学习Coding-iOS开源项目日志(三)

    继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...

  6. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

  7. 如何参与开源项目 - 细说 GitHub 上的 PR 全过程

    目录 一.概述 二.为什么要参与开源项目 三.为什么我想介绍如何 PR 四.我想参与开源项目,怎么开始? 4.1.寻找一个合适的开源项目 4.2.寻找贡献点 五.我要提交 PR,怎么上手? 5.1.第 ...

  8. 用Java开源项目JOONE实现人工智能编程

    http://www.robotsky.com/ZhiN/MoS/2011-08-25/13142461416649.html 用Java开源项目JOONE实现人工智能编程 https://sourc ...

  9. 国内互联网公司的开源项目及github地址汇总

    国内互联网公司的开源项目及github地址汇总 阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如 MetaQ ...

随机推荐

  1. C# 泛型的协变

    class Program { static void Main(string[] args) { Person person = new Person(); Person chinese2 = ne ...

  2. JAVA每日一题20201109

    一.标识符的规则? 1.严格区分大小写,不能使用关键字,保留字,不能重复 2.数字不能开头 二.标识符的命名规范 包名:XXXYYYZZZ 类名,接口名:XxYyZz 变量名,方法名:xxxYyyZz ...

  3. C#实现的几种委托方式介绍

    //普通委托            DeleteShow ds = new DeleteShow(ShowName);            Console.WriteLine("----- ...

  4. 分布式文档存储数据库之MongoDB分片集群

    前文我们聊到了mongodb的副本集以及配置副本集,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13953598.html:今天我们来聊下mongodb的分片 ...

  5. C语言I博客作业3

    这个作业属于哪个课程 <https://edu.cnblogs.com/campus/zswxy/SE2020-1 > 这个作业要求在哪里 https://edu.cnblogs.com/ ...

  6. 2,flask URL进阶

    video5 flask特点: 1,为框架,简介,高扩展性. 2,flask相关依赖(jinja2,werkzeug)设计优秀. 3,开发高效,如SQL的ORM video6 debug模式 我只推荐 ...

  7. java类学习

    public class test4 { public static void main(String args[]) { /** * 方法定义规则 * 修饰 类型 方法名(参数){ * 要完成的动作 ...

  8. java中保留两位小数的方法

    1.BigDecimal的setScale // RoundingMode 舍入模式: // 1.UP/DOWN ->基准为数字0: // 2.CEILING/FLOOR ->基准为正负无 ...

  9. <摘自>飞:jxl简析2 [ http://www.emlog.net/fei ]

    [<摘自>飞:jxl简析:http://www.emlog.net/fei] (二)应用 在进行实践前 , 我们需要对 excel 有一个大致的了解 ,excel 文件由一个工作簿 (Wo ...

  10. lua调用dll demo

    使用的是lua5.3 DllMain.cpp 1 //生成的dll 是 lua_add53.dll 2 //luaopen_lua_add 3 extern "C" { 4 #in ...