WordPress development has become complex. In fact, web development as a whole. Are you ready to move on?
For many people, developing with WordPress comes down to selecting a beautiful theme and finding some functional plugins.
Sincerely (and sincerely kicks in!), the development in WP goes far beyond themes and plugins.
In fact, web development as a whole is not so simple anymore. The HTML, CSS, and JavaScript triad is far behind.
Platforms, tools, frameworks, libraries, environments, repositories, languages, concepts and many other things are discussion guidelines before the start of each project. As well as during and after delivery.
WordPress Themes and Plugins
WordPress in a simplified way is summed up in three parts: the core, the theme and the plugins in use.
The types of WordPress plugins are not known in their entirety by developers and solution architects.
Your digital design and WP plugins will possibly have three types of relationships:
- You will find the perfect plugin and that exactly meets the need of the project;
- You will need to change some concept, or business rule of your project, to use the X or Y plugin;
- You will develop a plugin to meet your business rules.
The themes are not always chosen as they should, that is, aesthetics must be the second criterion of choice, and the first must be guided by the desired architecture.
And when working with ready-made themes, you must be aware of the technique supported by WordPress through Child Themes. That enables us to work with customizations without compromising core codes and the impact of future updates.
It is very common to have a hybrid scenario, that is, we consider the development of the theme, of plugins and also select some consecrated and useful for the project in question.
And if it is developed in WordPress, you need to consider the most modern and currently used stacks by the development teams and infrastructure.
The evolution of the three layers of development
Every digital design is structured in three classic layers: content (HTML), styles (CSS) and behavior (JavaScript).
But in recent years these layers have gained ramifications almost impossible to follow in depth.
This has brought great challenges and dedication from the front-end development teams.
The content layer
HTML is used to give semantic meaning to the information arranged in the virtual pages.
But language alone is not enough. So we need to add Schema.org, Microformats, and derivatives.
In addition, we need to structure meta information for external agents, read Facebook, Twitter, Google and dozens of others.
For this, we use Open Graph, Twitter Cards, Accelerator Mobile Pages, Instant Articles, search optimization techniques and screen readers for accessibility.
Now, we are seeing the increasing of the componetization. All elements of the interface are handled in isolation and thus reused on several pages.
The concept is great, but it requires new technologies, learning and of course, makes the development in WordPress more complex.
The content layer is even more closely matched to the behavior layer.
The behavior layer
The behavior layer has the central point in JavaScript. Language is present in everything and is already essential in all modern projects.
With the increasing component and hence the evolution of the View layer in JavaScript, new proposals for frameworks and libraries arise.
The list in this segment is huge. From the popular jQuery, the latest and beloved Meteor, Redux, React, Preact, Vue … And the list goes on.
The style layer
In addition to the evolution of CSS itself, technologies have emerged to complement the work of making the pages prettier and more attractive.
Compilers such as Less and SASS help developers gain agility, streamline work, and at the same time add new usage needs like Grunt, Gulp, and other techniques.
The Challenges of Back-End Teams
If the evolution of the layers of development brought new challenges and scenarios for front-end teams, so did those focused on the back end.
Concepts and cultures such as DevOps, brought developers closer to SysAdmin and brought in incredible gains and integrations across teams to benefit the project and the workflow as a whole.
Projects developed in WordPress need to be structured in different environments such as development, homologation, and production.
For this to happen fully consider the concept of Continuous Integration as well as the use of tools such as Git and Jenkins to organize and automate deploys between different environments.
WordPress plugins and themes can be developed using concepts like MVC, adopting Coding Standards, Code Sniffer and solutions like Composer and CLI.
Each solves a problem and adds a need for more study, configuration, and point of attention.
The core of WordPress is structured in MySQL database. But some projects require other data storage solutions and solutions like MongoDB and Redis, for example, are adopted in parallel.
The concept of microservices and use of APIs is constant. Each technology is intelligently chosen to solve a specific problem and thus we have the best solution for each case of the project.
With the constant use of APIs, it became necessary to know more about the HTTP protocol, the concept of RESTfull and to delve into the specifications of the JSON format.
For every era, a different challenge in WordPress development
Web developers deal with different standards every age. This brings great impacts and challenges to WordPress development.
We live the war of browsers and the lack of adoption of web standards. Today, the impacts of Internet browsers are minimized since the adoption of web standards has evolved considerably.
Not enough browsers, we had big challenges with the differences between operating systems: Windows, Linux, and Mac, for example.
Today, the differences between OSs are smaller. However, besides the three most used desktops, we have the mobile era and new systems like iOS, Android, Symbian and certainly others that will still appear.
But the big challenge today is the diversity of screen and device size. If we think of smartphones, the sizes are diverse and each device has two sizes: one in landscape orientation and one in portrait mode.
Conclusion
WordPress development has become complex. In fact, web development as a whole.
This requires more studies, greater involvement of technical hours and professional qualification. We need to be assertive with the choices and care in planning to have an expected outcome.
For each current problem, we have a technology to solve the problem. We have to choose the solution well, for each solution, there are several alternatives.
Some solutions are simple, others complex. Some with a low learning curve, others not so much. Some with good market acceptance, and consequently specialized professionals.
The development in WordPress needs to be well structured to summarize and simplify as everyone expects, i.e., a theme and some plugins.