To share my experience as an experienced dev beginning on Shopify app development, I must say that after spending 4 days looking up and playing with app bridge, tutorials (nextjs/react, sections, snippets, etc..), polaris, liquid, etc.. I must say that I'm still very lost and confused about how to achieve my objective.
I'm trying to develop an app aiming to be deployed on several stores, to add some specific content:
Here are the options I considered:
Now with app section/snippet downsides:
Anyway, I'd really appreciate some directions here.
Great to hear you're looking to develop an app which will interact with the product page, and the checkout. As you've found there are a number of options available to allow merchants to surface the functionality of their app, eg: by supplying a code snippet that merchants would paste into their product.liquid file. As you point out, this is not the most graceful approach for integrating an app, which is one of the reasons we're working on the app snippet functionality. Currently, the app snippet feature is not available on merchants stores- this is only available as a beta feature for testing on developer preview stores. You've likely stumbled across our blog post describing how to work with app sections and snippets, which dives deeper into this.
Once app snippets / sections are available to merchants, it will be possible to add these to all themes- ie: merchants will not need to update their theme in order to accept the new snippet type, as this will be a backward-compatible update to the online store channel.
It is also possible for apps to themselves interact with theme files, using the Asset resource of the Shopify API. I think this would be answering your second question, around how the admin part of the app would configure a snippet on the online store.
If you are curious about app bridge, we have a webinar taking place today looking at this specific topic for participants of the Shopify App Challenge. If you register you'll get access to the recording afterwards.
I hope this helps- let me know what other questions you have and I'll work with you to get your app up and running.
Shopify | Developer Community Manager