php和javascript都是非常流行的编程语言,刚刚开始一个服务于服务端,一个服务于前端,长久以来,它们都能够和睦相处,直到有一天,一个叫做node.js的JavaScript运行环境诞生后,再加上PHP的swoole扩展的出生,一度让这两个语言成为比较讨论的对象,各种关于它们的对比信息在帖子、论坛、交流群等比比皆是,一些人说PHP好,一些人说node.js好,别担心,本文不是比较二者的,只是换一种思维看待它们之间的关系。
所谓的缺陷都是浮云
换一种思维看待PHP VS Node.js

浮云
node.js从之前的0.10.x版本到现在的7.5.0版本,PHP从1.0到现在的7.x,二者的版本更新都是非常快的,而且从每次更新的日志来看,都解决了很多bug,优化了很多性能及新增了很多功能等等,这说明了,很多缺陷都会在现在的版本或光棍影院今后的版本列为任务目标而被攻克掉,所以从某种程度上来说,所谓的缺陷都是浮云。
它们存在的意义是什么
换一种思维看待PHP VS Node.js

价值
对于JavaScript,ajax的出现让我们都知道,服务端仅仅传递数据过来就可以了,剩余的解析数据、渲染数据及处理数据的事情都由JavaScript来完成,而这些之前都是由服务端来完成的,换句话说,JavaScript已经可以分担服务端一部分事情了,直到基于Chrome的V8 JavaScript引擎的node.js的出现,让我们看到,原来JavaScript还可以运行在服务端。
从上面的描述不难发现,node.js存在的意义一方面是为JavaScript的发展增加活力,另一方面是让从事JavaScript的人多了一个从业方向-后端方向,能够让他们更清楚后端的一些业务逻辑,从而完善自己的编程思想,甚至让他们可以自豪的说一句,新视觉影院我什么都可以开发了。
对于PHP,我们大家都知道,还有其他ASP.NET、JSP、PYTHON等等,经过对比的学习,不难发现,PHP是入门最简单的一种,这也正体现了它开发效率高这个事实,这是其他几种语言无法比的,所以它的存在意义,就是时间最小化,即在最短的时间里完成我们需要的功能需求。
提供一种可选的决策方案
换一种思维看待PHP VS Node.js

决策PHP能够做的事情,node.js也可以,反之也是,所以选择它们很简单,如果公司前端多,就选择node.js,如果公司后端多,就选择PHP,当然这只是个人观点哈:)。

换一种思维看待PHP VS Node.js的更多相关文章

  1. 10最好用的Node.js工具、插件和资料库

    每一个称职的程序员都应该拥有一套极好的工具来提高自己的工作效率.在Livecoding.tv 上,那里的程序员分享了10个他们认为是最好用的工具.插件和资料库.据说,以下的这10个工具是使用Node. ...

  2. 使用Node.js实现数据推送

    业务场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的 ...

  3. 《基于Node.js实现简易聊天室系列之详细设计》

    一个完整的项目基本分为三个部分:前端.后台和数据库.依照软件工程的理论知识,应该依次按照以下几个步骤:需求分析.概要设计.详细设计.编码.测试等.由于缺乏相关知识的储备,导致这个Demo系列的文章层次 ...

  4. Node.js调用C#代码

    在Node.js的项目中假如我们想去调用已经用C#写的dll库该怎么办呢?在这种情况下Edge.js是一个不错的选择,Edge.js是一款在GitHub上开源的技术,它允许Node.js和.NET c ...

  5. 10个最佳Node.js企业应用案例:从Uber到LinkedIn

    译者按: Node.js 8已经发布了,NPM模块每周下载量早已超过10亿,从Uber到LinkedIn都在使用Node.js,谁说JavaScript不能写后台? - 原文: 10 best Nod ...

  6. node.js核心技术

    一.知识结构: http模块:配置简单 的web服务,npm/cnpm工具 express框架:express中间件进行服务配置:路由:请求处理: DB服务:学习使用mysql关系型数据库: web接 ...

  7. node.js实现WebSocket

    最近在学习“HTML5游戏开发实战”,其中第8章内容是使用WebSocket来构建多人游戏---<你画我猜>.然而在实现过程中,却一直出错: 客户端请求时,服务器端会报错并终止: 而浏览器 ...

  8. 2、Node.js 第一个应用

    内容:三种变量申明方式,Node.js应用组成,第一个应用创建+代码 ################################################################# ...

  9. Node.js 笔记01

    一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成 ...

随机推荐

  1. TCP/IP协议分析含义与功能

    TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即网络接口层.IP层.传输层和应用层.TCP/IP是一组专业化协议,包括IP.TCP.UDP.ARP.ICMP以及其它的一些被称为子协 ...

  2. Linux Shell流程例子

    #!/bin/bash read -p "input a dight:"echo $REPLY DATE=`date`echo "DATE is ${DATE}" ...

  3. 2015 ACM/ICPC Asia Regional Changchun Online Pro 1005 Travel (Krsukal变形)

    Travel Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

  4. gzip, gunzip, zcat - 压缩或展开文件

    总揽 gzip [ -acdfhlLnNrtvV19 ] [-S 后缀] [ 文件名 ... ] gunzip [ -acfhlLnNrtvV ] [-S 后缀] [ 文件名 ... ] zcat [ ...

  5. js 获取当前年月日时分秒星期

    $("#aa").click(function () { var date = new Date(); this.year = date.getFullYear(); this.m ...

  6. TDB文件介绍

    samba在运行时,Samba 存储许多信息,从本地密码到希望从中收到信息的一系列客户端.这类数据其中一些是暂时的,在 Samba 重启时可能会被丢弃,但是另一些却是永久的,不会被丢弃.这类数据可能是 ...

  7. DROP LANGUAGE - 删除一个过程语言

    SYNOPSIS DROP [ PROCEDURAL ] LANGUAGE name [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP LANGUAGE 将删除曾注 ...

  8. 使用xcode 8 调试ios10

    这几天更新了ios10,发现真机不能调试,弹出几个错,表示没有证书.用ios9的真机能调试, 真他么坑,总结一下解决方法. 在BuildSetting 的Signing中Code Signing Id ...

  9. Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

    Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的gru ...

  10. Angular - angularjs2 一些报错的概览(数据为json格式)

    {"Unterminated string literal.": "未终止的字符串文本.","Identifier expected.": ...