文章图片
文章图片
有些小伙伴问我 , 前端程序员、后端程序员、分别是什么?找工作到底选前端还是后端 。
这篇内容就给大家一一解答 。
前端开发(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 。
以上介绍的这些就是前端开发的一些常规技术 。
html、浏览器和前端服务器的工作原理一般在学校里的Computer Networking网络原理课会讲 , css、javascript和React则主要靠自学 。
后端开发(Backend Development)相当一部分的后端开发工作就是开发数据访问服务 , 使前端可以通过调用后端服务对数据进行增、删、查、改 , 也就是经常听到的crud , 从而实现前端对用户的请求响应 。
比如你在一个大型网站注册时 , 该网站的前端就会调用其后端 , 把你的用户信息写入数据库 , 一个后端服务其实不局限于只被前端调用 , 还可以被mobile app调用 , 还可以其他后端服务调用 。
类比一下 , 前端往往需要通过调用后端服务 , 来完成对用户请求的响应 。
- ipad mini|iPad mini6的出现果冻屏的原因,是受到LCD刷新速度和刷新方向的影响
- 三星|国产屏和三星屏:优势从一边倒,逐渐演变成强强对决!
- CPU|别只看跑分和处理器,买手机搞清这几点,要少花冤枉钱
- Spotify|重启Tig!哈里王子和梅根将成亿万富翁,并把钱用于更伟大的事业
- 耳机|Aptx高清传输+4麦降噪,谁说好音质和性价比不可兼得
- iqoo|3699元起步?业内人士曝光K50电竞版价格,和iQOO9比谁更香?
- 三星|定价万元的高端手机:三星GalaxyS22Ultra和iPhone13ProMax,咋选
- 飞利浦|如何在 MacOS 和 Windows 上捕捉窗口
- 数据库|宽带自组网-300km超远距离无线通信
- 浏览器|浏览器的复杂程度,可以和一个操作系统媲美