全栈修炼:如何从Web前端迈向全栈开发

1,179 阅读6分钟

前言

为什么要向全栈发展?

全栈开发是所有Web开发者的终极梦想,无论你现在是前端开发还是后端开发。并且随着大量开发者的涌入,前端和后端岗位都面临者激烈的竞争,全栈已经不是加分项,越来越成为必须项。如果可以发一份工资,没有哪个老板喜欢发两份工资。

假以时日,你无疑是将成为一个很具价值的前端开发人员,而这也意味着,你可以尝试满足你走向全栈的野心。

后端语言比较

后端语言是前端跨向全栈最大的一个障碍,也是必须拿下的障碍。不像前端Javascript独霸天下,后端语言是百家争鸣:PHP、Python、Ruby on rails、Node.js等脚本型语言,也有Java、C#(.net)等重量级语言,也有的Go、Erlang等。语言无所谓好坏,有各自的风格和适用范围。

PHP容易上手,而且社区强大,学习资源多,开源,容易部署。缺点是容易出错,效率不高。

Python这几年发展很火,据说连幼儿园都开始学习Python了,真是从娃娃抓起了。Python的特点是简单易学,开发快,易于维护,扩展性好,而且Python几乎可以用于大数据分析,人工智能,甚至可以进行硬件编程,可以说前途远大。但其缺点是速度较慢,容易犯错。

Ruby on rails开发效率高,开发者多,开发控件比较丰富,但其性能差,第三方包少。

Node.js的横空出世,让大家对前端对JS刮目相看,其火爆程度将JS直接推上Stack Overflow2018年度最受欢迎编程语言榜首的宝座。得益于其前端的特殊身份,在web接口,高并发web接口,nodejs效率都要远超java、php、python,Nodejs非常适合高并发的项目。最重要的是对前端工程师来说,通过Nodejs走向全栈,是个非常好的桥梁,可以减少陌生语言带来的恐惧感、挫折感。其缺点是只支持单核CPU,可靠性低,调试不方便。

Java性能好,稳定可靠,安全性和运行效率较高,适合大中项目。相对的,其缺点是开发难度大,学习成本较高,费用也较高,开发和部署的效率较低。业务量大,性能要求高,数据安全性要求高的企业级网站一般都选用Java,比如国内的淘宝、网易和美团等。

C#(.net)性能较好,开发效率高,维护成本也低,比较适用于微软系平台。但是其代码可重用性差,管理起来较难。

没有哪种语言绝对的好或者差,具体要看公司的业务和自己的偏好,最重要的在于你怎么运用它。正所谓弱水三千,只取一瓢饮,后端语言千千万,选择一门先学好,比那个都懂一点要强很多——贪多嚼不烂。

前段语言比较

web前端开发语言主要包含:html语言,css样式代码,javascript脚本,html5,css3,jQuery,ajax,Bootstrap,Backbone

html语言:网页的基本标记语言,也是最基础的语言,掌握起来比较简单。 html5

css样式代码:是用来控制html代码如何显示的,html语言只是网页的标记,但如何更好的在网页上展示你想要的效果,由css样式来控制,建议手写css样式代码,手写的更精简,重用性更高。

css

javascript脚本:运行在客户端,主要是由一些事件来改变网页的代码和显示效果的,一般的网页特效都是通过javascript脚本来编写的。它可以提供客户端的交互功能和一些动画效果,是每个网站前端开发人员必须要掌握的。 JavaScript

jQuery:是由javascript开发出来的开源的库,集成了所有javascript功能,让web前端开发人员写更少的代码,实现更多的功能,javascript脚本学起来是有一定难度的,但jQuery学起来却比较简单,这样降低了web前端开发的难度,并且jQuery几乎兼容所有浏览器。 jQuery

html5,css3:更多的html标记和富应用,更能精简代码,功能更强大,所以目前网站前端开发人员有必要掌握和使用它。

ajax:相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求,特别是局部刷新。

Bootstrap:Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。其中包括以下组件:下拉菜单、按钮组、按钮下拉菜单、导航、导航条、路径导航、分页、排版、缩略图、警告对话框、进度条、媒体对象等

Backbone:主要组成:

  • model:创建数据,进行数据验证,销毁或者保存到服务器上

  • collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,就是一个保存 models的集合类

  • view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁 优势:

  • 将数据和界面很好的分离开来。

  • 将事件的绑定很好的剥离出来,便于管理和迭代。

  • 使得Javascript程序的模块化更加清晰、明了。 应用场景: 最适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通

我目前是在职前端开发,如果你现在也想学习前端开发技术,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我所在的前端学习交流裙:前面:4213 后面:74697。里面聚集了一些正在自学前端的初学者,转行者,初阶者,里面有前端PDF书籍等,文章中涉及到的①html;②css;③JavaScript;④jQuery等pdf文档需要的话都可以找裙猪获取。

掌握以上知识,基本上你能从前往后,从后往前,来去自由。首先你能够配置全站开发的环境和工作流程,操作数据库,建立后端服务API,独立开发前端,从而开发一个包含前后端的完整应用,再进行测试和部署,直至产品正式上线。

恭喜,一位全栈开发工程师诞生了!