想成为顶级开发者?你需要多练习!请收好这些资源

译者按: 其实我们国内也有很多经典案例,比如饿了么、豆瓣、知乎。同样是非常不错的锻炼项目。

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

想成为顶级开发者?你需要多练习!请收好这些资源

每个人都很清楚要掌握一项技能需要充满激情积极地努力工作。如果你想在某一方面成为专家,那么你必须投入充分的精力。

没有任何好东西是可以轻易得到的。虽然很难,但是值得去尝试。我们都很喜欢写代码,但是往往没有好的想法,不知道写什么来锻炼自己的动手能力。在这里我给你们列出了一系列有挑战又有趣的项目。

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是一个非常流行的库。当然,他不是唯一的选择,还有ChartJSplotly.JS

D3js的介绍视频:D3js Workshop(Intro Into Creative Visualizations with SVG and D3)

真的非常棒!你可以从这里获取足够多的数据来练习:Awesome GitHub repository consisting of free-to-use public datasets

想成为顶级开发者?你需要多练习!请收好这些资源

以上提供的一些练习项目希望能够助你锻炼开发的能力,就像Fundebug能够助你Debug一样!

相关推荐