文档章节

零基础的网站开发初学者如何系统的学习?

李佳顺
 李佳顺
发布于 2012/12/25 23:01
字数 3032
阅读 341
收藏 17
A.学习背景
开始网站开发,起先是从手机网站的UBB语法开始的,也因此有了深入学习的兴趣。为了让学习的热情膨胀,我有意的培养这一爱好 ,定位了自己要成为一名优秀的网站开发员的目标。
作为一名只有高中水平的零基础初学者,周围也没有掌握相关知识的朋友,打算自学的我只有通过google,baidu来了解要学习网站开发所需要的知识点。
目前掌握的知识点
了解到网站分为前端和后端。
前端方面:由于我是从UBB语法上开始的,我一开始就选择了学习的XML,后来学到,schema的一知半解,到后来的DOM就出现了瓶颈,于是放下这个 开始学习HTML,CSS,可是一直都觉得简单,也就当看电影一样一气呵成,便开始了学习Javascript,一直坚持到了自己能编写一些简单的效果, 也在这里进一步的了解了DOM,此时我觉得可以进行一些进阶级的网站效果设计,可是忽然发现我对HTML+CSS原来是如此不堪,我并不能很好的用它们去 编排内容,更或者说我连从哪下手去设计都不知……为此我迷茫了很久,又回过头来学习一遍,我才发现自己脑子里的知识点是一片混乱!
由于我是断网自学(手机上网看文字的内容还是很方便的),原因是为了不让自己在网络上分散了学习上的那份专注。所以对于图片等素材是很是欠缺的。我也知道 前端对于熟悉PS,AI,Flash等图行工具很重要,可是我看了这么多教程,就是找不到学习的窃门,只能对图片进行一些简单处理,Flash更是难点重 重,我就一直想不明白,用鼠标键盘怎么画出那么好看的动画。。。。。。
后端方面:我选择了PHP,MySQL。由于前面学Javascript的经验,学PHP也不是很难,学完了一些基础语法,MySQL也了解了建库建表,可就是一直没用过,这也是因为前面的知识点一直没找到突破口,所以也就没打算怎么去深入学习后台知识。
B.问题
一. 怎样编写标准的HTML+CSS,对于这些规范的标准很是不解,对于编写代码(包括js,php)有哪些好的习惯?我一直没有给自己写的代码注释,也许是目前自己写的都是太简单了。
二. 从Javascript , xml 上我都对DOM这一知识点上了解不深,是不是一种面向对象的知识,我该怎么去形象通俗的了解面向对象?
三. 我该如何去系统的整合我现在的HTML+CSS+Javascript+xml+PHP+MySQL的知识,或者说是如何系统的学习,作为一名单独的自学者,我很是迷茫这一点!???
四. 图形工具(PS,AI,Flash)方面,有没有一个好的学习建议或窍门?
五. 从未来的互联网发展趋势来看,还有哪些知识点是网站开发者需要掌握的?
C.后记
个人对自己的点评:1)可能是约束力不够,搞得知识面混杂。2)有点好高骛远了,基础没劳固就想开发?3)急功求成,对于一个23岁没收入的青年来说,如果不能早日学成,是个很可怕的事,压力啊!
在此我也讲讲发这一篇像博文般问题的原由,知乎作为中国首家专注社交问答类的网站,我认为这必然有它的出彩之处。这里牛人前辈也是特别的多,所以我想单纯 的提出问题,还不如上百度算了,这里提倡社交式的问答,问题问的不止是要答案,还要是着重于社交这一点,所以我加入了对问题背景的产生,更好的让人了解了 我的现状,对回答应该有所帮助。
同时我也是想着能否找到一些与我一样的初学者,相互提高;或者是偏重图形工具的人能与我形成互补,希望以后能有合作的机会。有意的加上以下联系方式:
E-mail: t-sky2008@163.com (推荐)
QQ: 121432908 (注明 ‘知乎’)
最后,我对所有对我的帮助者致以真诚的感谢!

10 个回答

93

张帅,web前端工程师

