您的位置:首页 > 运维架构 > 网站架构

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

2011-09-23 16:36 645 查看
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岁没收入的青年来说,如果不能早日学成,是个很可怕的事,压力啊!

在此我也讲讲发这一篇像博文般问题的原由,知乎作为中国首家专注社交问答类的网站,我认为这必然有它的出彩之处。这里牛人前辈也是特别的多,所以我想单纯的提出问题,还不如上百度算了,这里提倡社交式的问答,问题问的不止是要答案,还要是着重于社交这一点,所以我加入了对问题背景的产生,更好的让人了解了我的现状,对回答应该有所帮助。

同时我也是想着能否找到一些与我一样的初学者,相互提高;或者是偏重图形工具的人能与我形成互补,希望以后能有合作的机会。

最后,我对所有对我的帮助者致以真诚的感谢! 

网站开发开发大概分为前台和后端,前台又可以分为美工,交互设计,js编程。后端了解不多,前端的话,可以按如下思路学习系统学习:

基础知识:

1. html + css 这部分建议在 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,asp.net 的 asp.net mvc等等太多了,好还框架的设计思想都大同小异。

4. flash。我并没有吧flash作为前端工程的核心技能之一,因为我不会,不过ActionScript应该和js大同小异,可以根据工作需要学习。不过我的原则是能不用就尽量不用,其实很多效果通过js,css都可以实现,完全不需要flash。而且随着html5的发展flash早晚会淘汰。

5. html5和css3 。html5的标准到现在还没有正式发布,不过目前几乎所有新的浏览器都已经开始支持,手机上就更是如此,建议学习,很好,很强大。

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