On November 12th 2016, the MageTitans conference took place in Manchester for the third time in a row. It’s the biggest developer centric conference about Magento which gets a lot of attention and therefore a great lineup of speakers.
One of those great speakers was Vitaliy Korotun, Magento core developer and one of the masterminds behind the UI Components in Magento 2. The topic of his talk was announced as
“Building complex forms with Magento 2 UI Components”.
When he got on stage, his talk title had suddenly changed to
“Building pretty anything with Magento 2 frontend framework”.
— Mage Titans (@MageTitans) 12. November 2016
Why? To understand that, we’ll first have a look at what UI components are about.
What are UI Components?
To understand what happened, we need to take a look at the workshop which took place the day before with about forty attendees. Its title was “Asynchronous Client-side Rendering and UI Components”, scheduled to last about three hours and held by Vitaliy Korotun too. He started off with some advanced examples of using and modifying UI components. It soon became obvious that Vitaliy expected the attendees to already have solid knowledge of UI components which clearly was not the case for the majority of attandees, including me.
— Tadhg Bowe (@TadhgBowe) 11. November 2016
In a personal conversation with Vitaliy during the break after about one hour of the workshop, he was surprised about my impression that most attendees couldn’t follow the workshop contents. He was referring to some of the smart guys such as Vinai Kopp asking clever questions, concluding that the same level of knowledge was shared by all (or most of) the other attendees. He had several reasons for his assumption:
- UI components are out for more than a year now
- There have been very high-level discussions and pull requests about the UI components on GitHub
- He expected the participants of a conference named “MageTitans” to be real experts (“titans”) with Magento 2
What he didn’t take into account:
- Adoption for Magento 2 is going slow. There are a few agencies and independent developers who are already doing a lot with it, but many others are still waiting or have just begun their first Magento 2 project(s) a few weeks or months ago.
- Among all new Magento 2 development techniques, UI components seem to be the most complex which most developers struggle with or try to avoid. I have heard this assessment even from one of the best Magento developers I know, someone who has been working with Magento 2 since the Merchant Beta release.
- You cannot conclude from a small number of early adopters to the majority of Magento developers. The knowledge gap is huge.
- Most attendees seemed to be backend or “full stack” developers. UI components are important for them too, as they’ll at least have to adjust and extend the admin area without the help of frontend developers. And as UI components have to do with PHP too, there will be tasks about UI components for backend developers as well.
What followed after the break was a restart. Vitaliy asked if there were questions left up to that point, someone else (sorry, don’t know the name) jumped in and asked basic questions about how UI components work in general, and Vitaliy answered them one after another in detail. A sigh of relief went through the room, and although even the basics of UI components are a complicated topic, it became much easier to follow. It allowed me and other developers to get a much better understanding of what UI components are and how their different parts are working together.
On the next day, Vitaliy came up with a new talk. Not only had he changed the title, but content, too. It covered the basics of frontend development and UI components. It meant a lot of work for him as he had to throw over his existing talk, which must have taken a few hours of his night.
— Jason Woosley (@jasonwoosley_mg) 12. November 2016
It became clear that UI components are a very interesting approach which should be much more future-proof than the old rendering technologies. You can overwrite nearly all parts of the layout in an upgrade-safe way. The only drawback from my point of view is that you need a lot of knowledge to utilize the full power of UI components, but also to use the basic parts well. Fortunately, there now is comprehensive documentation about all parts of UI components, and you’ll need it.
Interesting: Magento is thinking about using UI components in the backend as well.
— jcowie (@jcowie) 12. November 2016
Besides the fact that UI components are a beast of complexity, this case shows that Magento started taking the right approach to send their developers and other employees to conferences and other events where they get to communicate with the people actually using their software. It helps them understand their needs and their background much better and adjust their behavior and/or software accordingly.
— Ben Marks (@benmarks) 12. November 2016
On the other hand, it shows that the Magento people (at least all I have met so far, and that’s more than a dozen) are approachable and open for adjustment. They are asking for feedback, and we as the users should give them feedback. So, if you see anything going wrong, I recommend talking to the people in charge or approaching them virtually. If you don’t know them, you can always talk to Ben Marks or Sherrie Rohde who can forward the information to the right person(s) and/or tell you whom you should speak to.
Author: Andreas von Studnitz
Andreas von Studnitz is a Magento developer and one of the Managing Directors at integer_net. His main areas of interest are backend development, Magento consulting and giving developer trainings. He is a Magento 2 Certified Developer Plus and a Magento (1 and 2) Certified Solution Specialist. He was appointed a Magento Master in 2019.