全栈修炼2019年如何从Web前端迈向全

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

千手万能

前面新手篇和进阶篇介绍如何成为一个能够参与实际项目并开发出具有商业价值的互联网产品,假以时日,你无疑是将成为一个很具价值的前端开发人员,而这也意味着,你可以尝试满足你走向全栈的野心。

后端语言比较

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

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

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

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

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

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

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

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

学习也要专一

后端语言学习建议

后端语言的学习建议从打好基础开始,循序渐进,利用框架,快速实战。先从语言基本语法开始补充数据库,数据结构和算法方面的知识,以及包管理和网络协议(TCP/IP,HTTP等)等。练习用React,Vue和Angular等端架都可以进行服务端渲染。

常用的关系型的数据库有最流行的Mysql、MSSQL、PostgreSQL;比较流行的非关系型数据库有MongoDB,Counchbase。以及近些年发展起来的云数据库:阿里云RDS、Firebase,DocumentDB等,轻量级的数据库:SQLite,NeDB,Redis。同样根据自身情况,选择一门进行学习即可。

这个过程,我们可以利用一些开源的CMS系统来辅助我们练习和加深对后端知识的运用、理解。基于你学习的不同的开发语言,可以选择安装对应的CMSx系统进行学习。

基于PHP:Wordpress,Drupal;基于JS:Ghost,Keystone;基于Python:Mezzazine;基于C#(.Net):Piranha,OrchardCMSDevOps和部署

当你学会了后端语言和数据库,你可以开发一个完整的系统了。但是离正式向公众发布你的产品还差一个非常重要的环节——测试和部署,主要要注意几个方面:

选择后端平台:国内较为知名的服务商有阿里云、腾讯云、百度云、网易蜂巢等;

选择部署平台:Nginx、Apache、Linux、SSH、Git,不同的后台服务器系统适应不同的情况,配制方法也不同;

测试和修改Bug:包括单元测试、集成测试、函数式测试、系统测试,必要时进行内测,以便在正式发布前发现系统的问题。

可能要用到的还有可视化配置方面:Docker,Vagrant;

其他设置:CDN加速等。

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

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




转载请注明:http://www.aierlanlan.com/rzgz/4500.html