想成为顶级开发者?你需要多练习!请收好这些资源
译者按: 其实我们国内也有很多经典案例,比如饿了么、豆瓣、知乎。同样是非常不错的锻炼项目。
- 原文: Want to be a top developer? You should build things. Here’s another list to get you started.
- 译者: Fundebug
为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。
每个人都很清楚要掌握一项技能需要充满激情积极地努力工作。如果你想在某一方面成为专家,那么你必须投入充分的精力。
没有任何好东西是可以轻易得到的。虽然很难,但是值得去尝试。我们都很喜欢写代码,但是往往没有好的想法,不知道写什么来锻炼自己的动手能力。在这里我给你们列出了一系列有挑战又有趣的项目。
1. Node.js配合GraphQL来写后端
GraphQL可以说是革命性的改变了我们发送和接收数据的方式。因此,绝对值得你花时间去琢磨一下。
具体操作
- 用Node.js的Express框架创建一个服务器,并使用MongoDB和graphQL;
- 对数据进行基本的创建、读取、更新和删除(CRUD)操作;
- 从一个简单的前端获取数据。
我建议你可以看看这个Youtube视频教程:Introduction to GraphQL
2. 终端app
一个终端应用就是一个可以在终端(terminal)下运行的程序。
可以从一个很小的简单的应用开始。终端应用的机制很简单:给定输入,返回输出。
一些简单的思路
- 请求用户输入名字,然后输出结果;
- 显示一些数学公式,然后让用户给定输入,返回输出结果。
这里有一系列终端应用示例可以学习。
3. Electron桌面应用
Electron可以让你使用网页技术比如HTML、CSS和JavaScript来开发桌面应用。
一些非常出名的Electron应用: Visual studio code, Atom, Slack, 和Webtorrent.io。
推荐一个Electron的YouTube介绍视频:What is Electron: The Hard Parts Made Easy。
再强调一遍,从一个简单的小应用开始,然后逐步构建复杂的。比如,你可以先创建一个Electron应用,给定输入,然后输出到终端。如果你对Web开发熟悉,那么你将会认为Electron非常方便。
4. 克隆Instagram
Instagram是一个很复杂的应用,如果你能把它写出来,你会学到很多知识。如果你自己搭建一遍Instagram,你可以学到:
- 复杂的Grid管理(请尝试用新的CSS grid技术);
- 多点调用API/数据流管理(请尝试用GraphQL);
- 可以搭建真实的大型应用。
你可以自由选择其他适合的技术。
非常棒的一点是:Instagram提供了API
5. 使用D3.js做数据可视化
D3是Data-Driven-Documents的缩写。D3是一个非常流行的库。当然,他不是唯一的选择,还有ChartJS和plotly.JS。
D3js的介绍视频:D3js Workshop(Intro Into Creative Visualizations with SVG and D3)。
真的非常棒!你可以从这里获取足够多的数据来练习:Awesome GitHub repository consisting of free-to-use public datasets。
以上提供的一些练习项目希望能够助你锻炼开发的能力,就像Fundebug能够助你Debug一样!