Again, this is a more complex issue. We didn't find a nice solution that covers every plugin possible, as some of them modify the view/html.
Let's say we create an API for the core with "hooks" and it works fine, now, we want to use some plugin, like the most simple plugin, one which add some attributes to the listing, let's say it's a cars attributes one which let's you select make and model, pretty simple.. How do we know we need to show more form elements/fields for said plugin? Ok, don't panic, when we ask the API, it should reply with a JSON, with the form's fields, so we get our regular fields + our plugin fields.
Another example, social plugins that let you login into your website with a facebook , google or twitter account. How can you make them work with you app?
Other plugins, like payments plugins for example, adds new "pages" to your website, like a checkout page. How does your app know how to show that checkout page? And being specific of said plugins, how could you make a payment from your app?
Finally, there are other plugins, like sliders, cookie consent, age warning, anything related to banners/ad management,... that you will not be able to use on your app.