User blog comment:Ducksoup/The Future of Infoboxes on Wikia/@comment-1251315-20150820114515/@comment-4522253-20150820194139

Inline CSS, even in wikitext, is (minimally) harder on the browser and the server because of the additional uncached bandwidth and reparsing the wikitext into HTML. Storing the CSS in a centralized, cacheable location is better for consistency and when one makes global changes to look and feel. So, yeah, inline CSS is allowable but definitely a bad practice on the long term versus classes.

ParserFunctions are similar, in that they are evaluated on page load in the parser. Each individual " {{#if: " calls another thread for the processor to deal with, and you often have templates calling templates calling templates. Lua generated templates are cached, execute in a single thread (even with reusable subroutines), and spit out HTML without having to go through the intermediate wikitext transclusion and HTML conversion steps. That's why they're inherently less expensive.

I recognize that you'd have a bit of work to do in Lua conversion, and that you'd mostly have to go that alone. Thankfully, the people (like me) that have gotten to know Lua well are often eager to help in conversions like that. If you have any kind of programming experience, the syntax is significantly easier on the eyes than nesting ParserFunctions in bracket purgatory. I haven't converted our Lua generated Infoboxes to Portable Infoboxes yet.

As for SMW, given that it's already deprecated and becoming increasingly difficult for Wikia to support (and is hideously expensive performancewise on the server), Wikia is developing its own semantic tools as the next phase of the Portable Infobox effort. That's no secret. To say that "if it's not broken, don't fix it" does not apply to aging and untenable infrastructure like SMW. This is an opportunity to do something better. And if one MUST output unparsed wikitext, like SMW tuples, Lua can do that too.

I'm sorry that you have failed to learn Lua, and I hope that you will continue to try (for your own sake, building skills is always good). I am also sorry that you don't like PIBs, and that you feel badgered to change. You're right that it's not right for all use cases. That doesn't mean it's wrong for all use cases.