是 WordPress 让 PHP 更流行了 而不是框架


Posted in PHP onFebruary 03, 2016

是 WordPress 让 PHP 更流行了 而不是框架

Tiobe Index(编程语言世界排名指数),是一个显示各种编程语言的相对流行趋势的排名,开始于 2001 年,每个月更新一次。它将很多站点的搜索结果计算在内,以得到统计数据。这些站点包括:Google,Blogger,Wikipedia,YouTube,Baidu,Yahoo,Bing,Amazon 等。

PHP 在 Tiobe 上排名一直靠前,但最近它的排名更靠前了,2012 年是第7,现在是第5。人们可能将此归因为去年年底 Zend Framework 2 的发布,但并没有什么依据。

于是作者开始探究为什么 PHP 在 Tiobe 上的排名曲线突然上扬,真的是官方框架发布造成的么?下面是他的结论,我大致翻译如下。

一、WordPress 是最流行的 PHP 应用

作者用 Google Trends 去比较几个关键字的趋势,这些关键词是:WordPress,Joomla,Drupal,Magento,Zend Framework,它们的趋势走势图如封面所示。
介绍下它们。WordPress 是开源博客程序,Joomla 和 Drupal 都是开源内容管理发布系统,Magento 是开源的电子商务程序(国内似乎有家麦神电子商务把它汉化了在卖服务),Zend Framework 是官方开源的 PHP 框架。
最流行的是 WordPress,比其他应用都流行很多,垫底的是 Zend Framework。
其实这些关键词是作者认为最流行的关于 PHP 的词了,我觉得选这些词也是合适的。框架选一个做代表就行,而应用的流行程度差别很大,尽量选名气大的。我在这些词中把 PHP 也加进去,发现 WordPress 的流行程度都快接近 PHP 了,所以说,用“最流行的 PHP 应用”来描述 WordPress 没任何问题。

二、WordPress 自身比任何 PHP 框架要流行的多

这个结论细化了第一个结论。别以为只选了一个框架做比较,其实所有框架都差不多那个数量级。

三、WordPress 没有用第三方框架

为了补充第二个结论…

四、是应用让技术流行起来,而不是框架

趋势图上提到的 Magento 这个电子商务应用,是基于 Zend Framework 开发的,但它比框架流行。所以让应用流行起来的原因,并不是因为它使用了什么框架,而是它解决了用户的实际问题。
WordPress 也是同样道理,它对很多人都很有用。当人们要装个 WordPress 时,他们就知道了 PHP 这门技术,他们需要支持 PHP 的虚拟主机空间。这就促使了 PHP 的流行。

五、可扩展的 WordPress 插件生态

让 WordPress 流行的最重要原因之一就是它的插件系统。插件几乎能做任何事情,它们让 WordPress 成为一个平台,而不仅仅是一个应用。

六、很多非程序员因为 WordPress 开始开发 PHP

很多 WordPress 用户并不是程序员,但是因为找不到合适的插件、主题等,他们开始自己开发这些需求。

七、实用主义比理想主义好

软件项目,在技术上得是美丽的,得是一致的,得遵循良好的项目计划,得赞扬设计模式。
但上面这些真的没想象中的重要。很多应用被创建是基于一种很实际的感觉,它们只专注于解决现实世界的需要。
相对而言,很多 PHP 框架,它们似乎开发自另一个星球。它们常常由理想主义的人开发,更关注设计模式。

我的一点总结:

作者还是用确凿的证据证明了他的观点。而我,也从中看到一些要注意的地方:

1、过于注重技术。在开发岗位工作,注重技术是必须的。但是当自己做一个产品时,最应该关注的是解决现实世界的问题。
2、框架,解决的现实问题是,帮助普通开发者基于框架能更轻松快捷地开发应用。相对应用来说,面对的用户量肯定是少几个数量级的。
3、也许,针对某个流行应用提供解决方案或服务,就很有前途。当然,开发出解决现实世界问题的应用,更有前途。

PHP 相关文章推荐
PHP 中的类
Oct 09 PHP
用php写的serv-u的web申请账号的程序
Oct 09 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP生成随机数的方法总结
Mar 01 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 PHP
composer.lock文件的作用
Feb 03 #PHP
网页的分页下标生成代码(PHP后端方法)
Feb 03 #PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 #PHP
Symfony学习十分钟入门经典教程
Feb 03 #PHP
php开发时容易忘记的一些技术细节
Feb 03 #PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 #PHP
PHP实现的构造sql语句类实例
Feb 03 #PHP
You might like
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
Python去除列表中重复元素的方法
2015/03/20 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
如何在django中添加日志功能
2020/02/06 Python
Keras 使用 Lambda层详解
2020/06/10 Python
HR喜欢的自荐信格式
2013/10/08 职场文书
进修护士自我鉴定
2013/10/14 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
表扬稿格式范文
2015/01/16 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
感谢信
2019/04/11 职场文书