Reporting from a budget Android Tablet with Firefox, the response times aren't exactly instantaneous but aren't any different than running full LAMP on a reasonable cloud instance or VPS which is surprising to say the least.<p>Also imagine the software layers at play here. Whole PHP Interpreter plus whole thousands of lines from WordPress codebase plus SQLite.<p>Amazing when that's all so much totally useable.
Very modern how they got this to work:<p><pre><code> PHP runs as a WebAssembly binary
MySQL is replaced for SQLite via a WordPress plugin
Web server is implemented in JavaScript as a Service Worker</code></pre>
"Whether you want to build a note-taking application for mobile devices, an automated testing environment, or demo a live WooCommerce store on your site – Playground will support you."<p>The last two make a ton of sense, but the idea of building a mobile app that's powered by Wordpress running PHP in webassembly in the browser is wrecking my brain.
WordPress exposes a huge divide in the HN crowd:<p>- one group recognizes WordPress for what it is: a value-multiplier used by non-coders for websites so they <i>don't have to deal with the coding</i> and can focus on their core competencies<p>- the other group hates WordPress because of the ugly codebase, and meanders off to work on their own perfectly formatted, ultra-scalable code that has no little to no value because it's never actually going to be used by anyone outside of their startup.<p>WordPress powers more than half of the Web. It might not be the best tech, it might very well be the worst possible tech, but the lesson that so many programmers continuously fail to take from WordPress is that NOBODY CARES HOW THE SAUSAGE IS MADE.
I tried to make a big deal about this in my State of the Word keynote in December 2022: <a href="https://wordpress.tv/2023/01/04/matt-mullenweg-state-of-the-word-2022/" rel="nofollow noreferrer">https://wordpress.tv/2023/01/04/matt-mullenweg-state-of-the-...</a><p>It kind of blew my mind as an engineer to see it work, and know all the layers that had to interact for that to happen.<p>It's fun to see it blowing up on HN 6 months later! :) Thank you to everyone for checking it out.
Genuinely curious: does this mean you can run WordPress as a cloudflare worker (ignoring database for now)? <a href="https://developers.cloudflare.com/workers/runtime-apis/webassembly/" rel="nofollow noreferrer">https://developers.cloudflare.com/workers/runtime-apis/webas...</a>
I use WP all the time for a variety of nearly static sites that I can let someone else non-technical continue to add content. It works great for this purpose. There is nothing close to WP for this purpose.<p>It does need careful curating of plugins that one uses, set up suitable cloudflare frontends and preventing users from doing something seemingly simple but dangerous.<p>I get the feeling that a good chunk of the hate comes from people who tried it many years ago; or had needs which don't get met by WP; or received it as a legacy.
No need to dunk on wordpress but it has a lot of history and issues. It would be great to have a modern alternative self-hosted solution that doesn't require static site generation or complex hosting.
Really cool tech behind this demo! I wish I could see the realtime php error/warning log (configured to log everything, of course); it would be interesting to see how perfect this simulator is, especially with the SQLite db rewrite.<p>It's also awesome how easy it is to use this to test out a plugin (or a theme) - you just need to add &plugin=plugin-slug-from-dir where the slug matches the plugin's WordPress.org url and it'll be automatically downloaded and added to the sandbox!<p>The full query api used to configure the sandbox (tech and loaded env) is documented here [0].<p>[0]: <a href="https://wordpress.github.io/wordpress-playground/query-api/" rel="nofollow noreferrer">https://wordpress.github.io/wordpress-playground/query-api/</a><p>EDIT<p>I'm absolutely positive there has to be a way to open or show a debug log (if only because I wouldn't have been able to develop this without that)!
Genuine question, can anyone explain what the practical applications of this are to someone who's never developed with Wordpress? Is this a gimmick? A game changer? A nice-to-have?
RIP static site generators. Just run this in your browser and export a static site. No more complicated setups. No more running ruby in docker or fighting hugo templates. Install the themes and plugins and go nuts!<p>/hottake
I'm curious as to how useful this will be. Tying it to SQLite makes it portable, but abstracting it so that it can be used with any db would be far more powerful. Why? Because the SQLite implementation is enough to get it working in the browser, but it does not make WordPress 100% SQLite compatible. For example, a WordPress site built on MySQL can't be migrated into an SQLite powered WordPress using a common migration plugin. I know, because I tried.<p>I installed WordPress in a standard PHP environment, and use the db.php dropin and SQLite compatibility plugin, and actually got WordPress installed on the file system. It works, but when I tried to migrate using all-in-one-wp-migration, it failed.<p>A neat concept with niche use, but not a panacea for agencies and other devs who need an extensive playground, even if it's self hosted on a persistent PHP server.
WordPress was where I got my start, a while ago now. From poking around with PHP files, to building my own things, to Django, and on.<p>It would have been inconceivable back then (mid noughties) that the whole thing could be done client side. The Web has come on a long way.<p>These days I tend to hate WordPress with a passion. Occasionally I will be asked to peek at some technical problem with a WordPress installation and it's never not like opening some awful Pandora's box of out of date, brittle, scary plugins, these days most of which seem to be trying to upsell via ads in the admin.<p>However I will always be thankful for WordPress and what it enabled in its heyday, and say a silent prayer of thanks every time I think of the people tasked with keeping creaking old sites alive.
This would be killer for static websites, make all your modifications on the /admin endpoint and then deploy to your static page host, using a plugin like staatic.
Hijacking the spirit of this link to just saying that I'm very sad about what Wordpress has become.
In my mind it was a very good website / blogging platform, with a clear and functional markup / raw code editor.<p>Building themes was easy, and so was the plugging ecosystem.<p>I installed the latest version ~6 months ago, and I found myself overly confused by the million of options, the poor functionality of the block system, and the overall bloating of the software. It just run slower than 10 years ago.
The templates and plugin available out there are extremely complex and a lot harder to read, code wise.<p>I assume is a 'dead by 1000 papercuts, or customer demands, in this case' but from a product standpoint, I'd really love to know who are the personas that this new interpretation of wordpress cater to.
This looks interesting, but a better option in my opinion is to use the Local app (on Mac) to install a lightweight VM running WordPress in seconds. Then you have all the tools, for example phpmyadmin and MySQL database management, all running locally on your Mac, and <i>with</i> Internet access. Open Source and free to use.<p><a href="https://localwp.com" rel="nofollow noreferrer">https://localwp.com</a>
Apply the following styles, and it will become a practical tool:<p><pre><code> ._wrapper_5didy_26 {
padding: 0;
height: 100%;
}
._window_5didy_31 {
max-width: none;
}
._experimental-notice_5didy_9,
._toolbar_5didy_64 {
display: none;
}</code></pre>
Just tried installing woocommerce and adding a product, but got a bug:<p>Warning: require(/wordpress/wp-includes/post.php): Failed to open stream: No such file or directory in /wordpress/wp-settings.php on line 2<p>Fatal error: Uncaught Error: Failed opening required '/wordpress/wp-includes/post.php' (include_path='.:') in /wordpress/wp-settings.php:2 Stack trace: #0 /wordpress/wp-config.php(11): require_once() #1 /wordpress/wp-load.php(2): require_once('/wordpress/wp-c...') #2 /wordpress/wp-admin/admin.php(2): require_once('/wordpress/wp-l...') #3 /wordpress/wp-admin/post.php(2): require_once('/wordpress/wp-a...') #4 {main} thrown in /wordpress/wp-settings.php on line 2
There has been a critical error on this website.
I wonder if this could be useful for penetration testing, considering the ease of setting up different plugin combinations on different PHP and Wordpress versions? Or stack used to run it is way more different from real one?
The question is — how does your WebAssembly in the browser run a server that can listen for incoming requests and serve the page? I don’t get that part at all.
WordPress is an utter crap in terms of DB design and code. Most plugins are even worse and the whole thing is a total mess.<p>Yet, if you have a client needing this and that you can have them started really quick with WordPress. Need an e-commerce? There are plugins for that. Need an event management? There are plugins. Need an obscure app for truck drivers to share their CVs and communicate with clients? There is probably a plugin for this. If there isn't, you can use one and modify it - it's all open source.<p>It's definitely wild and ugly and crap, and sometimes is totally pathetic but the ecosystem is huge and has everything for everyone.
Its cool and I get it, but how is this useful other than good marketing? If an app's code is run on a device, any rooted device could just modify its memory and do whatever it wants. Just ask a game developer about the infinite anti-cheating war that they deal with.
Php & WordPress were fun. With that ugly php tag you could get pretty much everything working on the web.<p>All you had to do was edit, save & refresh. No rebuild of code, server restart, compiling Just edit & save.<p>Did it have the tendency to get ugly? Sure. But it was easy, quick and fast. Not every blog and needs a git flow, united, e2e, type-safe double encrypted dev environment.<p>Both PHP & WordPress got shamed for their dirty nature so much that they are in identity crisis. PHP tries to mimmick Java as much as possible. WordPress plugin structure is a disaster. Having to run an entire npm project for every plugin, no easy data saving helpers, etc. Let alone the ux-disaster of the block Editor.<p>Feels like the php decade is truly over. And it was php that killed itself.<p>Laravel is a joy btw.
Can we just throw wordpress in the trash instead already?<p>It sucks at everything. It's not a good CMS, its plugins are awful, PHP is a dumpster fire, every web developer hates it, etc.<p>This is also pointless as a tech demo.