RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:24小时服务
你可能遇到了下面的问题
关闭右侧工具栏
大唐传易:前端重要还是后端重要

             在网络技术开发领域,大致可以分为两类,一类前端技术,一类后端技术。第一个问题什么是前端技术,什么是后端技术?
             即前端是在客户端前端展示的技术叫做前端。而后端在服务器端运行的就叫后端。具体前端、后端各要掌握什么技术?
             前端要掌握html、javascript、以及各种js的框架。
             

HTML不是区分前后端的界线

有些人认为前后端的分界在于html,这种看法实际上是不对的。
原因在于

  1. 早期的动态网页的工作主要是运行于服务器端的,并且生成html与业务都在后端,同时也没有js的支持。那个时期是不存在现代意义的前端技术的。

  2. 随着web技术的发展,现在大部分的web开发环境都开始支持html模板,
    在这个时期前端技术得到了极大的发展,但是html的动态内容究竟应该由谁来处理处于模糊时期,所以大家也困惑于前端与后端应该如何划分。这也是我们目前所处的时期。

  3. 之后的前端技术将不会不断的将加,不但可以完全处理html,css这样的展现,并且可以处理很大一部分的后端业务,以后的前端开发将不需要将html
    放在服务器端处理

  4. 另外,随着web技术的广泛应用,桌面技术与移动应用更多的采用html技术作为ui界面,而这种应用可能是没有后端的。所以就没有了所谓的后端的概念。

所以我们可以看出来几点:

  1. 最初是不存在前端技术的,只有cgi/后端脚本,浏览器端是没有过多的开发的,除了生成html。所以这个时期后端与html是一体的
    .HTML是作为文档出现的,所以后端技术的唯一目的就是生成文档。

  2. 技术是演化的,前端技术在ajax技术普及后,才变的越来越重要,html5与css3之后达到了高峰,未来将会更加重要。但是html仍然很多是在后端处理的。

  3. 随着桌面与移动应用的加入,未来前端的技术栈会更加的广泛。这时html是完全本地化的,没有服务器,所以模板全部是在前端的。

因此可以看出来html是无法界定前后端的,因为后端可以吐html,前端也可以独立的处理html.

任何web应用都无法避免与html交流。所以说以html来明确界定前后端显得很困难,特别是一些旧技术还能吐html出来。

虽然我的倾向是将html独立到前端,但是我不认为html是前后端的分界线,特别是当有人喜欢将模板通过后端技术来解释的情况下.

前后端技术不具有明显的差异性

都可以有数据库,
都可以多线程(虽然目前还不行),
都可以做并行运算。
都可以处理html。

所以前后在技术层面本质上没有差别,更多的是概念上的差别。

目前浏览器技术完全可以运行于后台。

浏览器都可以运行于服务器,那么这个概念也是不变的。

所以前端与后端不是以你的技术区分的,而是根据你的运行环境来区分的。

例如:

  1. javascript用运在浏览器端叫前端脚本,运行于node就是后端脚本。

  2. 比如搜索引擎技术是对html文档的处理技术,但是搜索技术绝对不会被归到前端技术上

html一样可以在无联网的环境下运行,这时不存在前端与后端的概念。这时只有桌面或者app的概念。

运行环境是唯一的前后端分界线

因为html与技术本身都无法成为我们去区分前后端的标准,那么运行环境就成了我们可以区分的唯一指标,并且相对是比较准确的。
在浏览器端运行的技术都是前端技术:
dom, html, css, javascript, 相关的前端类库与框架
在http服务器端运行的技术就是后端技术:
php, java ee, ruby/rails, nodejs/sails/expressjs, python/django
特殊情况:由于node技术带来的便利性,很多javascript类似可以同时支持前端与后端。比如validator.js,web-errors.js。
这种复合技术即是前端也是后端,所以为全栈开发创造了更好的条件,从而我们可以推出javascript是目前最好的全栈开发语言。
因为我们还知道mongodb的控制台是直接支持javascript的。

前端与后端经渭分明,不用纠结于html,也不用纠结于模板了。
这样,我们的所有逻辑都是通的。