First off, I started moving away from DSLs awhile ago. Syntax and semantics are not something you just bolt on to code. I don't care for JSX, but I like the idea of building HTML with Ruby even less. It can be done but I'd much rather just use a templating system. JSX is an ugly hack but I hate it less the more I work with it. I just use a convention to only put it in render methods and to have render methods only contain JSX. If you do that then JSX isn't so bad.<p>Second, React is maintained by Facebook. This project is not. If you're greenfielding an app and you base it on this framework rather than real React, then you better hope the app goes EOL before the framework maintainer decides to move on, otherwise you're SOL.