基础问题一:理解主流Web开发

    本文是针对传统原生(Native)软件(Pascal、C、C++)开发人员的入门介绍,对于已经熟悉主流Web开发的开发人员,可以直接绕路了。毕竟,对于主流Web开发来说,天天介绍它们熟悉的空气和水纯粹是浪费时间和精力。

1.简单又不简单的HTTP协议

    说起来,大家都知道HTTP协议是个纯文本协议,并且是以回车换行为结束的纯文本协议,每次谈到这个,Native开发人员总是一脸鄙视加上莫名其妙的优越感。说实话,完全没必要这样,毕竟“存在就是合理的”,深入理解下去,你会发现以下有趣的结论:
    Http协议确实是非常简单,但是为了实现种种功能,在这个协议之上堆砌了无数的标准、无数的扩展。所以,这个协议真的是很不简单!在应用开发上,如果一切从头来的话,你会发现这是一个无敌超级巨坑,太繁琐、太累了!

2.展示的内容

    作为向用户展示的内容,HTML的结构是永远绕不开的话题,所以,理解一下最简单的HTML结构,这个要求并不高。具体内容还是自己去搜索看吧,实在是没啥可讲的。

3.交互的核心

    20年前,所有的页面都是静态页面,很少有交互的内容。但是现在,几乎很少有静态页面的Web站点了,所以你得理解如何和用户进行交互。简单点儿说,有几个内容是需要明确的:

3.1 服务器处理

    根据用户的操作,服务器可以直接动态生成用户所需要的内容(通常是HTML页面),直接展现给用户,这是最最常用的也是经典的开发方式。

3.2 客户端处理

    为了减轻服务端压力,在客户端(浏览器上)经常使用JavaScript进行客户端操作,比如:判断用户输入是否正确,为用户展示各种花哨的动画效果等等。

3.3 分层的概念

    对于Native开发人员来说,分层这个概念是比较难理解的,因为在常用的GUI程序上,我们历来都是在一个二维平面上进行布局开发,很少有人进行过层叠开发。注意,分层这个概念如果有困难的话,建议先用PS进行操作和使用一下,一定要充分理解分层概念,这是跟传统开发差别巨大的地方。

3.4 CSS的概念

    有了分层,自然要有抽象,如何将每个元素的属性用抽象的方式来描述出来,这就是CSS。你可以简单的把CSS看成是每个组件的配置文件就行了,每个组件装载不同的配置文件就能展现出不同的效果,或者说,你把CSS看成是不同的衣服,穿上警服你就变装警察,外穿内裤你就变身超人,当然穿上空乘你自然就是女装大佬了,但是你这个人还是你自己,想跑也跑不掉。认真理解CSS后,你会发现,抽象运用到这种高度真的是拍案惊奇的,如果没有,那就继续理解吧。

提示:

    对于Native开发人员来说,分层和CSS是比较难以理解的两个地方,同时也是经常出现冲突的地方。比如经常出现这样的场景:开发人员说,美工设计的这个东西根本没办法实现啊!而美工经常说,这么简单的东西你们开发都实现不了还搞毛啊!对于这种情况,我强烈建议所有的Native开发人员放下您那高高的身段,详细了解一下美工的整个设计流程,真正从用户、从审美角度理解UI,理解交互!对于我这种铁杆“甜党”来说,我知道世界上不仅仅只有“甜党”,还有“咸党”“辣党”等等等等,而每一种口味都意味着世界是不同的,快乐也是不同的。井里固然很舒适,但井外的天空才是真正的天空。
    理解了上述几个内容,那么就很容易理解经典的Web开发是什么样子了。显然,它不是孤立的一种方法,不是运用上面一个内容进行开发的,更多的情况下是混合在一起的,是密不可分的,是水乳交融的。这也是Web色彩斑斓、千姿百态、万紫千红的源泉与原因。如果一定要争辩孰优孰劣的话,我只能说仅仅是它们在整个项目中所占的百分比不同而已。

4.分块的思想

    一个传统的Web页面,无论有多复杂,它总是由一块一块的内容组合而成,这很容易理解,就如同一个传统的Native程序一样,无论它有多复杂,最终还是能分解成一个个的函数来协同完成庞大的功能。如果真正理解分块思想,那么所有的什么“流式布局”“延迟加载”等等内容都会迎刃而解的。

=====================================
    一下子讲了这么多内容,感觉挺可怕的。对于经典的Web开发来说,这些真的都是空气和水一样的东西,而我的理解依然非常粗浅与简陋,因此,对于各种错误也请抱着批判的眼光指出讨论就行,争吵谩骂就算了。

0 Comments
因网站受黑客垃圾攻击,留言暂时关闭,如有需要,请自行下载源码参考,谢谢。
留言