写点什么

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:004519

评论 1 条评论

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

MySQL数据库优化

五分钟学大数据

MySQL 7月月更

声网传输层协议 AUT 的总结与展望丨Dev for Dev 专栏

声网

传输协议 Dev for Dev

nacos注册中心之服务注册

急需上岸的小谢

7月月更

模块七作业 - 王者荣耀商城异地多活架构设计

Elvis FAN

Lite Actor:方舟Actor并发模型的轻量级优化

HarmonyOS开发者

HarmonyOS

还在羡慕其它平台有跨店满减,其实你也可以!

CRMEB

B站挂了登上全网热搜!技术人员为你还原前因后果

雨果

python小知识-rethinking python 生成器

AIWeker

Python python小知识 7月月更

Google上网神器Ghelper

源字节1号

软件开发 小程序开发

即刻报名|前沿技术探索:如何让 Spark 更强劲、更灵活

Kyligence

spark 开源

ABAP-OOALV实现

桥下本有油菜花

SAP abap

如何快速有效的定位应用抖动问题?| 龙蜥技术

OpenAnolis小助手

Linux 系统 龙蜥技术 SysAK 抖动

向量化执行引擎框架 Gluten 宣布正式开源,并亮相 Spark 技术峰会

Kyligence

spark Gluten

音视频开发进阶|第四讲:音频自动增益控制 AGC

ZEGO即构

音视频开发 AGC

异想天开 | 假如用中文写代码,是一种什么体验?

雨果

程序员 开发者

SAP Fiori Launchpad 应用的两个实用技巧分享

汪子熙

JavaScript SAP SAP UI5 ui5 7月月更

语音质量监控

Damon

7月月更

边无际 Shifu IoT 开源开发框架 助力物联网应用开发加速十倍

亚马逊云科技 (Amazon Web Services)

开源 Kubernetes 物联网 应用开发

Okaleido或杀出NFT重围,你看好它吗?

鳄鱼视界

不会吧!钉钉都下载了,你还不知道可以这样玩?

Jianmu

钉钉 持续集成 自动化运维 建木CI 通知

TPC藏宝计划质押系统开发(Dapp)

薇電13242772558

智能合约 dapp

《黑客与画家》作者:18 个会杀死初创公司的错误

雨果

创业者

TiKV & TiFlash 加速复杂业务查询

TiDB 社区干货传送门

龙蜥开发者说:社区首个支持 LoongArch架构的操作系统构建之路 | 第 9 期

OpenAnolis小助手

开源 操作系统 龙蜥开发者说 龙芯 LoongArch 架构

jdbc自带MySQL连接池实践

FunTester

云计算和大数据的关系以及区别详细讲解

行云管家

云计算 大大数据

CSS重复线性渐变之画格子

南城FE

CSS 前端 7月月更

Kyligence 正式支持 Amazon EMR Serverless,构建高效低成本云上数据分析

Kyligence

Cloud Kyligence Amazon EMR

2022年浙江省等保备案流程指南

行云管家

等保 等保备案

4 个 JavaScript 最基础的问题 —— Eric Elliott

掘金安东尼

JavaScript 面试 前端 7月月更

查找——B-树

乔乔

7月月更

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