韩束|前端和后端分别是什么?

韩束|前端和后端分别是什么?

文章图片

韩束|前端和后端分别是什么?

文章图片


有些小伙伴问我 , 前端程序员、后端程序员、分别是什么?找工作到底选前端还是后端 。
这篇内容就给大家一一解答 。
前端开发(Frontend Development)前端开发就是开发网页上的内容展示与用户的交互 。
内容展示指的是在网页上看到的图片、文字、视频、数字等信息 。
用户交互指用户在页面上通过点击按钮、输入文字等等动作 , 对网站提供数据输入 , 然后前端对用户的输入进行响应 。
比如更新页面上的内容 , 举个更具体的例子就是 , 如果你在我的文章下方点赞 , 那么页面对你“点赞”动作做出响应 , 就是在后台数据库里把我文章的点赞量+1 , 并且在页面上显示+1之后的点赞量 。
前端开发用到的基础技术就是html、css和javascript 。 分别用来控制网页里的内容、视觉效果和用户交互 。
html并不是一门编程语言 , 它是一种用来定义结构化数据的标记语言 , 你在浏览器上看到的网页 , 其实就对应一个html文件 , 文件装的就是html代码 , 而浏览器的职责之一就是通过你输入的网址 , 从网站上下载对应的html代码 , 并且把代码渲染成你肉眼看到的样子 。
那么前端工程师的工作内容之一就是编写html代码 , 或者是使用一些技术来为页面动态地生成html代码 , 任何一个网页都可以通过浏览器的开发者工具看到它的html代码 , 如果你仔细查看一段html代码 , 你会发现 , 它其实就是由一堆各种类型的尖括号标签组合嵌套而成 。

css代码则是用来指定每个html标签以什么样的外观和风格展示 , 比如长宽、位置、颜色、居中/分散、字体、显示属性等等 。
css代码则是被浏览器读入 , 并且渲染成你肉眼看到的视觉效果 , 有时候PM会想要把页面里一个按钮的大小和颜色进行微调 , 而这个微调就是由前端工程师去改动该按钮对应的css代码来实现的 。
前端开发中真正编程的部分是javascript , 网页如何与用户交互 , 如何与后端交互 , 都是通过javascript代码实现的 , 就像html代码和css代码是被浏览器执行一样 , 页面里的javascript代码也是交给浏览器来执行 。
这里插一句 , javascripr和java之间没什么关系 , 两者之间的特性差得很远 。 就好比是:印度跟印度尼西亚差很远 , 雷锋跟雷峰塔差很远 。
【韩束|前端和后端分别是什么?】大家写程序时 , 不管使用什么语言 , 通常都不会重复造轮子 , 而是会调用该语言现成的library来实现一些常见功能 , 让开发过程更高效 。 对于前端javascript开发 , React是目前比较流行的library 。 React不仅可以用来实现与用户的交互逻辑和事件响应 , 事实上页面几乎全部的html代码都可以通过React来生成 。
这种在浏览器端生成html代码进行渲染的方式叫做Client-side Rendering , 与之相反的是Server-side Rendering 。 也就是页面的完整html代码 , 是全部由网站的前端服务器生成好后 , 再发给浏览器的 。
这里提到了前端服务器顺便说一下 , 前端服务器的逻辑可以通过任何编程语言实现 , 比如java , javascript , pythonphp甚至是scheme , 只要服务器的行为遵守http协议即可 。
Client-side Rendering和Server-side Rendering两种渲染方式各有优缺点 , 因此前端工程师在开发网页时需要结合实际情况 , 选择最合适的页面渲染方式 , 另外一种目前比较流行的javascript library是Vue , 国内用的比较多 , 如果你去查看B站的html代码 , 你会发现B站的前端也用到了Vue 。