写点什么

WordPress.com 使用 JavaScript 替换掉 PHP

  • 2015-12-02
  • 本文字数:1556 字

    阅读完需:约 5 分钟

近期,WordPress.com 已经用 Web 技术和 RESTful 后端 API 来替换原来使用 PHP 编写的管理后台。

当提到为什么WordPress.com 决定将管理后台的编写语言从PHP 换成JavaScript 时 WordPress.com 的母公司, Automattic Inc . 的创始人兼 CEO Matt Mullenweg 说道:该管理平台的建立已经难以适应即将到来的工作变化,并且也不利于 WordPress 的优势发挥。这次调整所影响到的主要部件是系统的管理主界面,该界面在 3.8 版本时已经有过一次重建,但这次重建却让 Mullenweg 觉得“渐进式的调整并不会给我们想要的重大改进。”他还补充道,“向后的兼容性问题以及没有采用 JavaScript”才是造成系统界面成为现在这个样子的主要原因。

Automattic 决定重新回到 2014 年来使用 Web 技术——JavaScript、HTML、CSS、Node.js、React、Flow、WebPack、Babel,并且通过 RESTful API 来访问后端,从而打造一个名为 Calypso 的全新管理界面。Calypso 项目负责人 Andy Peatling 还曾写过一篇文章,阐述了对于一家使用PHP/MySQL 的公司改用JavaScript 有多么重要的意义。刚开始他们只有几个高级JavaScript 程序员来推动这个项目,其他人都是“被迫”参与Calypso 项目的。他们刚开始还使用了Trac 作为项目管理工具,并且只做很少量的代码审查。当他们开始使用GitHub 以及提交代码后的Pull Request System 时,代码审查才让他们意识到“内部的协作原来还能这么简单,以及个人工作完成后如何获取更多更好的反馈。”尽管有些人最初是被迫加入到这个项目当中的,代码审查还是“极大地增强了整个代码库的质量并且帮助所有人在JavaScript 的技巧上有了明显的提升。”20 多个月后,他们也从最初的7 名开发人员增加到127 名开发人员,并产生了26000 次的代码提交。整个团队都实现了持续的内部融合。

全新的系统界面是一个单页面的应用系统,该系统具有响应式设计,并可适应于多种尺寸的屏幕大小。根据该系统的功能比较表,Calypso 由于具有接近即时页面加载,即时发布,多目标页内预览,无需重载、实时应用变更等功能而变得更加迅速。

Peatling 评论道,使用 JavaScript 响应式设计的其中一项好处是创建桌面端或手机客户端应用程序比原来更容易了。

“在 2015 年中,Calypso 代码库已经足够优秀以至于可以在网络浏览器之外进行使用。由于 Calypso 项目完全是由 Javascript,HTML 和 CSS 编写而成的,因此它能通过创建轻量级的 Node.js 服务器进而在设备本地运行。通过使用名为 Electron 的技术,我们建立了本地的桌面客户端,并在系统内部运行相同的代码。我们首先建立 Mac 版的桌面客户端,该客户端现在已经可以提供下载,很快我们就会上线 Windows 版和 Linux 版的桌面程序。当我看到这些程序逐个上线,并且内部已经开始使用的时候,真的开始觉得之前我们为了构建 Calypso 代码库所付出的所有辛苦都得到了证明。”

Automattic 已经对 Calypso 项目的源码进行了开放,但是 Mullenweg 称,他们仍然有“一堆问题去解决插件、扩展性、贡献、Windows 和 Linux 发行版、API 速度、本地化等问题以及深度融合 the WordPress.com API 和 WP-API 以便于它能更好地与 Core WordPress 进行协作。”当然,他们也将问题留给开发者社区来决定是否用Core WordPress 中的Calypso 所包含的内容来替换当下的管理界面

根据W3Techs 的最新统计表明,WordPress 如今被全世界1/4 的内容管理系统所使用,相比于它们2011 年的数据提高了13%。

查看英文原文: WordPress.com Replaces PHP with JavaScript


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-12-02 18:004536

评论 1 条评论

发布
用户头像
nodejs版的wordpress在哪里?
2019-07-12 09:46
回复
没有更多了
发现更多内容

TDengine 和 InfluxDB 查询性能对比测试报告

TDengine

数据库 tdengine

Linux常用命令分享:有手就会,但能解决95%以上的问题

优麒麟

Linux 开源 计算机 优麒麟

Spark的job、stage和task的机制论述

编程江湖

助力数字经济 明源云助力不动产行业打造数字新引擎

科技热闻

TDengine 在智慧矿山系统中的应用

TDengine

提高企业产品交付效率系列(1)—— 企业应用一键安装和升级

北京好雨科技有限公司

Kubernetes PaaS rainbond

CPU的“花招”已耍完?无指令集架构颠覆旧套路

OneFlow

人工智能 机器学习 深度学习 英伟达 芯片

【Git教程】Git最全使用指南

阿里云云效

git 云计算 阿里云 DevOps Codeup

NetCore性能排查

神农写代码

【躲过裁员,成功上岸】发现小公司有不好的苗头,赶紧学习!

小傅哥

面试 小傅哥 中间件 项目

vivo 商品中台的可视化微前端实践

vivo互联网技术

可视化 前端特效

web前端技术Mongoose详解

编程江湖

看完微信抢红包算法你就明白,为啥你不是手气最佳

华为云开发者联盟

算法 微信红包 手气最佳 剩余金额随机法 割线法

安利一个小众但实用的导航网站(推荐收藏)

小炮

导航网站

提效24.3%!看OA预算管理系统的低代码开发实践

鲸品堂

低代码开发

Video.js 使用教程 - 手把手教你基于 Vue 搭建 HTML 5 视频播放器

蒋川

Vue video.js

Apache Impala架构解析及与Hive、SparkSQL的性能比较

编程江湖

java培训-Redis 原理与知识总结分享 不愁面试

@零度

redis JAVA开发

OpenHarmony标准设备应用开发(一)——HelloWorld

OpenHarmony开发者

Hello World ! OpenHarmony 标准设备

还搞不明白,一次性给你总结好网络层概念

华为云开发者联盟

网络协议 IP 网络层 组网

AppCube快速开发问卷调查应用在WeLink发布上线

DS小龙哥

3月月更

成为 DevOps 工程师需要具备哪些能力?

飞算JavaAI开发助手

行业分析| 音视频呼叫邀请适用于多领域

anyRTC开发者

音视频 WebRTC 语音通话 视频通话 呼叫邀请

FabEdge V0.5.0 新特性:支持跨集群服务访问

BoCloud博云

开源 边缘计算 cncf

四大功能!带你初识 Fabric | 容器网络系列第2期

BoCloud博云

云原生 容器网络方案

Echarts 折线图完全配置指南 - 手把手教你设置 Echarts 折线图详细教程

蒋川

Vue eCharts

华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库

华为云开发者联盟

数据库 人才培养 华为云 GaussDB 华为云数据库

给工厂做开发,竟然喝着咖啡听“交响”?

阿里云云效

云计算 阿里云 DevOps 研发 研发提效

摩尔定律的现在及未来

科技新消息

想做好分布式架构?这个知识点一定要理解透!

博文视点Broadview

在 Rainbond 中一键安装高可用 Nacos 集群

北京好雨科技有限公司

开源 Kubernetes nacos PaaS rainbond

WordPress.com使用JavaScript替换掉PHP_JavaScript_Abel Avram_InfoQ精选文章