【前后端开发】你想转IT ?不妨进来看一下这篇文章,了解一下前后端开发以及全栈开发

声明:我的观点主观性比较强,首先我不是科班出身,其次我不是全栈开发者,不过学过一年多的前后端。我的观点可能对实际客观环境还是有所差别,不过可以参考参考

一、引言

很多想要入行IT的小伙伴,可能会考虑学全栈或者前端或后端。以我对计算机行业的了解来看,确实这方面还是比较好入门的,今天我想讲一讲我对前后端的理解,以及两者对比,应该如何入门

二、两者的对介绍以及对比

我以问答的形式展开

2-1 前端开发

2-1-1 什么是前端开发或者web开发?

平时你有没有好奇过我们经常浏览的网页,小程序都是怎么来的?答案就是无论是网站还是小程序或者说一些用网页开发的app都是由前端开发工程师开发的,简单来说你看到的web页面,小程序都是前端开发工程师用开发语言写出来的。到此小伙伴应该了解了前端开发就是做网站的,做小程序的,当然了还可以做一些别的还可以开发电脑应用,手机应用等

 2-1-2 前端开发小白能学吗?

我认为只要是思维正常而且有基础的英语词汇量的人都能学,小白当然也能学了,而且前端入门很简单,随着学习的深入难度一点点增加,很适合小白学习的一个领域。我就是个小白,从前端入门的。不信给你看几行我当时做练习时写得代码,就知道不难了 

下面CSS样式代码 ,差不多入门学了20天能学出来的水平了,是爱奇艺首页的简单复刻

基本上都是常见的英语单词,而且语义化,很好理解

2-1-3  前端开发学一些什么技能或语言?

3-1 HTML+CSS

首先就是入门必学的两门HTML超文本标记语言和CSS层叠样式表

HTML是写网站框架的,CSS是进行布局美化的,比如元素的位置,布局方式,颜色,长宽,字体样式等。

扫描二维码关注公众号,回复: 17283354 查看本文章

如果把做网站比喻成盖房子,那即是用HTML把房子的,墙体筑起啦,框架搭好

接下来就是用CSS给房子装修,刷各种各样的漆,贴各种各样的值,家具都摆放整齐等

虽然HTML和CSS让网站使网站看起来特别美观,就比如上面举例的爱奇艺案例,但是是静态的,几乎没有任何交互。接下来出场的就是前端最强主角JavaScript 

3-2 JavaScript

JavaScript是一种解释型脚本语言,前面说的的HTML,CSS不是真正意义上的编程语言,而JavaScript是真正意义上的编程语言。他能干的事儿很多很多,网页上几乎所有的动态效果都是它来实现的,比如说网址跳转,点击后的效果,提交数据,播放,停止,轮播图等等效果。可以说是万能的

就比如京东购物时有有没有发现,把鼠标放到商品上面就会变成一个放大镜,让你更看清楚细节,基本上都是JavaScript来实现的,就如下图效果

以下就是用javascript实现一个放大镜看细节的代码

下面就是效果图。 

如果还是拿盖房子来说,你用HTML,CSS把房子盖好了,装修好了,还不够,JS还可以给房子装线路,装一些智能家居,让你的体验感很好

 但是JavaScript不是说几个月能学明白的,他是万能的,对应的知识点也超级多,以我下面6个月的学习量说也只是把最重要的内容学完了而已,还有一些不常用的,比较偏的知识点没学。

总结: 

如果说你把HTML,CSS,JavaScript三门语言学完了,恭喜你前端入门了,理论来讲,你可以只利用这三门语言能做出来任何网站,任何网站效果。不过事情总是有优点,也有缺点JS的优点就是万能,啥都可以做出来,但是缺点也很明显

JavaScript有以下缺点,导致正式开发中利用各种框架进行开发,而不是用纯JavaScript进行开发

1,JavaScript是弱类型语言,对一些语法或者数据格式没有严格限制,导致经常报错,找bug找半天

2,JavaScript有些API,或者操作DOM,BOM方式繁琐,代码量大,效率不高

针对上述问题,框架或者库随之诞生了 ,上面又有了两个概念,我先解释一下俩概念、

什么是弱类型,什么是强类型?

