做后台是选择Java 、Go ,还是 PHP?
我们都知道,大部分有过4年以上的工作经验的前端最起码接触过后台的,不管是java,php,python或者说.net,很多人就会去扩展第二第三语言了,你可以去问问他们,基本都有过了解,但这个了解不是完全会去写,而且了解一个过程。
但是对于所有学前端的小伙伴,我建议的是一定要学习和了解一门后台语言。
可以选择Go
对于一个研发团队来说,项目成败的关键因素是:成本、质量和时间!
1、人力资源的成本人力资源是研发团队最重要的资源,也是唯一的资源。其成本不仅仅是团队要支付的薪资代价。也包括获得资源的难易程度,例如招聘和培训的速度。以及维持资源,也就是保持员工满意度或者说士气的代价,也就是管理成本。(上述成本不仅指钱,时间也是非常昂贵的成本)
Golang有一系列特点,使它既容易上手,又易于维护。Golang可以让初阶和中阶工程师,经过少许培训,就写出相当不错的代码。直接点说,一票1-2年经验少许灵性的年轻工程师转Golang,只要少许指导,很快就可以写出高并发高负载能力生产级别的代码,而且质量相当有保证。而同样的工程,如果用C++或java等语言,则需要至少3-5年经验的工程师来完成,同时质量还是要让人担心。
那么,对于团队特别是成长型的或创业团队来说,现在有Golang这样一种语言,可以让大量初阶和中级工程师承担主要开发工作,还能保证相当优秀的结果,从资金成本和时间成本控制的角度,简直就是美梦成真。
2、项目研发的效率说到高并发高负载,让我不能不想起nginx。nginx在2004年从web server领域横空出世,所向披靡。精巧严谨易于维护和扩展的代码结构,也是教科书级别的。
但是要知道,一个用C写出一个nginx,是需要世界上最优秀的工程师的。这样的工程师,不仅团队里面没有,连遇到一个都很难。可现在,我再告诉你,一个使用Golang的中级工程师,就已经可以写出性能与nginx相近的高并发高负载应用。而且不仅性能相近,而且需要的代码行数和开发时间也短很多。
可以选择Java
Java是元老级别的语言了,Java能做很多事情:写网站后台,写安卓程序,写嵌入式系统。至于做后台有以下优缺点:
优点:性能好,适合大中项目,跨平台,安全性高,稳定可靠,运行效率高(尤其是JIT的出现之后差距更大了),不容易犯错(强类型、预编译、必须拦截异常等等),能有效的提高复用度,提升性能和吞吐能力,能规避安全问题。
缺点:开发复杂,开发和发布的效率相对较低,维护成本高,开发人员费用高
选择Python
因为python很灵活,一定程度上函数也可以传参和注入,所以代码的灵活性要大的多,而Java在Java 8之前是无法做到函数传参的,所以这种情况下,Java开发者只能写大量的匿名类去注入代码块(这点相比,还是ruby块代码注入更牛逼,不是吗)。python自带了函数的curry化以及迟滞运算方式,以及闭包语法更容易实现,所以在一定层面上python还是比java难掌控的。当然python最好的还是duck typing属性,作为动态语言专有的特性,python可以让对象摆脱静态语言范式的约束,随意的给程序打补丁,所以程序扩展性更好。同时,作为解释型语言,服务器热部署这块,python肯定有优势,一旦程序出问题,直接覆盖原有的源文件就行,而Java 的服务器热部署基于classloader的切换,其中像tomcat这种服务器的热部署(也就是reload功能)其实很容易造成JVM heap爆掉,且完全依赖服务器后台线程对各代码文件的时间戳扫描,所以热部署这块python优于java。
优点:
-
1、 Python作为动态语言更适合初学编程者。Python可以让初学者把精力集中在编程对象和思维方法上,而不用去担心语法、类型等等外在因素。而Python清晰简洁的语法也使得它调试起来比Java简单的多。至于哪个更“优雅”纯属个人喜好,但对于初学编程的人Python更直观应该没什么异议。
-
2、Python有一些Java没有的强大的架构2.1. Advanced Python Constructs,可以表达非常复杂的Logic
-
3、 Python有非常强大的支持异步的框架如Eventlet Networking Library,而据我所知Java要实现这些功能要麻烦的多。也因此Python适合一些可扩展的后台应用。(但除此以外Python可扩展性是不如Java的)
-
4、Python作为脚本语言,更适合开发小的应用,而且极其适合在应用发展初期时用来做原型
缺点:
由于Python的优点也无可避免会有牺牲———由于是动态语言,比Java还慢。你可以想象一下编译器对于没有typing的变量,需要一个一个check具体type所耗得时间。而Java相比起C++等等本来就不快,可想而知更慢的效果… 但很多人觉得Python code更短小精悍,所以实际跑起来不见得比Java耗时。
可以选择php
1)、网站开拓是PHP说话最擅长的,没有任何说话可以与其对抗。
PHP的快速,开拓成本低,周期短,前期保护费用低,开源产物丰盛,PHP已经是国际大部门Web项手段首选,以至良多公司从其它说话(如ASP,JAVA)转到了PHP。不只国际的腾讯、百度、淘宝、京东、点评网、糯米网,以至国外的大型网站例如facebook、youtobe、google也需求用PHP来停止开拓。毫无疑问,PHP已成为各IT公司首选的互联网编程说话,被誉为WEB开拓首选手艺,所以此刻若是做网站,毫无疑问企业就用PHP。在“互联网+”的大期间中,企业几近都在用php说话停止WEB开拓!
2)、PHP可以对App停止数据传输,在移动互联网期间照旧有广发的用武之地。
今朝最经常使用的手机APP开拓,主如果用iOS和Andriod两大类。但手机App按照其适用性,需求快速开拓,复杂便利,这与PHP的开拓肉体不谋而合。同时PHP完善支撑RESTFULL法则,更适合手机App接口的挪用标准,故经常使用来作为手机App数据传输对象。这也意味着,PHP在手机互联网期间一样有着遍及用武之地!
3)、Hybrid App的出世,完成PHP法度圭表标准员也可以开拓手机App!
Hybrid App前台采取同化式开拓,其后端采取PHP开拓即可。这类开拓方式可以不用学Object-c,也不用学Android,也就意味着PHP法度圭表标准员只需把握前端常识(Html5、Css3、Javascript)也可以开拓手机APP。该种编制开拓出来的APP客户端,不只其后果与原生安卓和iOS一样,而且还可以兼容安卓手机和iOS手机,大大着落移动端开拓成本,深受企业接待。Hybrid App的出世,为PHP说话在“互联网+”期间注入了壮大性命力。
总结
当然还有很多语言后台开发,如:C、rails、asp.net等。讨论哪个语言更好,就像在争论姚明和刘翔谁是更优秀的运动员。因为各自的坐标象限不同,常常会陷入一个难有结论怪圈。 如果你是前端程序员,想学习后台语言,建议结合自己的项目和公司多去思考一下,前提是学以致用,选择合适的才是重要的。
原文发布时间为:2018-09-28
本文作者:yuer
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
带你挖矿之旅!Python从零开始创建区块链!提供源码哦!月薪十万
环境准备 确保已经安装Python3.6+, pip , Flask, requests,安装方法: pip install Flask==0.12.2 requests==2.18.4 同时还需要一个HTTP客户端,比如Postman,cURL或其它客户端。参考 https://github.com/xilibi2003/blockchain 开始创建Blockchain 新建一个文件 blockchain.py,本文所有的代码都写在这一个文件中,可以随时参考 https://github.com/xilibi2003/blockchain Blockchain类用来管理链条,它能存储交易,加入新块等,下面我们来进一步完善这些方法。 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天晚上20:00都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的,如果你是正在学习python的小...
- 下一篇
JDK 11 是发布了,但收费吗?
自 9 月 26 日,Oracle JDK 11 正式版本发布以来,一直被大家所看好,因为它是继 6、7、8之后,第一个长期支持的版本「见下图」,而 9 、10 估计多半会夭折了。。。 对于这次的发布,我主要关注的就两个问题: 1、稳定吗? 2、收费吗? 后面的文字主要围绕这两个话题展开的。 一、稳定吗? 其实,对于企业用户来说,稳定可靠才是最重要的。那么刚刚发布的 JDK 11 到底稳定性如何呢? 如果你是付费用户,其实不用担心这个问题。 对于大多数的非付费用户来说,就得要考虑了,只有考虑清楚风险后,才敢迁移。 首先,这次有 OpenJDK 社区的站台「长期支持」,Oracle 提供了免费的 OpenJDK build,并承诺「维护 6 个月」。 再者,Andrew Haley 等社区专家也已经明确保证,会组建并领导「JDK-11-updates」项目,而且还做了相应的保证「见下图」。 就我看来,如果想迁移到 JDK 11 的企业,毫无疑问,前期肯定还是有试错成本的。因此,建议在新的项目中引入 JDK 11,不要乱动稳定的老业务。。。 二、收费吗? 其实关于 Oracle JDK 收...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境