Style/Theme/Skin development in XF will be a new paradigm


Well-known member
There's been a lot of discussion on different threads about Style/Theme/Skin development for XF, so I thought maybe we should have a single thread focused on that topic specifically. :)

First off, I really don't think most folks have wrapped their head around just HOW MUCH easier themes/styles for XF is going to be. vB was a PITA in comparison because it was born in a time before CSS was as mature as it has been for the last several years, and thus a lot of the layout for vB was handled via tables. XF has two major things going for it right out of the gate that are going to make it a completely different experience from a customizing point of view:

  1. MVC compliant architecture (wikipedia's take is a bit less example based). Part of this concept is the separation of the data processing and manipulation logic from the user presentation and interaction interface... Oh heck, it's hard to boil MVC down to a single sentence. The point is, it's going to make maintenance and upgrades both easier and less impacting to the admins and theme developers.
  2. The presentation is semantic HTML with the display handled by CSS and jQuery. That means you won't have to hunt for hours in the templates to figure out where the heck some particular layout is coming from, because if you can see what you want to do in firebug, you can pretty much just change it!
Between 1 &2 above you'll be able to pretty much build a totally different UI if you want to put the work into it.

By comparison:
In vB 3.x the postbit_legacy template handles the entire layout of the post, including the user avatar and info section, ad locations, signature, buttons etc. That's a lot of relatively separate parts that are bundled together into a single template, though they logically go together as they are a single BLOCK that is repeated over and over in a thread. But because of the fact that the entire post presentation is handled by a single template, it means that any time they make a change that effects the system display at the post level, the postbit_legacy template has to be reverted and custom tweaks added back in. Since a very high % of forum customization happens at or effects the post level, postbit_legacy is often highly customized, so it's a pain to redo the whole thing every time. This got a lot better with the proliferation of hooks in 3.6 -> but it was still a pain.

Please correct me if I've said anything incorrect above? I'm dilettante coder compared to a lot of folks here, more of a code adapter and repurposer really, but I LOVE web technology and try to keep up on the trends. A big part of my enthusiasm for XF comes from the fact that Kier and Mike have chosen what I consider to be one of the best possible combinations of toolset for what we want XF to be, and I'm terribly terribly excited to see what it's like under the hood and what we can do with it! :D