Quora原文 How do I learn web development as quickly as possible?
- 商科背景的人如何尽快的上手web开发?我想要自己独立开发类似Quora的网站
Matt West:
原答案: What is the best way to learn web development?
我下面列出的路线图看起来效果还不错,这真是太棒了。有人问我是否必要做项目,答案是肯定的。如果不做项目会是你所犯的最大的错误,因为百分之八十所学的都是来自项目的时间,享受写代码吧!
你好,我正在相关小组里面教授web开发,并且我的答案会随时更新。
Web开发包含很多东西,但是最基本还是在于前端和后端开发。
前端开发是你在网页上可以看到的任何东西,包括HTML图像视频,没有什么不可以的。虽然它并没涉及到一些持久性的数据,然而比起你所能想到的,根据网站或者应用的不同在编程上它会有更好的表现。
后端开发包括web服务器和数据,以及在此之上的任何东西。例如,当你再类似facebook和quora的网站上上传图像或者只是注册,这些信息都会上传到服务器并存储到数据库中。
全栈开发则什么都要处理,当你入门时,你要么成为一个前端开发人员或全栈的开发。
前端是很干脆直接的,你需要HTML,CSS,JavaScript和一个你所熟悉的JavaScript的框架。目前看来AngularJS是最佳的选择,你也许会想知道CSS预处理器LESS或者SASS。对于JSON数据和API也要感到得心应手。
成为一个全栈工程师,首先得需要在很多后端语言技术栈中选择一个熟练的。你也许会用微软技术栈成为.NET开发者,或者你会选择Ruby而成为一个Rails开发者。目前来说,最热门的全栈开发是基于JavaScript的MEAN技术栈。
完全不知道说的是什么?没有关系。
项目1-制作你自己的主页
计算机网络入门:如果你刚接触这些,到斯坦福大学上CS 101,这些都是免费而且公开的,如果完成这些你甚至能得到斯坦福大学的证书。
Computer Science 101
(不要听到斯坦福就觉得很怕,这是一个非常基础的计算机科学,并没有数学和编程的基础要求)
从前端开始并完成下面5个项目:
Dash | Learn HTML, CSS, JavaScript with our free online tutorial | General Assembly
然后,到下面这个网站去建网站:
Make a Website
项目2-制作一个视频游戏
比起上课程你应该更多做项目来学习编程开发,用几天时间来建造你最终可以展示你项目的主页。用你所学到的技能来制作职业并确保你用了响应式设计,这样的话你主页就能在智能手机和笔记本上得到很好的显示。一旦你开始项目1,就要开始是编程了,在这里完成你的JavaScript和jQuery训练吧
JavaScript
jQuery
项目3-用YoutubeAPI完成项目
用目前你所学的技能做一个视频游戏吧。这个项目里面要用到jQuery和JavaScript,但是项目不要太难可以在一周内完成。我做的就只是一个可以将砖头从顶部扔下去并且玩家在落地前可以击飞砖块的游戏(里面用到了jQuery的效果),通过这个你可以得到技能的提升,不过仍然有很长的路要走!到codecademy去学习利用AJAX吧。我建议你用到Youtube的API,因为这很有趣:
YouTube API
也许是一个展示月最佳MV的网站,或者是周最有趣的猫的视频的网站。可以做的有创造性一些,记得同时设计好手机页面!这时你距离一个前端工程师已经只有几步之遥了,回到Codecademy并学习AngularJS
Learn AngularJS
项目4-用AngularJS制作单页应用
是时候用AngularJS和另外一个你感兴趣的API制作一个单页应用(SPA)了,或许你可以考虑一下把你的主页换成一个SPA。
现在如果你跟着这条路,你也许会在几个月成为开发者,并拥有一个夯实的入门基础技能。现在你需要再一次提升你的JavaScript技能并且提升你的代码面试技巧。你将会需要这本书:
Secrets of the JavaScript Ninja: John Resig, Bear Bibeault: 8601401513506: Amazon.com: Books
仔细的研读这本书,并花功夫在闭包和递归上面。尝试着在你的项目或者新的项目融入上面这些概念。
随着面试的时候代码问题不断的出现,你也许会需要练习解决代码问题。这里有简单到中等的挑战:
Coderbyte | Programming Challenges
这就是所有要讲的关于web开发的了!这个时候你应该会找到工作了,但是如果你还想继续提升web开发,你也许会想参加这个代码训练营,其中一个不错的是在旧金山基于Hack Reactor的
Hack Reactor - The CS Degree for the 21st Century
Hack Reactor有比较高要求的入场券,但是如果你按照教程走到这一步的话,对你来说应当不难。如果你自己是想自学的话,你可以尝试一下订阅Pluralsite其中的代码学院或者Treehouse并完成MEAN技术栈 - MongoDB, ExpressJS, AngularJS, and NodeJS.
Hardcore Developer and IT TrainingLearn to Code by Doing - Code SchoolLearn Web Design, Web Development, and More
如果你真的走到了这一步的话,请联系我并告知你的经历。我们代码教授小组十分欢迎你,如果你太远了,你也仍然可以看到我们是如何教授web开发初学者的。不要去停止你的自己的步伐,我有意让我们的小组跟上忙碌的人们的步伐。
我们的网站: CodeSLO - The Central Coast's group for learning to code, free
我们脸书网址: http://www.facebook.com/codeslo
祝你好运!