It does work well for smaller focused applications. As soon as you need an escape hatch though to do something it doesn't have an expression for, and you will always find a situation where you do, you run into the barrier between the framework and the native language which becomes clunky and odd.
You end up having to extend the framework in potentially weird ways to get your thing to work.
It's much nicer when your framework just uses the underlying system instead.
You end up having to extend the framework in potentially weird ways to get your thing to work.
It's much nicer when your framework just uses the underlying system instead.