WEB是一个外延广泛的概念,不单单指网站,乌徒帮专注拥有WEB界面的网站开发,帮助初学者或已经进入开发的朋友们提供参考讨论平台,然而并不一定能将所有的WEB知识讲全讲透,只是能满足初涉者的建站需求,能到这一步,frustigor也算满足了。

Web网站建设一文中笔者大概谈到了一个网站能搭建起来,作为一个小型的开发者,都需要做哪些工作。显而易见的是,这些工作并非一个人就能完成,往往需要一个有各方面技术基础的团队,人数不多,然而却是必须的。那么在网站建设领域,需要拥有哪些技术和知识呢?

一、对网站及网站建设抽象概念的理解

任何一门学科都有相应的概念,网站建设也不例外。从事多年网站建设的老手以经验作为知识,而刚刚步入网站建设领域的初学者可以通过阅读书籍,查阅资料获得知识。我曾遇到过很多想学网站建设的朋友,他们基础为0,然后问我后台程序如何如何,数据传递如何如何,而当我告诉他一个简单的方法或思路时,他连我口中所说为何都不知道,更无从谈程序处理。有人说网站建设很容易,不就是做网页,管理网站么?也有人说做网站很难,根本做不出好的作品。前者必定是不懂网站建设的朋友, 而后者也不必太过拘泥于当前,只需一步一步提高自己的知识,逐渐知识专研,才能实现蜕变。

WEB不等于网站!

在我看来,除非是已经从事网站建设多年的朋友,但凡是初学者,都应该先寻找一本关于WEB基础知识的理论书籍看一看。通过理论的学习,可以理解网站得以存在和运行的基础条件,在后期开发中不至于丈二和尚。

从我个人来看,这些知识包括WEB相关观念、发展历史、基础理论、计算机网络、互联网基础等等,虽然没有直接涉及网站建设,却是网站赖以生存的理论。例如很简单的例子,什么是网站?什么是域名?http和IP地址?宽带和带宽?移动互联网?3G?这些概念性的基础知识,是网站建设的基础,是房子基石下面的大地。

二、WEB基础知识已经是大海

没有人是全才,全才就是废材!很多朋友见到我听过我是搞网站的,便会用电脑技术大师的眼光来审视我,然而我想说的是:MB不是学技术的都是修电脑的好不好!搞网站跟修电脑扯不上半点关系,别人学计算机的也不是修电脑的,为什么普通人眼中喜欢修电脑的呢?这个问题至今我还没有答案,可能修电脑的搬来搬去,肌肉比较大块而符合人体美吧。。。

在WEB知识大海中,笔者只会提出涉及到我们网站建设和开发的知识,除此之外的技术一旦提出,便会有人很SB的去学习,举例,我在刚接触网站建设时,无意之间了解到linux的知识,于是狂热的学习热情驱使我花了几个月的时间掌握linux的命令,在linux上配置各种软件,实现linux服务器,然而两年过去了,linux的命令我几乎已经忘光,除了服务器配置还偶尔用,其他软件的安装和配置也都忘光。我想说的是,早期学习我们要切记两点:1、我们要什么就学什么,不要偏离跑道,很多知识等到你有迫切需求的时候,会迫使自己去学习;2、不要试图走捷径,一个星期的入门教程其实是给已经入门的人们去温故知新的,0基础学习者到入门的时间是3个月到半年方能做出作品。

另外,我想对那些已经拥有网站,基础却很差的朋友们一个建议,在有时间的情况下静下心来看一本有关html+css+javascript的书,它们对你来说已经够用了,无论你使用的是什么网站系统,认真冷静的看一本不厚不薄的网页表现层的书,绝对能应付你的简单的修改。

三、一个早期的网站建设者可能具备哪些技术

在学习网站建设的早期,几乎由一个人承担了网站的策划、开发、维护、管理、运营,而他的角色更是让人感到力不从心,从技术到美工到编辑到运营,简直就是一场自我的博弈。然而当你拥有了一个小的作品的时候,成功的喜悦能暂时抹去你的痛苦,并激励你学习更多的东西,促进你的成长。

