robmellett / shopify-nuxtjs-starter

56 stars 6 forks source link

Theme vs Frontend #1

Closed Aztriltus closed 4 years ago

Aztriltus commented 4 years ago

I was wondering what's your reason for choosing a Vue/Nuxt app as opposed to using themes via Slate?

I built a barebones Nuxt with all the queries/mutations but it lacks a lot of good things theme provides such as content management of sections (like adding a gallery of images) for example. Furthermore, Storefront API doesn't expose some little things like adding an email address to the mailing list.

Just wondering what I'm not seeing here that you are. Thank you

robmellett commented 4 years ago

Hi @Aztriltus ,

Thanks for checking out the project. That's a really good question.

There's a couple of reasons,

Going headless with Nuxt opens us up to new opportunities.

Most medium/larger stores are already opinionated with their mailing platform, so you just need need to fire a request to the provider, or roll with your own internal API which most medium organisations have.

Hope that helps!

Aztriltus commented 4 years ago

Hi @robmellett. Thank you for your reply. I totally understand where you are coming from. If the e-commerce shop is big and customisable, there is no reason to stick with Themes anymore, especially if you're using other content management sites for your clients to manage information themselves.

I asked the question because for the site I'm building for my current client, it's really small and I have no reason to use Nuxt but I went straight into Nuxt anyway because I was very comfortable with it. I didn't think about how much work I would need to do to simply replicate a Shopify app, which is why I went backwards and started looking into developing themes instead.

Thank you for reassuring my decision. I believe with this repo, you're able to help many people like me who are familiar with Vue/Nuxt to quickly get started with Shopify and Nuxt. I'll keep a close look at this repo and all the best for your project!

robmellett commented 4 years ago

Thanks for the kind words @Aztriltus. I wish this project were a little more complete for you! I'm hoping to get more time this weekend and smash through a few things.

If you don't mind me asking, how did you come across the repo? What did you search for specifically?

If you ever have any questions, hit me up :)

Aztriltus commented 4 years ago

No worries @robmellett. It's actually a long journey ever since I started looking for tools to build Shopify with. I went to Slate, then Slater and used their repo. But they were using picoapp which I don't actually know how to use and there's too much to learn. So I tried finding for a repo that uses Vue for it's JavaScript and I found your other repo. That repo had a link pointing here which I thought was interesting since I went 1 full circle, starting and ending with Nuxt 🤣.

Definitely. Thank you again!

margaritacoco commented 4 years ago

Hi @Aztriltus ,

Thanks for checking out the project. That's a really good question.

There's a couple of reasons,

  • Shopify have deprecated Slate(https://github.com/Shopify/slate) as of January 2020.
  • The development experience with Slate has been quite poor. It was a pain to use Webpack and configure third party development optimizations via the slate.js file.
  • The theme UI within Shopify is actually quite limited for medium/larger companies as well. I'll explain why below.
  • The Slate themes are actually quite slow, when testing via https://web.dev, especially since there's a lag with Shopify being in Canada, while I'm in Australia.

Going headless with Nuxt opens us up to new opportunities.

  • I'm currently working on two themes for this project (this one, and premium one for clients who want advanced search functionality using Algolia)
  • It's easier for me to write more maintainable logic for product upsells, and custom analytic events
  • There's a growing market demand for going headless, it's one of the hot marketing buzz words right now.
  • As a result they are wanting to roll their own headless solutions, and replacing the default Shopify Theme builder with solutions such as Prismic/Contenful to give their teams better customization of the site
  • I'll be writing the premium theme components and then reuse in mobile platforms such as Ionic.

Most medium/larger stores are already opinionated with their mailing platform, so you just need need to fire a request to the provider, or roll with your own internal API which most medium organisations have.

Hope that helps!

Considering the data is generated and managed through Shopify, how do you work this out to send it to Contentful/Headless CMS to manage it there?

Do you end up with managing everything in the new CMS, or alternate between Shopify and X CMS?

Amazing repo.

robmellett commented 4 years ago

Considering the data is generated and managed through Shopify, how do you work this out to send it to Contentful/Headless CMS to manage it there?

Do you end up with managing everything in the new CMS, or alternate between Shopify and X CMS?

Amazing repo.

Hi @margaritacoco ,

It will depend on how your business manages their integrations.

I would not use Contentful/CMS to manage product/variant information. Most of the integrations I've seen use it to mange blogs / pages, and to some extent product detail page content. Last I checked Contentful / Primisc offer their own (beta) tools to assist with this, but I didn't think they were very good at the time of review.

The last place I worked had their own Product Information Manger, and we built the integration to POST the products / variants into shopify, and this worked pretty well.

margaritacoco commented 4 years ago

Considering the data is generated and managed through Shopify, how do you work this out to send it to Contentful/Headless CMS to manage it there? Do you end up with managing everything in the new CMS, or alternate between Shopify and X CMS? Amazing repo.

Hi @margaritacoco ,

It will depend on how your business manages their integrations.

I would not use Contentful/CMS to manage product/variant information. Most of the integrations I've seen use it to mange blogs / pages, and to some extent product detail page content. Last I checked Contentful / Primisc offer their own (beta) tools to assist with this, but I didn't think they were very good at the time of review.

The last place I worked had their own Product Information Manger, and we built the integration to POST the products / variants into shopify, and this worked pretty well.

I'd like to thank you for replying to a month old thread, I appreciate it.

Interesting point of view. In a similar stack(excluding Shopify, but with Laravel/Nuxt) we went with Laravel Nova. I was intrigued by what CMS would suit this stack. If you'd stack Shopify's Admin + 3rd party CMS, or Shopify's Admin was "enough".

Good project you have here, i'll definitely be building something with this very soon.

Sliding a small question: How would you explain or use Shopify plugins, while consuming a stack like this? I had this question when reading and consulting the files of the repo. Would there a be a way to integrate them, or doing this means to abandon plugins, and code it.

Thank you!