全栈开发是所有Web开发者的终极梦想,无论你是开发前端还是后端。而且随着大量开发者的涌入,前端和后端的工作都面临着激烈的竞争,所以全栈不再是加分项,越来越有必要。如果能发一份,没有老板喜欢发两份工资。
千手万能之前的初学者篇和进阶篇介绍了如何成为一个能够参与实际项目,开发商业价值的互联网产品。假以时日,你无疑会成为一名有价值的前端开发者,这也意味着你可以努力满足自己上全栈的野心。

后端语言比较
后端语言是前端跨越全栈的最大障碍,也是必须克服的障碍。与前端Javascript独霸天下不同,后端语言百家争鸣:PHP、Python、Ruby on rails、Node.js等脚本语言,以及Java、C#等重量级语言,还有Go、Erlang等。语言无所谓好坏,有自己的风格和适用范围。
PHP很好用,社区很强,学习资源很多,开源,容易部署。缺点是容易出错,效率低。
Python这几年发展很快。据说连幼儿园都开始学Python了。真的是从娃娃开始的。Python易学、快速开发、易于维护、可扩展。除此之外,Python还可以用于大数据分析,人工智能,甚至硬件编程,可以说前途无量。但它的缺点是速度慢,容易出错。
Ruby on rails开发效率高,开发人员多,开发控件丰富,但性能差,第三方包少。
Node.js的横版空诞生了,让大家对js刮目相看。它的流行直接将JS推上了Stack Overflow 2018年最受欢迎编程语言的榜首。得益于其前端的特殊身份,nodejs在web接口和高并发web接口方面的效率远远高于java、php和python。Nodejs非常适合高并发项目。最重要的是,对于前端工程师来说,Nodejs是一个非常好的通往整个栈的桥梁,可以减少不熟悉语言带来的恐惧和挫败感。它的缺点是只支持单核CPU,可靠性低,调试不方便。
Java具有良好的性能、稳定性、可靠性、较高的安全性和运行效率,适用于大中型项目。反之,其缺点是开发难度大,学习成本高,成本高,开发部署效率低。业务量大、性能要求高、数据安全性要求高的企业网站一般选择Java,如国内的淘宝、网易、美团等。
# C性能更好,开发效率高,维护成本低,更适合微软平台。但其代码复用性差,管理困难。
没有哪种语言是绝对的好与坏,取决于公司的业务和你自己的喜好。最重要的是你如何使用它。所谓弱水三千,只取一瓢饮料,后端语言千万。先学一个比知道所有这些要好得多——超出你的能力范围。

后端语言学习建议
后端语言学习建议从打好基础开始,循序渐进,运用框架,快速实战。从语言的基本语法开始,补充数据库、数据结构和算法,以及包管理和网络协议的知识。使用React、Vue和Angular等结束帧练习服务器端渲染。
常用的关系数据库有最流行的Mysql、MS SQL和PostgreSQL。流行的非关系数据库有MongoDB、Counchbase。以及近几年发展起来的云数据库:阿里云RDS、Firebase、documentDB等。、以及轻量级数据库:SQLite、NeDB、Redis。根据自己的情况,选择一门课程来学习就可以了。
在这个过程中,我们可以使用一些开源的CMS系统来帮助我们练习,加深对后端知识的应用和理解。根据学习的开发语言不同,可以选择安装相应的CMSx系统进行学习。
基于PHP:Wordpress、Drupal;基于JS: Ghost,Keystone基于Python:mezza zine;;C #: Piranha,Orchard CMSDEVOPS和部署
当你学会了后端语言和数据库,你就可以开发一个完整的系统了。但是正式向公众发布你的产品还有一个非常重要的环节——测试和部署。有几个主要方面需要注意:
选择后端平台:国内知名服务商有阿里云、腾讯云、云、网易蜂巢等。
选择部署平台:Nginx,Apache,Linux,SSH,Git。不同的后台服务器系统适应的情况不同,配置方式也不同。

测试和修改bug:包括单元测试、集成测试、功能测试、系统测试,必要时进行内部测试,以便在正式发布前发现系统问题。
也可以使用视觉配置:Docker,流浪者;;
其他设置:CDN加速等。
有了以上的知识,基本上你就可以来来回回,来去自如了。首先可以配置全站的开发环境和工作流程,操作数据库,建立后端服务API,独立开发前端,从而开发出包括前端和后端的完整应用,然后进行测试和部署,直到产品正式上线。
恭喜你,一个全栈开发工程师诞生了!


