This past Thursday, I gave a talk to the Vancouver WordPress Developer Meetup called “Theming in the Future”. We covered the joys and challenges of working with the coming core REST API and the React UI library, all in the context of an Underscores-based starter theme called Tango.
The talk took the form of mostly discussion, code tours, and demos; below are links to the examples, code, tools, and resources that were mentioned or came up in chats afterwards.
One point I should make is that, even with all of this talk of full JS interfaces, build tools, APIs and such, PHP theming is not going anywhere. Thanks to core’s dedication to backwards compatibility, PHP themes will remain strong for a very long time to come, and a theme developer’s current skills will not by any means become obsolete. We’ve simply been given opportunities to expand our thinking of what WordPress themes can be and do, while growing our toolkit to include all the best modern web development has to offer. These are very exciting times for WordPress theme development 🙂
Thanks to everyone who came out for a fun night, with plenty of questions, crystal-ball-gazing, and food for thought. I’m still very new to all of this myself, and the ways forward are nowhere near determined, so please feel free to hit me up in the comments or on Twitter with questions. Talk to you soon!
Examples
- WordPress.com admin
- thewomensfoundation.org/learn (via Tracy Rotton)
- Placard by The Sunday Times (via Jack Lenox)
Code
Tools and Workflow
Resources
- JavaScript: The Good Parts (book)
- React Fundamentals (video series)
- React docs and tutorials (including
dangerouslySetInnerHTML
) - WP REST API v2 docs
Hi Kirk,
nice presentation, little bit over my skills but still very stimulating.
I kind of got lost when you showed us your code running with JS disabled on your browser, would you mind to give us a hint of what was that about?
Thanks
Thanks! Oh, that was simply demonstrating that the regular PHP theme code kicks in and still works when JS is disabled, rather than all the Tango JS taking over when it’s enabled.