Seaside also has components. But they aren't as brain-dead as the ones in ASP.NET. It's much cleaner and better-designed (I haven't dug into Seaside completely yet, but so far, very clean)
macro-based alone doesn't imply one approach or the other, or does it? There could be macros for all the HTML tags (table => <table>), or there could be macros for "widgets".
- embedding client-side markup as a DSL in the language to generate HTML (Markaby/Seaside)
- component/control-based systems (ASP.NET, JSF I guess)
I prefer the first.