如果你下定决心要开始建设自己的网站,并且想通过自己一手之力,而非借助他人来完成自己的网站,那么你可能需要掌握以下的一些技术或知识:

1、HTML

你不得不承认,大学里的老师从dreamweaver开始教网页设计是一种错误的理念,这让学习者将工具看的很重要,甚至将网页设计完全认同为使用好这些开发工具。之所以要从开发工具开始教,是因为开发工具能即时的将制作的效果给学习者看,并有利于讲解。如果你已经脱离了大学,或还没有开始上网页设计课程,那么直接学习HTML是件可以考虑的事。

HTML不单单是网页结构代码,而是一套超文本的理念,随着HTML5的兴起,它也不单单是超文本了,而是有语义的超文本,HTML也是可以有感情的。当然,这是网页背后的事,作为初学者,你只需要了解各个标签起到什么效果、使用时需要注意哪些,并不必掌握所有的标签,而是掌握到可以满足你的写作需求的那些标签。做好了这些,等以后慢慢即可接触更多的知识。

2、CSS

不要把CSS看的很难,因为太依赖写作工具软件,所以初学者会认为css很难,其实css是件很简单的事,就像一个人穿衣服一样,它让网页拥有不同的布局、颜色、线条、隐现。css=class的时代也过去了,随着HTML5的发展,css也变得开始有语义,有动作,可以实现一些动态的效果。

那么你是要学HTML5么?

HTML5并不是HTML4的不同版本,而是一种新的理念,在HTML4的基础上增减了一些标签,如果你想要学习HTML+CSS,并不会太多的深入研究其他WEB技术的话,那么选择HTML5+CSS3是一项不错的决定,当然,学习HTML5会变得很困难,因为所有的HTML5的书籍都把读者当做是已经非常了解HTML+CSS+JavaScript的,因而,如果你只是想入门,那么学习html传统教程吧,学完之后,看看HTML5都增减了哪些标签即可。

3、JavaScript

即使javascript是编程,你也无法绕过它,因为你必须自己尝试着理解网页上的动作是怎么发生和执行的。如果你只希望掌握网页的色彩、布局、线条的话,那么只需要了解javascript能帮你做什么,以便于你不用拼命考虑这些效果是不是css来完成的。这样你就不用深入学习javascript了。然而事实是几乎所有的学习者都有强烈的征服欲,所以学习javascript是必经之路,即使你曾经绕过,但也不得不在后期某个阶段后头重新走过一遍。

javascript本身就包含了很多知识,因为javascript就已经涉及到跟设备打交道的部分,通过脚本调用系统资源实现一些动作和效果。而在学习javascript之前,你最好有编程的经验,如果没有,那么肯定需要在第一次学习中花更多的时间。

ajax、jquery都是javascript的延伸学习部分,当有一天,你会需要它们。

而当学习完这些,你就已经可以制作一个非常漂亮,并且还拥有一定功能的网站了,虽然没有后台,虽然没有用户活跃,然而能够在互联网上看到自己的作品,已经是件非常了不起的事情了。

相关技术:flash制作、PS图片处理

四、进入到网站开发和运营阶段需要掌握哪些技术

当拥有一个静态的网站之后,自然而然会产生一个问题:我怎么去更新自己的网站,拥有更多的内容?

于是,学习者开始接触CMS、blog、论坛等现成的网站系统,并希望利用它们可以打造出自己的网站,开始运营,甚至希望从中获利。于是通过学习,不仅制作出了自己的漂亮的页面,而且开始不断更新内容,打造一个有氛围有风格的网站,进入到推广和运营阶段。

等等,似乎一切来的太快了!是的,其实当你开始拥有这样的一个网站的时候,你就会发现,这些系统虽然满足里你更新内容的需求,然而你新生的一些功能需求又无法满足了,于是你走上了一条不归路,开始反复纠结,进入徘徊期,直到最后决定选择一套技术进行深专研究,并重新审视自己,学习后台开发技术。

