对前端、后端和全栈感兴趣的人,建议都看看!18年老程序员给你指点迷津

本文介绍了前端开发中的HTML、CSS和JavaScript,展示了它们在网页构建中的作用,以及React和Vue等流行库的应用。后端部分着重于数据访问服务、CRUD操作,以及后端服务器、数据库的选择和优化。全栈开发则强调了开发者需具备的综合技能,包括从编写代码到服务器配置的全面能力。文章还提供了学习资源链接,帮助读者系统学习前端开发。
摘要由CSDN通过智能技术生成

看完这篇文章,你对前端、后端、全栈一定会有一个很全面的认知!


一、前端


(1)何为前端

简单来说,前端开发就是开发网页上的内容展示和与用户的交互。内容展示指的是你在网页上能看到的图片、文字、视频、数字等信息,那与用户的交互指的就是用户在页面上通过点击按钮、输入文字等动作对网站提供数据输入,然后前端对用户的输入进行响应,比如CSDN页面上的内容。

在这里插入图片描述

举一个更具体的例子,就是如果你在我的文章末尾点个赞,那么页面对你点赞这个动作做出了响应,就是在后台数据库里面把我的点赞量加1。并且在页面上显示视频点赞量加1之后的数量。

(2)前端常用的技术

前端开发用到的基础技术就是HTML,CSS和JavaScript,分别用来控制网页里面的内容、视觉效果和用户交互。

HTML并不是一门编程语言,它是一种用来定义结构化数据的标记语言。你在浏览器上看到的网页其实就对应一个HTML文件,这个文件里装的就是HTML的代码,而浏览器的职责之一就是通过你输入的网址从网站上下载对应的HTML代码,并且把代码渲染成你肉眼看到的样子前端工程师的工作内容之一就是编写HTML代码,或者使用一些技术来为页面动态的生成HTML代码。任何一个网页,你都可以通过浏览器的开发者工具看到它对应的HTML代码。

如果你仔细查看一段HTML代码,你会发现它其实就是有一堆各种类型的尖括号标签组合嵌套而成的。拿我前些日子的文章来举例,在这篇文章上,文章的标题对应于代码里面一个title类型的标签,文章的视频就对应于一个video类型的标签,我的头像和图片对应于一个嵌套在超链接标签里的image标签,而文章里的文字对应着yt-formatted-string类型的标签。

在这里插入图片描述

CSS的代码则是用来指定每个HTML的标签以什么样的外观和风格来展示,比如颜色、字体、长宽、位置、居中还是分散、显示属性等等。CSS的代码也是被浏览器读入,并且渲染成你肉眼所看到的效果。有时候PM会想把页面里面一个按钮的大小和颜色进行微调,改动这个按钮对应的CSS代码来实现的。

前端开发中真正编程的部分是JavaScript。网页如何与用户交互,如何与后端交互,都是通过JavaScript的代码实现的,就像HTML代码和CSS代码是被浏览器执行一样,页面里面的JavaScript代码也是交给浏览器来执行。这里插一句,JavaScript与Java并没有什么关系,两者之间的特性差的很远,这就好比是印度跟印度尼西亚一样,两者之间没有什么关系。

不管用什么语言,通常都不会重复的造轮子,而是会调用该语言现成的库(library)来实现一些常见的功能,让开发过程更加高效。

对于前端加web的开发,React是目前比较流行的库(library),React这个库不仅可以用来实现与用户的交互逻辑和事件响应,事实上页面上几乎全部的HTML代码都可以通过React来生成,这种在浏览器端生成HTML代码进行渲染的方式叫做Client-side Rendering,与之相反的就是Server-side Rendering,也就是页面完整的HTML代码是全部由网站的前端服务器生成好了之后再发给浏览器。

这里提到了前端服务器,就顺便说一下,前端服务器的逻辑可以通过任何编程语言来实现,比如Java、JavaScript、PHP、Python甚至是Scheme,只要服务器的行为遵守HTTP的协议就可以了。Client-side Rendering和Server-side Rendering两种渲染方式各有优缺点,因此前端工程师在开发网页的时候,需要结合实际情况选择最合适的页面渲染方式。

在这里插入图片描述

除了React,另外一种比较流行的JavaScript 库就是Vue,在国内用的比较多,比如B站的HTML代码用的就是Vue。