通俗易懂的话来说,如果1就是1,2就是2,这样的话就是强类型,有人就说了这不废话吗?1就是1,难道1还能是2呀?当然了1不能够等于2,但是JavaScript里面可以自动类型转换比如,0可以跟'',空字符串相等。一个数值类型,一个字符串类型可以做到相等。再比如说0跟false相等等,还有一些更离谱的,总之这样的设置让初学者开始头疼,刚入门就开始晕头转向了。强类型就是无论两个类型做运算其类型必须一样,要么就是通过函数转类型再计算。只要类型不一致就会报错。

什么是框架? 什么是库?

前端里框架就是对JavaScript的封装。举个简单的例子,编程语言中常用的函数其实就是个封装,如果我经常用对一堆数字求和,我就可以写个函数,把求和的逻辑都封装在函数里,100次求和就简单的调一下函数即可,不需要写100次求和的代码。就比如说日常常用的手机也可以看成是一个封装,你直接用即可,你想用手机不需要自己去造吧,直接把别人造好的东西用即可,框架也是通过对JavaScript繁琐,多余代码的封装,实现一大堆好用的功能集合,我们直接用即可,而不需要自己写一遍繁琐的js代码,前端框架或者包都是对JavaScript的封装

接下来就是开始讲框架 及主要作用

3-3 axios

现在开发开始采用前后端分离的模式开发,所以前后端需要进行数据交互,axios通过对原生 JS 原生XMLHttpRequest对象进行封装,让前后端数据交互更加高效

3-4 Jquery

jquery主要作用的操作js中的DOM,还可以实现一些动画效果,对主要是对JS中的操作DOM元素的API进行封装,让获取DOM效率提高好几倍,可以简单体验一下区别

比若说,现在有个id为mydiv的div盒子,用js实现点击的时候红的盒子变成黑色

<body>
  <div id='mydiv' style="width:200px;height:200px;background-color: red;"></div>
  
  <script>
    let div = document.querySelector('#mydiv');
    div.onclick = function(){
      div.style.backgroundColor = 'black'    
    }
  </script>
</body>

 接下来用jquery来实现,可以一气呵成,减少了繁琐的操作,不过在这个例子中不明显,如果需要大量操作DOM,jQuery的优势就出来了,在操作DOM元素方面能碾压JavaScript。


<body>
  <div id='mydiv' style="width:200px;height:200px;background-color: red;"></div>
   <script>
    $('#mydiv').click(function(){
      this.css('background-color','black')
    })
  </script>
</body>

 3-5 Vuejs

开发总是不断追求开发效率的过程,最终Vue框架诞生了,极大提高了开发效率。操作数据不再获取dom ,通过模板语法以及简单的指令,加组件快速高效的实现开发

 Vuejs是大框架,除了学习基础的模板语法,渲染语法,指令以外,还需要学习路由,仓库组件等。我觉得Vue是个很好的开发框架,当然了与Vue并列的还有angularjs和reactjs不过我没学过,没用过,但是找工作这三个框架其中一个得熟练掌握。下面是一个Vue写的代码

3-5 微信小程序

现在前端找工作,小程序开发也是个不错的选择,等你前端HTML,CSS,JavaScript学的差不多,其实小程序也很好入门,他脚本语言用的也是JavaScript语言,他的样式跟CSS差不多,也可以用Vue框架进行小程序开发 

3-6 typescript

我们在前面提到JavaScript有一个缺点就是弱类型语言,typescript相当于JavaScript的升级版,对类型做了强化,做了很多限定,避免了一些逻辑错误的发生,代码写错会自动提示,让及及时发现并改正,开发效率大大提高

3-7 Echartsjs

这是一个数据可视化很不错的前端框架,你有没有见过很多网页上很炫酷的表格,图标来显示数据,可以通过Echartsjs数据可视化框架来实现,比如,下面是我做项目时做的一个简单的可视化

3-8 Electron 

其实我们一般用的电脑桌面应用有可能是由网页代码开发的,Electron框架就提供了这种可能,让前端框架,代码去开发桌面应用

3-9 其他

前端不止这些,还有一些小知识点,比如说npm,一个项目中肯定会用到很多工具,很多框架,很多模块包,npm是包管理软件,给项目服务,像个管家一样管理项目中使用的包。

还有就是promise,前端知识体系中有个异步,同步的概念promise可以很好的处理异步请求。webpack等项目开发好了,有可能体积很大,需要打包,对代买体积进行压缩,能合并的进行合并,便于上线部署等。

3-10 总结 

我觉得前端很杂,学的内容超级多,但是又很好入门,确实是个很好的入门选择。

2-2 后端开发

2-2-1 什么是后端开发?