那么在这个过程中,你又会开始接触哪些技术呢?

1、一门网络编程语言:ASP或PHP或JSP或其他编程语言

而作为初学者,我们一般在ASP和PHP中选择,更多的人选择PHP,因为它更流行。这时,你将接触到后台,接触到调用数据,增减数据,和数据库打交道,并无时无刻不再思考一些程序处理逻辑。

前台表现的东西并不是已经到了十全十美出神入化的境界,然而后台的需求已经战胜了一切,如果你不去取数据出来,那么网站就是死的没有生机的一样。可是你必须经历一场新的洗礼,如果你有编程基础,那么这条路将走的很顺利,并花掉很少的时间,或许一个星期就能入门,记住,是入门!而当利用这些知识和技术实现了数据的插入、获取、删除之后,你渴望新的功能,例如排序,例如检索,例如不同风格的调用,总之就是一些以前从来没想过的,现在却因为动了一些调用的知识而不断冒出来的新的需求。

网络编程语言不止这3P,还有很多其他语言。它们要做的,既不是表现,也不是数据,而是在表现和数据之间进行数据处理。

2、一个数据库工具:或许是MSSQL,或许是MySQL,或许是其他

数据库在你之前或许是从来没考虑过,从来没想过的一件事,但是现在你必须考虑了,你的数据放在哪儿?数据库里!

学习数据库并没有想象的那么难,可是你不得不买一本关于SQL的书,去学习SQL语句怎么写,并不断的通过搜索引擎查找资料,完成不同的数据调用。记住,这个时候还是在谈入门,我们几乎在每一项技术中处在入门的位置,但不必为此懊恼,因为这是必经之路,能走到此处的入门,已经很不易了。

国内目前在数据库方面的人才还是很匮乏了,而从事数据库工作的,几乎都来自计算机专业,并且在行业中积累了丰富的经验。

相关技术:开发测试软件、数据库软件、网站空间、开发文档、手册

相关知识:开源CMS或网站系统、模板制作、开发工具、SEO、网站性能、站长;python、Ruby、SQL、服务器配置...

五、进入到项目开发阶段你所要思考的问题

在上一章中我们依稀可以看到一个小型项目的开发过程,你不得不考虑一些技术性问题,于此同时,你还要考虑除了技术之外的诸如策划、设计、运营、管理等等方面的问题,这个时候你常常渴望拥有一个团队。

而乌徒帮要帮你解决的是技术上的问题,即使你的IDEA非常出色,甚至在你看来是改变世界的项目,然而你仍然需要考虑自己的技术团队是否能够实现,并且有足够的空间让你的团队成员自由发挥。更重要的是,项目从无到有,技术的因素占的越多开发的时间越短,技术的因素占的越少,项目的内涵更丰富更有价值,这并不矛盾,即使你的技术因素很少,但对于那些技术因素占据很多的项目,或许你的技术成本比他们还要高。

而我的观念是:用自己最熟悉最拿手的技术,去完成最多的功能,实现最终的效果。一味追求高技术含量是不对的,facebook的技术含量很高吗?不是表现在使用先进技术上,而是表现在处理能力运行性能上。作为网站开发的学习者,用掌握的技术去实现自己的项目才是最关键的所在,任何异想天开的冲动,都会浪费你的时间和精力。

你可能要面临的技术选择:1、用什么开发语言,2、是否使用ajax,3、用什么操作系统,4、注重页面表现还是注重运营和站内氛围,5、使用什么开发框架,6、使用什么脚本框架,7、手机端开发...

我们所有的设想都建立在你单兵作战或两三个人小团队作战的前提下,哪一天你进了大公司,请忘记这一切,因为你会发现那些工作看上去那么简单。

