Every abstraction is incomplete, and the web platform is huge - so there's no point in closing all the doors! People need to do low-level stuff sometimes. Instead, we provide "escape hatches" everywhere, so you can use the underlying complex technology without abandoning Anvil's core ease of use.
So, you can drop down to HTML/JS/CSS - and then wrap it in an Anvil component you can import from other apps. You can provide REST APIs and use your code from Android/iOS/Vuejs - but you can still use the same code from Anvil with full autcomplete. You can run code on your own servers, or in your own IDE - but you can still call it from Anvil client code, and it still has access to all the Anvil server-side APIs (even our built in data tables). And every app is just a Git repository, so you can push/pull your code around with any script you like!
References: https://anvil.works/doc/#js_interop (HTML/JS interop); https://anvil.works/blog/http-api-endpoints (REST APIs); https://anvil.works/blog/uplink (integrating code outside Anvil)