2018-08-09

Html&CSS简介

话说从今天开始,我们就要开始学习前端的内容啦!默默的问自己一句,有木有很开森!~
好,话不多说,接下来我们进入正题:

首先呢,我们将以对Html和CSS的了解为目标,对此作一个简介;
溯古贯今的扒一扒我们的整个学习历程:

首先,第一个问题,将从我们学前端时学什么以及学完了能做什么来展开讲述:

那么我们说,我们学完了能做什么呢?
哦,其实不论是我们学前端的、还是学Java、PHP的那帮哥们,我们的最终目的就是为了做软件;
那么既然我们要开发软件,首先我们得知道软件是个什么样子;

所以,第二个问题,我们将从软件架构的角度来看一下软件长了个什么模样;

因为是入门,所以上图中的内容不得不详尽的描述一下;当然,其实这些内容对我们来说也相当重要;
首先,软件分为两种架构:分别是基于 客户端/服务器 的 C/S 架构和基于 浏览器/服务器 的 B/S架构;
    先说C/S架构:
        一般来说,我们平常使用的软件都是C/S架构 - 比如说QQ、360、Office以及我们正在使用的XMind;
        先说C:
            C指的是客户端,而所谓的客户端也就是我们在电脑上看到的一个一个的图形化界面实体,那么也就是说我们是通过客户端来使用软件的;
        再来看S:
            S指的是服务器;
            首先,就拿我们平时用的QQ来举例,假如说没有服务器或者干脆说没网那么我们的消息就发不出去,软件就不能用了;
            而服务器是用来处理业务逻辑的,我们要给某个人发消息,那么发给哪个人就是业务逻辑;
            那么其实我们发的消息是先发到了服务器上,然后服务器经过判断以后再转发给目标对象的;所以,服务器也是不可或缺的;
            另外多提一点,服务器可不是装在我们电脑里边的,但是它究竟在哪儿的这个问题也不是我们需要关心的内容;
        说完了C/S架构是什么,接下来谈一下C/S架构软件的特点:
            首先,软件使用前必须得安装;
                即使不安装,那么我们为了以后要使用这个软件是不是至少也要把安装包下载下来放到电脑的硬盘里是吧;
            另外,软件更新的时候,服务器和客户端需要同时更新;
                先来看我们使用的客户端 - 是不是在我们使用软件的时候可能时不时的碰到这么一种情况:软件会提示我们下载更新;
                然后看服务器 - 既然客户端要更新,那么肯定伴随着原有功能的修改优化以及新功能的添加;那么我们又说这些功能的业务逻辑是由服务器来处理的,所以软件更新的时候必然是客户端和服务器同时更新的这么一种情况;
            然后,软件不能跨平台使用;
                先来解释一个概念 - 平台:平台的意思就是说操作系统,所以我们说不同的平台说的就是像Windows、Linux、MacOS、Android以及IOS等不同的操作系统;
                不过你可能要问了,我的电脑上有QQ,而且我的Android手机上也有QQ不是?哈哈,其实我反过来问你,你电脑上的那个QQ能用在你的手机上了不?反之亦然;
                所以说如果要跨平台使用软件,是不是需要针对不同的平台去开发这款软件?可想而知的是,这样开发成本也就越来越高了;
            最后,软件客户端和服务器通信时采用的是自有协议,相对来说比较安全;
                同样的先解释下什么是协议 - 其实协议就如同我们看谍战片时地下党同志间发电报用到的那个密码本;
                有了这个密码本,那么客户端发送给服务器的消息,即使被截获了那么对方也解析不出内容来呀?所以说,自有协议在安全性上就作了很好的保证;
    其次,对比来看B/S架构:
        首先,S同样是指服务器;
        重点来看B:
            首先,B/S架构的软件其实也是C/S,只不过B/S架构的软件,我们使用浏览器作为软件的客户端;
            那么也就是说,我们是通过使用浏览器访问网页的方式来使用软件的;
            到这里,有的同学可能就要问了,我们通过浏览器访问的不是网站吗?这咋摇身一变成软件了呢?
                其实在早期我们的网站确实只能称其为"网站",因为那个时候我们只能看只能浏览网页;
                但是到了现在,就拿我们最最熟悉的淘宝这个网站来看,是不是我们不但能浏览网站上展示出来的商品,而且还能点击查看详情、下单购买并支付甚至是查看快递到哪了呀~
                所以,现在的网站,早就超出了网站本身的概念,它上升到软件的概念层次上也就不足为奇了;
                而且有很多像这样的同类网站 - 比如京东、12306、知乎和新浪微博都能够称得上是基于B/S架构的软件了;
        紧接着谈一下B/S架构软件的特点:
            首先,它不需要安装;
                因为我们通常是这样子去访问网站的 - 打开浏览器->输入网址->然后键入enter就可以访问该网站了;这也就顺应了上边所说的我们是通过浏览器来访问基于B/S架构的软件的;
            其次,软件更新时,客户端不需要更新;
                因为我们能肯定,现在的淘宝网站,绝逼不是阿里开发的初版;而且,每次网站更新的时候, 它也并没有提示我们让我们刷新啥的来更新网站;而是我们每次打开网站的时候它就已经这样了;
            然后最重要的一点,软件可以跨平台,只要系统中有浏览器,就可以使用;
                所以是不是极大的节省了开发成本?!
            最后补充一点:B/S架构的软件,客户端和服务器之间通信采用的是通用的HTTP协议,相对来说不安全;
                这里借用青岛地铁广告一波先:知道您懂得,但是别忘了!
                首先,这个问题是不是一个可以解决的问题?这个协议不安全,但是我们是不是可以通过在代码中加密的方式来提升软件的安全性?
                另外,官方是不是又给我们提供了更加安全的https协议来使用?
                [别问我什么是https协议,我是不会告诉你它是基于http添加了一个安全套接字搞成的~]

上面说完了做什么,下面就是怎么做了 - 所以第三个问题,看一下软件的开发流程

你可能感兴趣的:(2018-08-09)