
像是生活中的任何事情一样,只有通过汗水和时间,才能精通于编程。编程技巧与其他技巧没有什么不同,投入 10000 小时之后,你也可以成为程序界的大佬。

或许你经常会面临手痒难耐想要编程却想不到要写什么的境况。下面是一些作者认为非常赞的应用程序,每一个熟练的开发者都应该至少构建一种。
1.Squoosh
Squoosh是一款图像压缩的网页端应用,用户可以深入研究各种图像压缩器所提供的高级选项。

Squoosh 示例
通过构建 Squoosh 程序,可以学到:
如何更改图片大小
基本的拖拽 API 介绍
事件监听器(Event listener)以及其 API 的工作原理
文件上传与导出
注:这款图像压缩应用是本地操作,不会上传数据到服务器。用户可以选择在客户端或者服务端进行压缩图片操作。
2.计算器
讲真,计算器?是的,你没听错,一个计算器。理解数运算及其原理在任何稍微有点复杂的程序中都是至关重要的。数字相关的程序开发是迟早要做的,那么为何不提前适应呢?

计算器
通过计算器应用的编写,可以学到
如何与数字和数学运算打交道
事件监听器的 API
程序外观 UI 的设计
3.Layer
在 Layer(图层)的社区中,人们可以在一块共享的画板上一人画一个像素块。这个想法最初是来自 Reddit 的一个板块,r/Layer,这是一个向所有人开放,任何人都可以创建或者增砖添瓦的创意探索画布。

Layer 画布
通过创建 Layer,可以学到
JavaScript 画布的原理,在一些应用程序中,知道如何操作画布是至关重要的
如何协调用户权限。未登录的用户每 15 分钟可以绘制一个像素块,用户功能是可选项
Cookie session 的管理

Reddit Layer 板块
4.网页爬虫(搜索引擎)
在人人在用网页爬虫的时代,为什么不自己写上一个呢?网页爬虫在搜索信息的时候非常的实用,在依赖搜索引擎的今天,爬虫的实用度只会随着信息需求的增长而增加。

谷歌(搜索引擎)的网页爬虫
通过编写网页爬虫可以学到:
爬虫的工作原理
网页索引以及如何按照口碑和排名展示搜索结果
存储带索引的网页至数据库,以及数据库的操作
5.音乐播放器(Spotify,苹果音乐)
人人都爱音乐,音乐是我们生活中的一部分。为何不构建一个音乐播放器来更好的理解当代音乐流媒体平台的基本工作机制呢?

Spotify 音乐网页版示例
通过编写音乐流媒体平台,可以学到:
结论
感谢阅读,希望诸位都能找到编写应用程序的灵感。
如果你对 JavaScript 还不熟悉或者是想要学习的话,作者建议可以通过以练带学,推荐书目是A Smarter Way to Learn JavaScript,以及有趣的程序灵感这篇文章。
原文链接:
Here Are 5 Thought-Provoking Apps to Code
评论