Leonardo Losoviz is a freelance developer and writer, with an ongoing quest to integrate innovative paradigms (Serverless PHP, server-side components, GraphQL) into existing PHP frameworks (WordPress, Symfony, Laravel), and unifying all of them into a single mental model. He gives account of his progress on Smashing Magazine, on his own blog leoloso.com, and in whichever event he is accepted to speak.
What options do we have for integrating GraphQL with WordPress in 2024? Leonardo Losoviz describes the developments that have taken place in this space over the last three years.
Read more…
Lightsail provides all the power we need to host our websites, as we are used to from AWS, but making it way easier than ever before. In this article, Leonardo Losoviz explores how to launch a WordPress site in Lightsail in a quick and easy way.
Read more…
Do you need search for your site, but haven’t found the time to add it? Within 15 minutes, Leonardo Losoviz explains how you can add a super powerful search that also looks super good. In this article, you’ll learn how to go from 0 to 100 with search.
Read more…
If we want our WordPress plugins to offer a settings page that is fully powered by blocks, how can we do it? Since Full Site Editing doesn’t support this feature yet, we need to code a custom solution. In this article, we will learn how we can do it.
Read more…
In this article, Leonardo Losoviz discusses some potential consequences as well as positive outcomes of WordPress joining the Block Protocol.
Read more…
In this article, Leonardo Losoviz explains how Cloudinary’s integration can be used with WordPress to produce and deliver optimal digital experiences.
Read more…
There is no “best” solution, only solutions that might work better depending on the context. The multi-monorepo approach is not suitable to every kind of project or team. In this article, Leonardo explains how to use a “multi-monorepo” approach for making the development experience faster, yet keeping your PHP packages private. This solution can be especially beneficial for PRO plugin creators.
Read more…
VS Code can be supercharged wuth hundreds of VS Code extensions. In this article, Leonardo shares four useful extensions that help him in his daily work.
Read more…
When developing themes and plugins for WordPress, we need to test them in different environments. How can we create multiple testing sites on our computer, quickly and easily, without having to become a sysadmin? If our themes and plugins contain custom blocks, testing them for all different versions is imperative. At the very minimum, we need to worry about two versions of Gutenberg: the one shipped in WordPress core, and the one available as a standalone plugin.
Read more…
Amazon allows visitors to display prices in their own currency. Thanks to ExchangeRatesApi.io, we can do the same for our online shops, providing a better experience to our customers. Let’s find out how.
Read more…
Let’s explore the plugins providing GraphQL servers to WordPress. When should we use WPGraphQL, and when the GraphQL API for WordPress? Is there some advantage of one over the other, or some particular task that is easier to accomplish with one of them? In this article, Leonardo Losoviz will describe, from his own point of view but as objectively as possible, when WPGraphQL is the way to go and when GraphQL API for WordPress is a better choice.
Read more…
The Laravel-powered October CMS enables to extend the functionality of the application through the use of plugins. In this article, Leonardo Losoviz will do a tour around October CMS: You will first see how to install it, then check some of its coding and usability features in a bit more detail, and finally get your hands dirty implementing an e-commerce website through one of its most popular plugins, Shopaholic.
Read more…
Setting-up a CMS-agnostic architecture for our application can be a painful endeavor. Making our code CMS-agnostic, as much as possible, enables us to easily port our application to another CMS if the need arises. In this article, Leonardo Losoviz will show you how to abstract a WordPress application, making its code readily available for other frameworks or CMSs.
Read more…
Making our code CMS as agnostic as possible enables us to easily port our application to another CMS if the need arises. Since these CMSs and frameworks (WordPress, Drupal, Laravel) all run on PHP, making their PHP code re-usable too will make it easier to run our components on all these different platforms. In this article, Leonardo Losoviz will show you how code abstraction works, why it is a good idea, and the key concepts to achieve it.
Read more…
Gutenberg is reinventing the experience of creating content in WordPress, granting it new powers to create, edit and manage our content. In this article, Leonardo Losoviz will shine some light on these upgraded capabilities, exploring the new tools at our disposition and presenting several new ones to be released sometime in the future.
Let’s see what these new powers are!
Read more…
The term COPE (“Create Once, Publish Everywhere”) is a methodology for publishing our content to different outputs (website, AMP site, email, apps, and so on) by having a single source of truth for all of them. Concerning WordPress, even though it has always shined as a Content Management System, implementing the COPE strategy has historically proved to be a challenge. In this article, Leonardo Losoviz will explore how to implement COPE using WordPress.
Read more…
Even though Gutenberg is currently at its best ever, many people still do not welcome it into their projects, due to the frustrating experience suffered when it was launched with WordPress 5.0. This is unfortunate, because, as a product, Gutenberg is outstanding. In this article, Leonardo Losoviz will do a postmortem of what went wrong with the launch of Gutenberg, as to allow ourselves to embrace Gutenberg as the product.
Read more…
The typical website stack has gotten complex, involving many tools and technologies, and requiring automation to handle its deployment adequately. By automating all the tasks to execute, you will not dread doing the deployment, indeed you may not be even aware of it. In this article, Leonardo Losoviz will take a closer look at Buddy, one of the most comprehensive tools for automating website deployments.
Read more…
Depending who you ask, you may hear that Gutenberg is the worst or the best thing that has happened to WordPress. But since its release 8 months ago, Gutenberg has been greatly improved, offering a user experience much richer than anything that was possible in WordPress. At the current pace of development, it’s only a matter of time until its most outstanding issues have been dealt with and the user experience becomes truly pleasant. In this article, Leonardo Losoviz will take a look at its latest developments, and where it is heading to.
Read more…
Cloudflare Workers lets devs build and extend the capabilities of serverless sites.There is nothing mystical or mysterious about serverless: its end result is simply a website or application. And it is also becoming increasingly popular due to the increasing availability of services offered by cloud providers, simple-yet-powerful template-based static site generators and convenient ways to feed data into the process. In this article, Leonardo Losoviz will show you how Cloudflare Workers works and when it makes sense to add it to our technology stack.
Read more…
Many people are currently looking for alternatives to WordPress. In this article, Leonardo Losoviz compares WordPress to the arguably similar yet more modern October CMS on a wide arrange of both technical and non-technical topics, by exposing the important concerns that need to be kept in mind when looking for a suitable CMS for your projects. The goal of the article is not to convince people to stick to WordPress or to switch to October CMS, but simply to demonstrate what aspects must be taken into account before concluding the move to a different platform. The same comparison could (and should) also be done with other platforms before making a sensible decision.
Read more…
WordPress is modernizing, allowing us to rethink how to make the most out of newer tools and technologies. In this article, Leonardo Losoviz explains how you can integrate WordPress with Composer, Packagist, and WPackagist in order to produce better code. He will review two projects which provide an integration between WordPress and Composer: manually setting our composer.json file depending on John P. Bloch’s mirror of WordPress’ core, and Bedrock by Roots.
Read more…
Due to backwards compatibility, WordPress hasn’t taken advantage of new PHP features released after PHP 5.2.4. Fortunately, WordPress will soon require PHP 5.6+ and even PHP 7.0+ not long after that. The recent release of Gutenberg could be a sign of the good times to come. In this article, Leonardo Losoviz makes a tour of the PHP features newly-available to WordPress, and attempts to suggest how these can be used to produce better software.
Read more…
In the world of APIs, GraphQL has lately overshadowed REST due to its ability to query and retrieve all required data in a single request. Using a component-based API makes most sense when the website is itself built using components, i.e. when the webpage is iteratively composed of components wrapping other components until, at the very top, we obtain a single component that represents the page. In this article, Leonardo Losoviz will describe a different type of API, based around components, which takes a step further the amount of data it can fetch from a single request.
Read more…
Caching delivers a faster response, and frees up resources in the server. When optimizing the speed of our websites from the server side, caching ranks among the most critical tasks to get just right. In this article, Leonardo Losoviz examines an architecture based on self-rendering components and SSR, how do we identify those sections of code that require user state, isolate them from the page, and make them be rendered on the client-side only?and analyzes how to implement it for WordPress sites through Gutenberg.
Read more…
Overusing inline CSS or JS code, as opposed to serving code through static resources, can harm the site’s performance. In this article, Leonardo Losoviz will learn how to load dynamic code through static files instead, avoiding the drawbacks of too much inline code. You will see, as an example, how WordPress loads 43kb of scripts to print the Media Manager, which are pure JavaScript templates and could perfectly be loaded as static resources.
Read more…
What does Gutenberg bring to the future of WordPress? In this article, Leonardo Losoviz will analyze several implications of building sites through a component-based architecture and through Gutenberg (as the implementation), including what new functionalities it can deliver, how much better it can integrate with current website development trends, and what it means to the future of WordPress.
Read more…
Sending many transactional emails at once, if not architected properly, could become a bottleneck for the application and degrade the user experience. Part of the problem is connecting to the SMTP server from within the application, synchronously. In this article, Leonardo Losoviz will explore how to send emails from outside the application, asynchronously, using a combination of AWS S3, Lambda, and SES.
Read more…
When creating a multi-step form in which a file is uploaded and manipulated, if the application is running on several servers behind a load balancer, then we need to make sure that the file is available all throughout the execution of the process, for whichever server handles the process at each step. In this article, Leonardo Losoviz will solve this issue by creating a repository accessible to all servers where to upload the files, based on AWS S3.
Read more…
It’s a well-known fact that it’s not easy for WP websites to implement code-splitting through Webpack. In this article, Leonardo Losoviz takes things into his own hands and implements his own version of code-splitting for an open-source framework named PoP. He will analyze the performance of a website with and without code-splitting, and the benefits and downsides of using a custom implementation over an external bundler. We hope you enjoy the ride!
Read more…
The WordPress ecosystem, which relies on a huge community of developers, enables us to constantly incorporate new features into our websites with no major effort, or at least with much less effort than is required to develop the functionality from scratch. Moving from WordPress to Netlify has trade-offs. What if we could have a WordPress website in which its dynamic content could be exported as static files? Leonardo Losoviz explains how you can combine both worlds: switch to a static site generator without having to abandon WordPress.
Read more…
In this article, Leonardo Losoviz will share his experience with implementing service workers for PoP, an SPA website that runs on WordPresss. SPAs greatly enhance service workers, such as enabling you to choose from different appshells to load during runtime. Integrating with WordPress is not all that smooth, but it’s worth doing: the website will load faster and will work offline.
Read more…