换一种思维看待PHP VS Node.js
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的更多相关文章
- 10最好用的Node.js工具、插件和资料库
每一个称职的程序员都应该拥有一套极好的工具来提高自己的工作效率.在Livecoding.tv 上,那里的程序员分享了10个他们认为是最好用的工具.插件和资料库.据说,以下的这10个工具是使用Node. ...
- 使用Node.js实现数据推送
业务场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的 ...
- 《基于Node.js实现简易聊天室系列之详细设计》
一个完整的项目基本分为三个部分:前端.后台和数据库.依照软件工程的理论知识,应该依次按照以下几个步骤:需求分析.概要设计.详细设计.编码.测试等.由于缺乏相关知识的储备,导致这个Demo系列的文章层次 ...
- Node.js调用C#代码
在Node.js的项目中假如我们想去调用已经用C#写的dll库该怎么办呢?在这种情况下Edge.js是一个不错的选择,Edge.js是一款在GitHub上开源的技术,它允许Node.js和.NET c ...
- 10个最佳Node.js企业应用案例:从Uber到LinkedIn
译者按: Node.js 8已经发布了,NPM模块每周下载量早已超过10亿,从Uber到LinkedIn都在使用Node.js,谁说JavaScript不能写后台? - 原文: 10 best Nod ...
- node.js核心技术
一.知识结构: http模块:配置简单 的web服务,npm/cnpm工具 express框架:express中间件进行服务配置:路由:请求处理: DB服务:学习使用mysql关系型数据库: web接 ...
- node.js实现WebSocket
最近在学习“HTML5游戏开发实战”,其中第8章内容是使用WebSocket来构建多人游戏---<你画我猜>.然而在实现过程中,却一直出错: 客户端请求时,服务器端会报错并终止: 而浏览器 ...
- 2、Node.js 第一个应用
内容:三种变量申明方式,Node.js应用组成,第一个应用创建+代码 ################################################################# ...
- Node.js 笔记01
一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成 ...
随机推荐
- 造成socket.error: [Errno 99] Cannot assign requested
socket.error: [Errno 99] Cannot assign requested address 网上你去搜,基本都是说bind的时候,地址已经被用了,都是胡扯.地址被用报的错误应该是 ...
- apache官方供下载所有项目所有版本的官方网站地址
Apache官网有一个列举apache所有发布的项目的各个版本的官方网站,现在在此记录下来供大家快速浏览使用. 网站地址如下: http://archive.apache.org/dist/
- C++ string 类型提取字符串
在某些情况下需要对输入的字符串进行处理,提取其中的需要的信息. 比如在linux中输入"mkdir test",新建test文件夹,就需要提取其中的test字符. 提取的方法需要b ...
- BUG严重级别定义及注意事项
- SQLAlchemy的基本使用
一.介绍 SQLAlchemy是一种ORM(Object-Relational Mapping)框架,用来将关系型数据库映射到对象上.该框架建立在DB API之上,将类和对象转化成SQL,然后使用AP ...
- ABC3D创客项目:风力小车
随着互联网.开源硬件.电子信息等技术成熟应用,以及创新教育的大力普及,创新正成为青少年生活中最热门的话题之一:尤其新兴的3D打印技术将创意者.生产者.消费者合三为一,成为创新教育的又一大助力,每个学生 ...
- 棋盘问题——POJ1321
棋盘问题——深度优先搜索 题目描述: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘 ...
- 2018.5.11 Java利用反射实现对象克隆
package com.lanqiao.demo; /** * 创建人 * @author qichunlin * */ public class Person { private int id; p ...
- spring mvc + freemarker 整合
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.s ...
- Dojo的ready函数:dojo.ready(以前的dojo.addOnLoad)
dojo的dojo/domReady!插件和dojo/ready的区别: In simple cases,dojo/domReady! should be used. If an app us ...