Home > Article > Backend Development > 对于网站开发新手,是应该先把 HTML、CSS 学通后再学 PHP 还是应该先了解一些前端知识然后学习 PHP 呢?
四个部分
这里大致列出了长短不一的四个部分知识要点,在你学习网站开发时你需要掌握这些要点。
web框架的基础知识(如Ruby on Rails),又名“包含网站模块及它们之间连接结构”。
前端开发,又名“如何使内容出现在正确的位置上,而且在浏览器中表现得好看”。
版本控制,又名“如何使用免费易用的软件,使程序员能够有组织地保存他们的程序版本。这样他们就不用担心修改代码所带来的版本混乱,同时也能够很好地与其它程序员协同开发”。
部署,又名“如何真正地将你的网站放到互联网上”。
PS:把这几个部分标记为1到4,但这并不意味着它们之间存在任何特定的顺序。你可以同时学习这些东西。
第一部分:选择一种web框架,并开始学习它
在这个部分所需要花费的时间很像这种模式,即“选择一种web框架”=>“大概10分钟之内”。“学习这种框架”=>“很多很多个(快乐的)小时”。
那么,什么是web框架?我的理解是这样的:有框架之前,人们在决定做一个新的网站时,往往每次都需要添加一些相同的东西到新的网站。由于这些都是一些重复无聊的工作,所以程序员开发出了框架(例如Rails),这些框架能够把很多重复性的工作移到web开发之外。人们喜欢说,Rails代表“约定优于配置”。它的意思是,假如你想按照约定的方式开发,那么Rails会使web开发变得简单。
第二部分:学习前端的东西
对于“前端”和“后端”不完整/不准确的定义可能会是这样的:web开发中的“后端”是指你存储和组织网站数据的地方。例如Yelp这样的网站要存储很多东西:它的用户和用户的个人资料、大量的餐厅信息、哪个用户对一个特别的餐厅做了什么评价,等等。
Yelp把这些信息存储在服务器上,这些服务器就是分布在不同地方的大型计算机。当你搜索“Pizza in San Francisco”,你的计算机会发送一个请求到Yelp的服务器,Yelp服务器收到后回发HTML形式的请求信息(Yelp每次都以这种方式来指示服务器的行为方式)到你的浏览器,浏览器会被渲染(例如:将HTML分离成文本和图片,然后让这些图片和文本在浏览器窗口中以正确的方式显示出来)。这后面的一部分—有关数据应该如何出现在用户窗口的指令(而不是什么数据应该被回送)—就是“前端”。
第三部分:学习版本控制(如:Git)
大致地说,版本控制系统使程序员能够在任何时间点及时的保存(正式说法是“commit”)他们的代码。当一个项目结束时,一个程序员可能已经积累了数百或数千份这样的代码备份。
我之前并没有意识到版本控制的重要性。当我在写一篇文章时,我并没有把我对文章做的每一次修改保存到Word文档中。当我写代码时,情况会有所不同吗?
事实证明,答案至少是两方面的。首先,程序员写代码时往往会导致意想不到的问题。当问题发生时,我们可以很轻松地回滚到上一个正常工作的代码版本。然后,程序员经常工作于同一个项目中。在这种情况下,他们需要能够很轻松地合并他们的代码。类似Git这样的版本控制系统(目前最流行的)可以很容易地做到以上两点。
第四部分:学习如何部署(如Heroku)
当你开发网站时,绝大多数时间你都会在你的开发环境中去验证检查—换句话说,就是在你自己的电脑上,而不是在互联网上。
拥有这样一个开发环境的理由很简单:将你的代码上载到一个远程服务器需要一定的时间(例如,上载到互联网中一个实际的服务器上)。由于你的网站正处于开发阶段,你需要不断地检查你的网站,而每次当你上载新的代码时,你都需要20-30秒去等待服务器的响应,然后才能看到新代码运行的效果,这确实很烦人。