PHP、JSP、.NET各自的真正优势是什么
PHP的优势在于, 跨平台, 极易部署, 易维护, 为Web而生, 开源社区强大, 文档丰富.
至于说3足鼎立, 谈不上, 全球前100万的sites中, 70%是PHP.
JSP和Asp、.net 也很优秀, 但是他们的部署问题是最大的问题.
首先从程序原理上来说
PHP才是脚本语言,也就是说,是被触发解释执行的。
.Net和JSP,都是在虚拟机里跑的应用程序,可以操作内存及线程 。本质上和PHP并不一样。
举例:
如果让PHP给百分之一女装做计划任务,那就必须依赖于系统本身的计划任务触发。而.Net和JSP只需要起一个线程就可以了。
但是PHP最大的优势就在于,免费、开放!
免费的好处就不用去说了,谁都不会向微软卑躬屈膝。
至于开放,还可以举例让你明白:FaceBook就是用PHP写的,但是PHP执行效率让扎克伯格很伤脑经,于是FaceBook提出了另一个思路:
就是把底层的数据库业务逻辑用C++进行封装再转而提供给上层API。
PHP可以做到,因为它是开源的。
这三个东西真的不是三国鼎立啊,因为这三个东西根本不是同一个分类维度上的:
PHP:语言(PHP Script)+ Web 运行时(PHP Engine)
JSP:JSP 和 Java Servlet 的关系可以看成是 CoffeeScript 和 JavaScript 的关系,本质上 JSP 不是独立的技术,而是一种模仿 ASP/PHP 形式写法,编译成 Servlet 运行的关系。以前曾流行于作为 Java EE 的模版引擎(视图层),现在似乎有更多更好的选择,正在逐渐被边缘化。
.NET:.NET 和 Java 才是同一个分类维度上的吧?不知道你是不是想说 ASP .NET,ASP .NET 是基于 .NET Framework 的 Web 运行时,和 PHP Engine 地位类似。目前比较流行的有“控件党” ASP .NET WebForm 和微软新推的 ASP .NET MVC 两种上层框架。
如果要评论优势劣势,我的观点是:
PHP:优点:草根,所以有广泛群众基础,极度适合做 CMS,入门门槛极低(补充一个鸟哥说的:部署方便,确实像 PHP 这样部署方便的不多见)。另外一个优点就是有大量成熟的 CMS 可以做二次开发(WordPress、Drupal、Joomla 等)。缺点:不适合做逻辑复杂的 Web 2.0 应用(不要谈 Facebook,Facebook 已经把 PHP hack 到不是 PHP 了),因为生命期单一(一个请求为一个生命期,请求间完全隔离),所以从 PHP Script 的角度扩展显得鸡肋(目前大多 PHP 框架的共同问题)。
JSP:已经边缘化的东西了。如果说 Java Web,那还有的一谈(Spring MVC 就很不错),JSP 真的没什么好谈的了。
ASP .NET:这个最大的优势是不开放,没错,不开放是 ASP .NET 系的优势。因为微软是几乎唯一的支持者,所以系内产品可以无缝搭配,支持也很到位,这点和 Python 的 Django 很像。劣势:不开放,所以如果需求比较独特了,微软的产品线没有覆盖,那么上述优势瞬间灰飞烟灭 = =~
我觉得当代 Web 应用,新兴技术才是真正值得选择的:
Ruby、Python 等 Web 框架和相关技术
JVM 扩展的其他动态语言框架
这些新兴技术的共同特点是开发效率极高,因为新兴语言的灵活性,适合做 DSL,所以在框架方面往往能实现近乎声明式的开发;同时因为社区活跃,需要造轮子的地方很少,很多可以复用的第三方社区扩展。
PHP、JSP、.NET各自的真正优势是什么的更多相关文章
- JSP中两种模式的总结
运用JSP/Servlet实现的Web动态交互,主要采用: 模式一:JSP+JavaBean 链接:http://wxmimperio.coding.io/?p=155 模式二;JSP+Servlet ...
- Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
Jsp 环境目前最流行的是 Tomcat5.0.Tomcat5.0 自己包含一个 Web 服务器,如果是测试,就没必要把 Tomcat 与 IIS 或 Apache 集成起来.在 Tomcat 自带的 ...
- 初学Java Web(6)——JSP学习总结
为什么要学习 JSP Servlet 的短板: Servlet 的出现,是为了解决动态输出网页的问题. 虽然这样做目的能达到,但是存在一些缺陷: 在 Servlet 输出网页片段非常恶心 (可读性差, ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
- MVC模式与三层架构和表示层
1.MVC模式 - Model-View-Controller - 模型-视图-控制器 - Model(模型) > 模型分为业务模型,和数据模型 ...
- Strtus2框架笔记
Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架. Struts2引入了几个新的框架特性:从逻辑中分 ...
- FreeMarker的应用场景
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一 ...
- JSP的优势与劣势浅析
本文简单介绍了JSP技术,并对JSP的优势与劣势进行了简单的分析.JSP页面由HTML代码和嵌入其中的Java代码所组成. JSP(JavaServer Pages)是由Sun Microsystem ...
- JSP的优势
以下列出了使用JSP带来的其他好处: 与ASP相比:JSP有两大优势.首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用.第二点就是JSP易于移植到非MS平台上. 与纯 S ...
随机推荐
- hdu2571动态规划
125ms.... 太慢了...dp[i][j] = max(dp[i][j-1],dp[i-1][j],dp[i][k],1<k<j&&j%k==0); #include ...
- uva 10986 - Sending email(最短路Dijkstra)
题目连接:10986 - Sending email 题目大意:给出n,m,s,t,n表示有n个点,m表示有m条边,然后给出m行数据表示m条边,每条边的数据有连接两点的序号以及该边的权值,问说从点s到 ...
- [置顶] android LBS的研究与分享(附PPT)
早上起床后想想以前的工作有什么可以分享的... 两年前,前公司在做一个陌生人交友的社交软件(比陌陌还早),需要研究LBS的相关工作(这里面主要研究的是Google定位)... 一.简要调研结果 很多 ...
- MySQL 权限?
一.权限表 mysql数据库中的3个权限表:user .db. host 权限表的存取过程是: 1)先从user表中的host. user. password这3个字段中判断连接的IP.用户名.密码是 ...
- cocos2d-x之CCMotionStreak类——2013-08-25 16
在游戏的实现过程中,有时会需要在某个游戏对象上的运动轨迹上实现渐隐效果.这种感觉就好像是类似飞机拉线的拖尾巴,在视觉上感觉很好,比如子弹的运动轨迹等,如果不借助引擎的帮助,这种效果往往需要通过大量 ...
- 第一篇:GPU 编程技术的发展历程及现状
前言 本文通过介绍 GPU 编程技术的发展历程,让大家初步地了解 GPU 编程,走进 GPU 编程的世界. 冯诺依曼计算机架构的瓶颈 曾经,几乎所有的处理器都是以冯诺依曼计算机架构为基础的.该系统架构 ...
- Winform之跨线程访问控件(在进度条上显示字体)
此文章对于遇到必须使用线程但是没有办法在线程内操作控件的问题的处理 有很好的解决方案(个人认为的.有更好的方案欢迎交流.) 在做跨线程访问之前我们先了解下我们所做的需要达到的效果: 这个是批量的将x ...
- HDU1495(bfs)
非常可乐 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- nyoj 202 红黑树
红黑树 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树... 当然,这 ...
- 别了 oi——一篇高三狗的滚粗遗言
/* 开始于2015年12月 结束于2016年11月 一年的oi生涯有很多值得怀念的事 还记得去年旺哥找我学oi 当时是一脸的蒙逼 要知道 高二才开始搞是很晚了 然而 也就是那一晚之后 许多事情都变了 ...