以下一些地方结合了点个人理解,有错误欢迎指出:
- Nodejs是用来作什么的?
总结:简单来说,是一种javascript的运行环境,能够使得javascript脱离浏览器运行。所以我们可以在本地开发时候写js来使用babel等,因为我们本地安装了node环境,我们写的用来编译ES6的js是运行在本地node环境上的.
&
什么叫babel?
&
官方:NodeJS 是基于Chrome V8引擎的 JavaScript 运行环境。NodeJS使用事件驱动,非阻塞型I/O。NodeJS的包管理生态是 NPM,是现在世界上最大的开源程序包库。
PHP是用来作什么的?
总结:php就是你和机器对话的语言,但电脑本身不懂php,所以要配置php环境让它懂,这个环境(php服务)可以理解成一个翻译器,把你输入的php语言翻译成机器语言(0011010110等).
官方:在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。
PHP优点:混合内容的代码、深的代码库可以随便使用、相对简单、不需要客户端应用程序、PHP与MySQL和它的许多变体、编写PHP Web应用程序感到更快,编码速度快。
NODE优点:分离的内容会使程序员代码容易理解清楚,便于维护、Node.js插件不仅是新的,而且用最新体系的完整知识构建而成、闭包。你能容易地重新配置和拓展它,使强大的函数库像jQuery成为可能、接入SQL,Node.js的函数库可以做到。但Node.js也有JSON,一个与许多最新NoSQL数据库交互的通用语言,原始速度会更快。
二者要是纯做后台的话, 我更多会选择php, 因为php的封装更完善,不需要再挂其他的middleware, 各种针对后台的解决方案也更加成熟和完善。针对web的MVC框架也更加成熟, 语法上也更成熟, 这点js差点, ES6语法是很爽, 但是支持不够好, 一般需要babel转一下才行,当然编译功能可以自动化,但针对新手有学习成本。最重要是php是热更新,刷一下就能看到更改的结果, node得reload一下, 当然用node-dev也可以自动化。差不了太多,但同样,对新手而言,需要学习成本,这个成本主要是没过来人点一下的话,容易盲目的搜索而无结果。