我该怎样开始设计我的网站? - 学习 Web 开发
When you win, say nothing. When you lose, say less. — Paul Brown
本系列关注前端部分,根据学习路线图达到学习Vue.js的目的
developer路线图developer-roadmap/translations/chinese at master · kamranahmedse/developer-roadmap
本文由 简悦 SimpRead 转码, 原文地址 developer.mozilla.org
这篇文章介绍了所有项目最重要的第一步:确定你想要做什么
前提: | 无 |
---|---|
目标: | 学会设定目标来给自己的 web 项目导航 |
概述
当刚开始一个 Web 项目时,大多数人所关心更多是技术方面。当然你必须先能熟练运用各种工具,但是最关键的其实是你想要做出一个怎样的产品。这看上去很简单,但是有很多的项目的失败并不是因为缺少相应的技术水平,而是缺少一个明确的目标。
所以当你有一个想法并且想把它付诸实践的话,在一切启动之前你首先要问一问自己下面这几个问题:
- 我到底想完成什么?
- 网站如何实现我的目标?
- 做什么,以怎样的顺序,才能达成我的目标?
这就是项目构思 (project ideation),这是达成你目标的第一步,无论你是初学者还是经验丰富的开发者。
自主学习
深入探索
一个项目永远不应该从技术的一方开始建立。音乐家没办法谱写任何旋律除非他知道他要创作出怎样的歌曲,对于画家、作家、Web 开发者来说同样如此。技术是我们接下来才需要考虑的。
技术显然是重要的。音乐家必须精通他们手中的乐器。但再好的音乐家也不能在没有想法的情况下制作出美妙的音乐。因此,在我们考虑技术 (采用怎样的编程语言和工具) 之前,你首先应该停下来好好想一想关于你想要做出的产品的各种细节。
和朋友们讨论讨论你的想法是一个好的开始,但是光这样还不够。你需要安静地坐下来好好捋一捋你的想法,为了能有一个清晰的思路关于如何实现你的想法。想要做到这些,你只需要一支笔和一张纸并回答下面这些问题。
注意: 有数不清的方法来实现你的想法,这里就不一一列举了。(不单独写本书不足以说明它)我们这里只采用一些简单的方法来处理专业人士所谓的 项目想法, 项目计划和项目管理。
我到底想完成什么?
这是你需要想清楚的最重要的问题,因为它主导着所有其它的事情。列出你想要达到的所有目标。这个目标可以是任何事情:销售商品来赚钱、发表时政评论……
假设你是一位音乐家,你可能希望:
- 让人们听你的音乐
- 卖糖果
- 拜会其他的音乐家
- 谈论你的音乐
- 通过视频教授音乐
- 将你的爱猫图片发布到互联网
- 找一个男朋友或女朋友
一旦你有了一张如上的表,你需要按照重要性进行排序(从最重要的到最次要的):
- 找一个男朋友或女朋友
- 让人们听你的音乐
- 谈论你的音乐
- 拜会其他的音乐家
- 卖糖果
- 通过视频教授音乐
- 将你的爱猫图片发布到互联网
这些简单的步骤(也就是写下目标并进行分类)将在你需要做出重大决定的时候帮助你(比如,我需要植入这些功能吗?需要使用这些服务吗?需要做这些设计吗?)
现在你有了按照重要程度排序的列表,我们进入到下一个问题!
网站如何实现我的目标?
现在,你有了一个目录清单,而且你迫切需要一个网站来实现这些目标。你确定吗?
让我们回过头看看我们的例子。我们有 5 个目标和音乐相关,另一个和日常生活相关 (找到你的另一半),还有一个和这些完全无关:猫的照片。建立一个网站来实现这所有的目标合理吗?甚至是必要的吗? 毕竟现有的很多网站服务就能达成你的目标,不需要新建一个网站。
找一个男(女)朋友就是一个很好的例子,体现了使用现有资源比构建一个全新的网站更有意义。为什么呢?因为比起实际去找个男(女)朋友,构建和维护网站将会花费我们更多的时间。既然我们的目标是最重要的,我们应该把我们的精力放在借助已有的工具而不是从头开始。还有,我们有很多可以用来展示相片的 web 服务,所以如果只是为了传播我们的猫咪多么可爱而构建一个新网站,就太不值得在这上面下功夫了。
其他的五个目标都和音乐有关。当然,有许多 web 服务能够达成这些目标,但是在这种情况下构建一个我们自己的专用网站是有意义的。这样的一个网站是**整合所有我们想要发布在同一个地方的内容的最佳方式(有利于目标 3,5 和 6),而且能促进我们与公众的互动**(有利于目标 2 和 4)。总之,既然这些目标都围绕着同一个主题,把一切放在一起将帮助我们达成目标,同时帮助我们的读者与我们联系。
那么一个网站如何帮助我达成我的目标呢? 通过回答这个问题,你将找到达成目标的最佳方式,同时把自己从白费力气中解救出来。
做什么,以怎样的顺序,才能达成我的目标?
现在你知道你想要完成什么,是时候把这些目标变成可行的步骤了。另外我补充一点,你的目标可能会不断变化。在项目的过程中,它们也会随着时间的推移而发生变化,可能是你遇到了意想不到的困难,或者只是改变了你的想法。
与其一个冗长的解释, 不如让我们回到如下表格中的例子上:
目标 | 要做的事 |
---|---|
让人们听到你的音乐 | 录制一段音乐准备一些可在线使用的音频文件(你能用现有的 Web 服务来实现吗?)让人们在网站的某个地方听见你的音乐 |
讨论关于你的音乐 | 写下一些文章来开启讨论明确文章的外观在网站上发布这些文章 (怎么做?) |
与其他音乐家见面 | 向人们提供你的联系方式 (电子邮件? Facebook? 电话? 邮件?)明确人们怎样从你的网站上找到那些联系方式 |
出售商品 | 创造商品储存商品寻找方式解决运输寻找方式解决支付在你的网站上建立一个机制让人们能下订单。 |
通过视频教授音乐 | 录制视频课程让视频文件可以在线观看(再一次,你能否用已经存在的 Web 服务做到这件事)让人们在你网站的某个部分访问你的视频。 |
有两件事需要注意。第一, 其中的有些事情和 web 不相关(例如:录制音乐,写文章)。 通常这些线下活动比项目的 Web 端更重要。例如,在销售方面,处理供应、付款和发货比建立一个人们可以订购的网站更为重要和耗时。
第二, 制定可行的步骤会导致你需要回答新的问题。通常情况下,问题比我们最初想的要多。(例如,我应该学习如何自己做这些,请别人帮我做,或者使用第三方服务?)
总结
正如你所看到的,一个最简单的 “我想建一个网站” 的想法,也会产生一个长长的待办事物清单,并且随着你的想法改变而变得更长,很快你就将会被这些事物所淹没。但是不用担心,不是所有清单上的问题都要得到答案,也不是每一件清单上的事情都需要完成。重要的是你首先要弄清楚目标是什么,以及如何实现它。目前确定之后,你需要决定什么时候以及如何来实现它。将大的目标分成小的,较容易且可控制的目标,逐一实现它们,你就能达成那个在之前看起来是不可能的目标。