Leonardo Losoviz is a freelance open source developer, creator of the component model for the back-end called PoP, and regular contributor to Smashing Magazine. He spends his days coding for the web on whatever project goes his way, learning new technologies, and writing down what he has learnt to share his experience with others, on his own blog leoloso.com, conferences and meetups.
“Serverless” PHP will quite likely become the next compelling stack, since it enables the creation of apps which are both static and dynamic at the same time: The same code can pre-render the site into static HTML (to upload to CDN) and serve dynamic functionality (logging in, sending emails, adding comments). The JAMstack won't be able to compete with this developer convenience! Let's explore how this paradigm can become the new game changer.
PHP has been increasingly facing competition from JavaScript to build modern websites, since this language provides dynamic features that server-side languages cannot match. However, the future for PHP is bright: Both PHP the language, and the PHP ecosystem, keep developing at a great speed and offering improvements that continuously take it to the next level. In this presentation, we will discover PHP's cards to lure developers back.
GraphQL's architecture is its biggest liability, since it gives raise to issues which, after several years of trying, nobody has been able to solve (complex security, lack of server-side caching, difficulty of collaboration among team members, and a few others). Luckily, there is a similar approach to graphs for representing information, which does not suffer any of its disadvantages: Components! Let's explore how components can save the day.
GraphQL is on the rise due to its great development experience and performance, however REST has sturdy features that we wouldn't want to do away with (server-side caching, better security, and others). Since each API has trade-offs, we need to decide which API is more relevant to our project. Fortunately, a new approach to building APIs provides the benefits of both these APIs, at the same time! Let's learn all about it in this presentation.
Through Gutenberg and the concept of blocks, WordPress has the chance to become the Content Management System of choice for managing not just content for the web, but also content for other platforms (such as email and mobile apps) and other types of digital assets (such as videos and images). Let's explore how Gutenberg may create a brand-new user experience concerning the creation, edition and managing of content in the years to come.
Thanks to the success of components, many responsibilities which used to be tackled in the back-end (site-level architecture, routing, state management) are now implemented in the front-end. As a result, the front-end can now be divided into the “back of the front-end” and the “front of the front-end”. The concept of components is now supported in the back-end too, enabling all the shifted tasks to be dealt with in the server-side once again.
Front-end developers love building websites using components, as evidenced by the growing popularity of libraries such as React and Vue.js. And back-end developers? Until recently, component-driven design (i.e. the ability to create sites through components as building units) was available only through front-end coding... But this is not the case anymore: a new PHP library enables to create websites using components as building blocks in PHP.
Deciding which framework to use for a project can be difficult. But then there is a better option: Using code that can work on top of whichever CMS or framework, and can switch from one to another with the minimum possible effort. This talk will explain how to implement such architecture, and demonstrate an application which can run on WordPress, Laravel and Symfony.
COPE (Create Once, Publish Everywhere) is a technique which allows to publish content across different platforms such as web, email, app, and others. It achieves its goal by decoupling the meaning and presentation layers of the content. We will learn how to implement COPE through a block-based architecture (as compared to the blob-based architecture), which allows us to manage chunks of content individually and extract their metadata.