93 票,来自 SKY付超王寒 更多
网站开发开发大概分为前台和后端,前台又可以分为美工,交互设计,js编程。后端了解不多,前端的话,可以按如下思路学习系统学习:
基础知识
1. html + css 这部分建议在 http://www.w3school.com.cn 上学习,边学边练,每章后还有小测试。之后可以模仿一些网站做些页面。在实践中积累了一些经验后,可以系统的读一两本书,推荐《head first html 与 css 中文版》,这本书讲的太细了,我没能拿出耐心细读。你可以根据情况斟酌。
2. javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟 粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。
进阶
有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还学进一步学习。
1. css。必看《精通css》,看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念非常了解了。作为练习可以看下《css艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。
2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:
a) 框架。推荐jQuery,简单易用,我的第一web项目就是在w3school简单学习后,直接上手jQuery完成的,真的很难简单,很好用。 jQuery适用环境有限,对于那些对性能要求很高的页面无法胜任。推荐了解一下 YUI 或百度的 tangram ,都很好用,学习方法也很简单,照着产品文档做几个页面就行了,不用面面俱到,以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注 与web开发学习的精髓部分。
b) javascript 语言范式 。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。javascript不完全是一个面向对象的语言,它的很多 设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。javascript的很多语言特性,都是因为他具 有函数是语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,另外推荐 《object oriented javascript》,应该有中文版。对与函数式编程我了解的也不系统,不好多说,可以自己百度一下。
c) javascript 语言内部机制。必须弄清如下概念:js中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方 法,apply,call),以及四种调用方式下,‘this'指向的是谁。这部分内容你会在《javascript语言精粹》中详细了解。另外,你必须 理解json。
d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。
e) ajax编程,这是另一核心技术。ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对ajax有良好的封装,编程并不复杂。
f) 了解浏览器差异性。这部分包括css和js两部分,浏览器差异内容很多,建议在实践中多多积累。另外对于浏览器的渲染模式,DOCTYPE等内容应该系统学习。
再进一阶
有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但写出可以运行的代码,只是编程的最初级阶段。更高要求大概还有三方面:1易维护,2可测试,3高性能,如果页面流量有要求,那第四个就是,4低流量。
1. 易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。
2. 可测性。js代码可测性的主题,我正在研究,欢迎感兴趣的同学联系我,共同学习
3. 高性能。必读《高性能javascript》
4. 低流量。技巧性太强,非一朝一夕之功,不多说
补充
对于前段开发,核心部分基本就这些了,可以根据自己的兴趣爱好选择性学习以下内容。
1. 美工。 大公司都有专业的美工人员,不过如果爱好也可以了解
2. 交互设计。大公司依然有专业人士搞这些,不过如果爱好也可了解。推荐《简约至上》。
3. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,php的zend, http://asp.nethttp://asp.net mvc等等太多了,好还框架的设计思想都大同小异。
4. flash。我并没有吧flash作为前端工程的核心技能之一,因为我不会,不过ActionScript应该和js大同小异,可以根据工作需要学习。不 过我的原则是能不用就尽量不用,其实很多效果通过js,css都可以实现,完全不需要flash。而且随着html5的发展flash早晚会淘汰。
5. html5和css3 。html5的标准到现在还没有正式发布,不过目前几乎所有新的浏览器都已经开始支持,手机上就更是如此,建议学习,很好,很强大。

前 端开发需要学习的内容,很多很杂,我在最开始学习的前两个月也是一片迷茫。一路走来,发现也走了些弯路。美工,交互设 计,flash,js,html+css,后端,随便哪种技能,如果学的特别牛,都可以保证你拥有一个职业。想通吃,没个几年怕是不成。关键是选准自己的 爱好,深入学习一项,面要铺开,但深度更重要。以上我这一年学习经验的总结,希望对你有帮助。

© 著作权归作者所有

共有 人打赏支持
李佳顺

李佳顺

粉丝 20
博文 413
码字总数 225274
作品 0
朝阳
程序员
加载中

评论(3)

开源无憾
开源无憾
现在回头看,觉得想搞IT的人,还是得从C搞起,数据结构和算法也不能马虎
LokiSeven
LokiSeven
张帅的回答令我明确了很多东西,写了一篇文章总结了盒子模型,流动,block,inline,层叠,样式优先级,等概念
有兴趣的同学欢迎阅读指正
http://my.oschina.net/proloki/blog/99457
暖沙
暖沙
很有感触!!
学hadoop基础入门之发行版选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬,这个问题算是白问了,因为这个...

adnb34g
06/19
0
0
hadoop技术入门学习之发行版选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬,这个问题算是白问了,因为这个...

左手的倒影
06/19
0
0
零基础准备学习编程,应该从哪门语言学起?

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
06/06
0
0
学习网址

参考http://blog.51cto.com/lvnian/1840198 Python: 廖雪峰:http://www.liaoxuefeng.com Python中文官方文档:http://python.usyiyi.cn/translate/python_278/tutorial/index.html Python......

liqius
2017/11/29
0
0
Python不能帮你找到女朋友,却能让你成为有钱的单身狗

王者荣耀的团队年终奖是100个月工资、华为的员工房租补贴就有8000块、BAT校招起步价年薪20万……如果你看到这些消息的第一反应就是“炒作”,那只能说,贫穷限制了你的想象力。 一.选对行业,...

bf02jgtrs00xktcx
2017/12/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
2
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
119
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部