WordPress Studio runs PHP through WebAssembly inside an Electron application, without Apache, Nginx, Docker, or a separate MySQL process. A developer can create a local WordPress site in seconds. Compilation changes published in March reduced the PHP.wasm binaries by 122 MB and improved startup.
The environment now includes Xdebug integration for VS Code and PhpStorm, an AI assistant that can run WP-CLI commands, repeatable Blueprints, selective synchronization, and public preview links. These capabilities turn Studio from a simple demo into a practical workspace for many theme and plugin tasks.
The strongest management case is onboarding. A new contributor can reach the application before resolving local PHP versions, container setup, ports, and database services. The team can encode a common baseline in Blueprints and spend its first support hour on the project rather than the laptop.
The onboarding the laptop no longer charges
Studio packs PHP in WebAssembly inside Electron. Creating a local WordPress site no longer depends on MAMP, Docker, a PHP version fight, and MySQL left behind at login. For a team that takes on new people, that gives back the first morning.
Blueprints turn the gain into a standard: theme, plugins, demo content, and settings in a package that comes up the same on the next machine. Without a Blueprint, each person still invents their own test site and onboarding only moved. The first support hour should go to the repository, the ticket, and preview, not the PHP version.
Document the Blueprint as the team baseline. The "create site" button only repeats what that package already described.
Xdebug on one site and the cost of leaving the debugger on
Xdebug through Playground PHP turns on in the site settings, listens on port 9003, and connects VS Code or PhpStorm. It does not install an extension on system PHP. The compile ritual goes away.
Two operational limits are in the March announcement. Only one site at a time can have Xdebug; the active one shows an icon in the sidebar. Turning it on slows the environment noticeably, so use it in the debug session and turn it off afterward. When you only need to see the error, the debug log toggle sets WP_DEBUG and WP_DEBUG_LOG and opens wp-content/debug.log without hunting a path.
"Show errors in browser" sets WP_DEBUG_DISPLAY. It belongs on your machine. On a preview shared with a client, leave it off: paths and logic leak into the HTML. A coding agent can read the log if you point it at the file. That does not replace a breakpoint when the bug is state.
The Linux that WebAssembly does not imitate
Playground loads Intl, Xdebug, Memcached, and Redis as dynamic modules, and the 122 MB cut in binaries (888 MB to 766 MB, with no feature removed) improved download, JS glue parse, and startup. It is still PHP compiled to Wasm, with two async strategies (Asyncify and JSPI) and the symbol trim that MAIN_MODULE=2 now exports.
An extension that depends on a specific native binary, on sockets the way the server does them, on the Apache SAPI, or on a library the build does not ship can fail. Queues, production Redis object cache, system cron, NFS uploads, certificates, and host IPv6 still ask for Docker, Herd, Valet, Forge, or staging. Studio speeds theme, plugin, and editorial flow. Deploy still needs the PHP, extensions, and SAPI production actually runs.
If the project treats "works in Studio" as the done criterion, add a Linux job in CI for the part encapsulation does not cover.
Preview, sync, and the port that was already taken
A public preview URL and selective sync solve "on my machine" for content and for a client. Hosted preview needs a WordPress.com account, stays up seven days after the last update, and has a quota of ten sites. Production sync is on paid WordPress.com or Pressable with Jetpack. Anyone hosting elsewhere needs another deploy path; the Studio button does not invent a server.
Ports 80 and 443: if Local WP or Laravel Herd already use them, close one or reconfigure before onboarding. That is the friction that burns the "click, it opens" promise if the internal README omits it.
Treat Studio as the default environment for UI, Xdebug, and Blueprints. Keep a Linux box, even if only in CI, for native extensions, queues, and the PHP production actually runs. Without that split, the missing extension shows up on launch day.
If your company is weighing something similar, reach me on LinkedIn or WhatsApp.