以上介绍的这些就是前端开发的一些常规技术,HTML浏览器和前端服务器的工作原理,一般会在学校里面计算机网络课程教,CSS、JavaScript和React就主要靠自学了。


二、后端


1.何为后端

讲完了前端,现在来讲讲后端。什么是后端开发呢?相当一部分的后端开发工作就是开发数据访问服务,使得前端可以通过调用后端的服务来对数据进行增、删、查、改,也就是大家经常听到的CRUD,从而实现前端对用户的请求响应。

比如你在一个大型网站注册的时候,这个网站的前端就会调用它的后端,把你的用户信息写入数据库。一个后端服务其实不局限于只被前端调用,它还可以被mobile app调用,还可以被其他的后端服务调用。类比一下,前端往往需要通过调用后端服务来完成对用户。请求响应,而后端服务往往需要通过查询数据库来完成对前端请求的响应。从这个类比你可以看出,前端和后端的共性都是通过调用一个比自己靠后的服务来对前方客户的请求进行响应。

在这里插入图片描述

后端工程师的工作范畴很广,几个比较常见的就是设计后端服务的AP、架构图、数据库,以及写代码实现后端服务的业务逻辑,同时你还需要保证你设计的后端服务highly available,也就是访问量很大的时候仍然不宕机,并且对客户请求的响应时间很短,或者说吞吐量高,单位时间内能处理的请求数量多。如果要从头搭建一个新的后端服务,那么整个过程需要进行大量的系统设计,也就是后端工程师面试的时候会考到的系统设计,做系统设计非常考察平时知识的积累。

2.后端必备技能和工具

(1)后端服务器

那么后端工程师平时一般需要与哪些技术和工具打交道呢?首先就是后端服务器了,和前端服务器一样,后端服务器也可以由几乎任何一种编程语言实现,只要能把正确的数据返回给调用者就可以了。

主流的编程语言也有各自流行的Web框架,也就是现成的轮子,来帮助大家站在框架的肩膀上,快速的实现一个后端服务。比如基于Java的Web框架有Spring Boot和Dropwizard,基于JavaScript的有Express,基于Python的有Flask,这几个web框架每一个都有大厂在使用,不同的公司具体选择哪种框架,一定程度上是看创始的程序员们最喜欢哪种语言,哪种框架用的最6。

还有一些后端服务的框架可以支持你用多种编程语言来开发,而不是绑在一门特定的语言上,比如gRPC这个远程调用框架,支持用Java、C++、Python、GO等语言来开发。

这么多的语言和框架,**如果你想去某个公司做后端开发,一定需要对他们使用的语言和框架很熟练吗?**一般来讲,不会。对公司来说,你会其中一部分就够了,很多东西都是在工作里面学的,而且事实上2~3周内上手一门新的语言,是一名职业程序员的基本素养。

在这里插入图片描述

(2)数据库

除了开发和维护后端服务器,后端工程师还会花大量的时间在数据库上,不管是为你的后端服务创建数据库,还是为数据库的性能调优或者是分析里面的数据。

目前最常用到的数据库是关系型数据库,比如在工业界被广泛使用的MySQL和PostgreSQl。如何设计一个关系型数据库?如何使用SQL query来访问数据,以及如何依靠index来为数据查询加速?这些知识点在学校的数据库课程里面也会介绍到。

然而学校数据库课程里面介绍的比较少,但是近年来用的又越来越多的是非关系型数据库,也就是大家常说的No-SQL数据库,比如基于JSON文档的MongoDB,比如基于LSM的LeveIDB。这些数据库在某些特定的情况下,可能会比关系型数据库更适合你的业务需求,可以在工作中去学习它的原理和特性。

数据库往往是后端系统里的性能瓶颈,也就是最慢的一环。工程师在进行系统设计的时候,会用很多办法来使得后端的性能,比如响应的时间尽量地少被数据库拖后腿,比如使用MemCached这种缓存系统来加速读取数据的速度,比如用Kafka把数据写入异步化,提升后端写数据的性能。

关于服务器和数据库,过几天我会专门更新文章来详细介绍,感谢的小伙伴可以关注我。


三、全栈


何为全栈?全栈就是全干,就是自己能过构建和部署一个完整的可以工作的Web APP,能够独立编写前端、后端代码,能够配置服务器,还能够设计数据库,基本上前面所提及的前端和后端技能及工作内容你读得掌握。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里获取前端学习资料

为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里获取前端学习资料

前端学习书籍导图-1

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值