我经常收到小伙伴们的提问,前端程序员、后端程序员、全栈程序员分别都是什么?找工作到底选前端还是后端呢?为什么美国很多都是全栈程序员呢?今天的文章就来给大家一一解答。如果你是第一次看我的文章,欢迎订阅我的频道。首先什么是前端开发?简单来说,前端开发就是开发网页上的内容展示和与用户的交互。这里的内容展示指的是你在网页上能看到的图片、文字、文章、数字等信息。那与用户的交互指的就是用户在页面上通过点击按钮输入文字等动作对网站提供数据输入。然后前端对用户的输入进行响应,比如更新页面上的内容。
举一个更具体的例子,就是如果你在我的文章下面点个赞,那么页面对你点赞这个动作做出了响应,就是在后台数据库里面把我的点赞量加1,并且在页面上显示文章点赞量加1之后的数量。前端开发用到了基础机技术,就是HTMLCSS和javascript分别用来控制网页里面的内容、视觉效果和用户交互。下面分别简单介绍一下。HTML并不是一门编程语言,它是一种用来定义结构化数据的标记语言。你在浏览器上看到的网页其实就对应一个HTML文件,这个文件里装的就是HTML的代码。而浏览器的职责之一就是通过你输入的网址从网站上下载对应的HTML代码,并且把代码渲染成你肉眼看到的样子。那么前端工程师的工作内容之一就是编写HTML代码或者使用一些技术来为页面动态地生成HTML代码。任何一个网页你都可以通过浏览器的开发者工具看到它对应的HTML代码。如果你仔细查看一段HTML代码,你会发现它其实就是由一堆各种类型的监控号标签组合嵌套而成的。
拿我的做什么CS项目有助于找工作?这一期文章来举例,这期文章在YouTube的页面上,文章您的标题对应于代码里面一个title类型的标签,那文章的播放器就对应于一个video类型的标签。我的头像图片对应于一个嵌套在超链接标签里的image标签,而评论里的文字又对应于一个ytformetastream类型的标签。这里的yt应该指代的是YouTube那么这个标签应该就是YouTube自定义的标签。然后CSS的代码则是用来指定每个HTML的标签以什么样的外观和风格来展示,比如长宽、位置、颜色居中还是分散字体显示属性等等。
CSS的代码也是被浏览器读入,并且渲染成你肉眼所看到的效果。有时候PM会想把页面里面一个按钮的大小和颜色进行微调,而这个微调就是由前端工程师去改动这个按钮对应的CSS代码来实现的。前端开发中真正编程的部分是javascript网页如何与用户交互,如何与后端交互,都是通过javascript代码实现的。就像HTML代码和CSS代码是被浏览器执行一样,页面里面的javascript代码也是交给浏览器来执行。
这里插一句,javascript与Java并没有什么关系,两者之间的特性差得很远。这就好比是印度跟印度尼西亚差得很远,熊猫跟小熊猫差得很远,雷锋和雷锋塔差得很远。社会正题,大家在写程序的时候,不管用什么语言,通常都不会重复的造轮子,而是会调用该语言现成的library来实现一些常见的功能,让开发过程更加高效。对于前端,javascript开发,React是目前比较流行的library也是我在工作中做前端的时候会用到的。React这个library不仅可以用来实现与用户的交互逻辑和事件响应,事实上页面上几乎全部的HTML代码都可以通过React来生成。这种在浏览器端生成HTML代码进行渲染的方式,叫做cliencyrendering与之相反的就是servercyrendering也就是页面完整的HTML代码是全部由网站的前端服务器生成。好了之后再发给浏览器的。
这里提到了前端服务器,就顺便说一下前端服务器的逻辑可以通过任何编程语言来实现,比如JavajavascriptPythonPHP甚至是scheme只要服务器的行为遵守HTTP的协议就可以了。clientsirendering和serversiterendering两种方式各有优缺点。因此前端工程师在开发网页的时候需要结合实际情况选择最合适的页面渲染方式。除了React另外一种比较流行的javascriptlibrary就是Vue在国内用的比较多。如果你去查看B站的HTML代码,你会发现B站的前端也用到了Vue以上介绍了这些就是前端开发的一些常规技术。HTML浏览器和前端服务器的工作原理。
一般会在学校里面的