| > We can write re-usable components in pretty much any language with as bit of file organisation. Sure you can, but only in that specific language, which sadly your browser won't understands. I'm working with Struts 2 at my job sadly, when I started I quickly began to make components because it's much better than the usual copy-paste they were doing. The components are great and works well, are not so hard to make (much harder than React but still accessible) but once it's rendered, that's it. You want to add an element using JS? Well okay, you'll just add some kind of template that you will render in the JS, even more works, but that's fine. Thing is, you don't have access to parameters... well just add it in the JS initialization easy right? No they use OGNL, thus if anything is done programmatically (which it will, for concatenation or i18n, or whatever), most likely won't works. Most time when the component change visually, the same change need to be done on JS too. Twice the time... In the case of Struts, the components are also quite hard to imbricate into one another, which push toward even more code smell. |