现在小伙伴们理解了网页是如何来的,那有没有想过当我们浏览网页时网页上各种数据哪里来的,当我们买东西时搜索一件商品,就有了很多商品数据,那么这些商品数据是哪里来的呢?难道就存储在本地电脑,这当然不现实。我告你你答案,数据都是从后台通过网络请求传输过来的。后端开发就是开发网站的服务端,进行对数据的处理,对网络请求的处理,就拿最熟悉的学校的网站为例,每个大学都有自己的选课系统,查询成绩,申请等都是通过网页进行的,这些进行的选课,成绩查询等都是你对后端发的网络请求,后端就得对应的做处理,对数据库数据进行存储,对你进行的操作判断成功或失败给你进行反馈,这就是服务端开发,也就是后端开发

2-2-2 后端开发小白能学吗?

我的建议是不建议学习,到了后端可不像前端一样那么好入门的HTML,CSS等超文本标记语言,样式语言了。后端都是用现在主流的Java,Python,Go开发的。就是一门真正的编程语言了,如果你是纯小白,学后端先得从基础开始学习,有些编程概念不好理解,入门难度还是蛮高的 

 2-2-3 后端学一些什么?

首先你的有前端基础,最起码能看得懂HTML,CSS,JS以及简单的Vue框架

其次就是除了框架还是框架,数据库。后端开发工程师肯定要对主流的MySQL ,Access,sqlserver等关系型数据库熟练进行增删改查,也能进行一些简单的数据库架构。其次就是后端框架,就拿Python来说Django,Flask框架等。学习身份认证,数据验证,路由处理,如何实现高并发,网路编程等,我对后端没有深入学习过,懂得也就这些

三、技能转换和跨领域工作

如果你有了前端或者后端开发相关知识,转业或跨领域找工作还是很有优势的。以下是我推荐的几个岗位:

1,网络安全:全栈开发跟网络安全都跟网路,网站相关,如果你有了前后端开发知识经验,可以考虑转网络安全,可以做渗透测试或者完全服务方向发展

2,网络爬虫工程师,有了前端和Python基础可以考虑学习,或者当个副业也能有收入。

3,转测试,这我不太了解,不过也可以转,也是个选择。

四:介绍全栈开发

4-1 全栈开发

全栈开发:简单来说就是前端开发+后端开发。前面已经详细介绍了前端开发以及后端开发,等你这些技术差不多掌握了,前后端开发一整套web系统就是你的强项了,不过可想而知这估计至少也得需要几年时间刻苦学习。

4-2 前后端开发模式

讲的差不多了,我想再讲讲前后端开发模式。

4-2-1 前后端不分离,一起开发

有些人可能听说过PHP语言,有人纳闷PHP比较火的开发语言,到现在提都没有提一句。我个人看来PHP时代开始过了,现在市面上很少招PHP开发工程师,现在招PHP也只是维护公司之前PHP开发的业务。PHP就是用于开发后端,但是前后端不分离,PHP代码很HTML前端代码混写。这既是前后端不分离的开发。

4-2-2 前后端分开开发 

也是现在比较主流的开发模式,除了一些性能要求比价高的页面以外,一些电商平台等都是这种开发模式,前端只负责前端页面的渲染开发,后端只负责处理数据以及提供数据接口。虽然JavaScript是前端语言,现在比价流行的nodejs开发后端也是个不错的选择,如果你有很好的前端javascript基础,可以考虑用nodejs进行后端入门,说白了nodejs只是一个JavaScript运行的一个环境,后端就是JavaScript写的。

4-2-3 有哪些开发岗位?

前端开发工程师

小程序开发

H5移动端开发(手机网页版)

后端开发工程师

4-2-4 目前市场需求 

市场对前端,后端或者全栈开发者还是有需求的,只要你符合企业岗位要求还是能够给找到很好的工作,不过认为未来的岗位会越来越少。现在除了一些大企业像阿里巴巴,字节跳动,美团,携程,美的等每年会招大量前后端开发工程师以外就是一些做电商平台找前后端。而且现在市场上模板也比较成熟,现在做系统很多时候不需要从头改法,模板拿来补补改一改几天就能投入使用。

五,总结 

简单来说,前端很杂,学的技术栈很多,但是好入门。后端不好入门,不过一旦入门了,可能需要的技术栈没那么多。目前市场需求量还是有的,重要学历能过关,技术能过关,混一份不错的工作还是很有希望。

猜你喜欢

转载自blog.csdn.net/m0_67844671/article/details/133500181