Web基础知识和技术的更多相关文章

  1. Python全栈开发之17、tornado和web基础知识

    一.web基础知识 学习web框架之前,先来看一下web基础知识,首先要明白其本质就是socket,用户对应一个socket客户端,但是如果从socket开始开发web应用程序那么效率太了,正确的做法 ...

  2. web基础知识,

    # web基础 网上冲浪 surfing the Internet weibo.com 域名,主机名,微博服务器的地址名 当用户在地址栏输入一个URL(uniform resource,locator ...

  3. 语义web基础知识学习

    最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...

  4. WEB 基础知识(一)

    1. 系统架构 1.1 B/S系统架构 1.2 C/S系统架构 1.3 对比与区别 1.3.1 概述 C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过 ...

  5. Web基础知识

    这学期学了Web技术这门课,但对这门课是做什么的.有什么用处并不了解,教材是Asp.net实用网站开发,对我这样的初学者大概是深了一点,所以决定对Web技术的背景知识做下整理. 1.Web工作原理 W ...

  6. web基础之会话技术

    一.会话技术之Cookie Cookie技术是将数据存储到客户端 1.怎样去向客户端写出一个cookie 1)创建Cookie对象 Cookie cookie = new Cookie(name,va ...

  7. web基础知识通信概述URI与http

    1.url是什么,有什么作用: 说白了就是我们常说的网址:正规来说就是统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址. 互联网上的每个文件都有一个 ...

  8. JavaScript大杂烩0 - WEB基础知识

    1. 协议小结:HTTP协议与TCP/IP协议 现代Web应用开发的基础是HTTP协议,那么HTTP协议与我们熟知的TCP/IP协议有什么关系呢? 这个要从网络通信模型说起,简单的说,计算机通信就像两 ...

  9. web基础知识汇总

    HTML&XML 1.JavaWeb的概述 A: 什么是Web----->就是网页或者网站 B: 什么是JavaWeb----->就是使用java语言做web C: 浏览器访问网站 ...

随机推荐

  1. .Net在线付款---Paydollar在线付款开发过程

    原文:.Net在线付款---Paydollar在线付款开发过程 最近在做一个Web订单项目,项目有一个需求就是集成Paypal与Paydollar在线付款,一开始看到这个需求也是傻了眼,因为以前从来没 ...

  2. 使用Canvas基于手势可以使树秋千

    用Canvas制作能够依据手势摆动的树 依据工作的须要.制作一个摆动的树做为页面的背景.为了添加页面的交互性,我又为背景中的树添加了鼠标(触控)事件,使他可以依据鼠标(触控)做出对应的动作,当手指做上 ...

  3. W5500问题集锦(一)

    在"WIZnet杯"以太网技术竞赛中,有非常多參赛者在使用中对W5500有各种各样的疑问,对于这款WIZnet新推出的以太网芯片,使用中大家是不是也一样存在下面问题呢?来看一看: ...

  4. MVC+Jqgrid

    基于MVC+Jqgrid的列表页面 2014-12-08 12:01 by 刘尼玛, 1583 阅读, 20 评论, 收藏, 编辑 一.前言 “尼玛哥,上周你教我改了下OA系统UI,黄总看了很满意呀. ...

  5. js 计算过去和未来的时间距离现在多少天?

    计算传入的任意一时间.计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天! 返回值有两种! 1.负值 代表过去了多少天 2.正值 代表距离设定的时间还有多少天 说明:距离设定 ...

  6. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

    参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...

  7. 证明中序遍历O(n)

    算法导论12.1 什么是二叉搜索树 二叉搜索树应满足的性质: 设x是二叉搜索树中的一个结点.如果y是x左子树中的一个结点,那么y.key <= x.key.如果y是右子树中的一个结点,那么y.k ...

  8. idea中output log4j中文乱码

    1.设置tomcat中的VM optins:-Dfile.encofing=UTF-8 2.idea安装目录bin文件夹中idea.exe.vmoptions.idea64.exe.vmoptions ...

  9. 最初的ajax案例

    ----------------------原始的ajax: function guo() {            var xhr            if (XMLHttpRequest) {  ...

  10. PHP中的表单提交和获取

    在php中表单提交的方式有两种: 1.post提交,这种安全性较高. 2.get提交,他提交的是一个url地址,因此在从地址上面就可以看到许多信息,因此不安全. 每个表单<form>后面都 ...