Ce este o aplicație Shopify și cum să construiți una
Publicat: 2022-07-29Una dintre întrebările pe care le primim adesea atunci când vorbim cu dezvoltatorii sau liderii de inginerie despre ceea ce facem este, ce este exact o aplicație Shopify și ce instrumente și tehnologii sunt necesare pentru a construi una? O altă întrebare frecventă este: Este o problemă dacă nu am experiență în construirea de aplicații Shopify?
Să răspundem la aceste întrebări prin detalierea diferitelor aspecte tehnologice ale dezvoltării aplicațiilor Shopify.
Cum se compară o aplicație Shopify cu o aplicație web
Perspectiva noastră asupra acestui subiect este că o aplicație Shopify funcționează aproape ca o aplicație web standard, dar este puternic conectată cu platforma Shopify printr-un API. Acest lucru are mai multe implicații:
- Pentru a crea o aplicație Shopify, puteți utiliza aceleași tehnologii ca și pentru aplicațiile web. Nu sunteți limitat la o anumită tehnologie (deși utilizarea unei anumite tehnologii vă poate face viața mai ușoară - vom reveni la asta mai târziu).
- De obicei, trebuie să construiți atât backend, cât și frontend.
- Sunteți responsabil pentru găzduirea și funcționarea aplicației.
- Odată ce aplicația este aprobată de Shopify, procesul de lansare este de asemenea sub controlul dvs.
Din perspectiva comerciantului, putem spune că Shopify este Software-as-a-Service (SaaS), precum și aplicații Shopify. Înseamnă că un comerciant nu trebuie să interacționeze cu niciun tip de cod pentru a vă instala aplicația.
Componentele aplicației Shopify
Identificăm trei componente logice pe care o aplicație Shopify le are de obicei:
- Administrator comerciant
- Procesare webhook
- Aplicație orientată către clienți (interfața de utilizare a magazinului)
Dintre acestea trei, ultimul nu este neapărat necesar. Depinde de funcționalitatea pe care doriți să o oferiți comercianților. De exemplu, aplicația noastră Candy Rack constă din toate cele trei componente, în timp ce Loyal constă numai din primele două părți.
Administrator comerciant
Administratorul comerciantului este un tablou de bord în care un comerciant setează și configurează aplicația. Shopify recomandă deservirea administratorului comerciantului în interfața Shopify (așa-numita aplicație încorporată). Aceasta înseamnă că încorporați aplicația în administrarea Shopify folosind iframe.
Aplicațiile încorporate au câteva limitări:
- Din cauza modului în care funcționează autentificarea, sunteți mai mult sau mai puțin limitat la arhitectura aplicației cu o singură pagină (deși sunt posibile soluții parțiale cu ajutorul Turbolinks sau Inertia.js).
- Ar putea fi eficient să utilizați React pentru scrierea frontend, deoarece există biblioteci furnizate de Shopify: biblioteca Polaris UI se asigură că UX-ul dvs. este în concordanță cu restul administratorului Shopify, iar App Bridge acționează ca o punte frontend care furnizează date de context Shopify aplicației dvs. rulează în iframe.
Administratorul comerciantului este, de asemenea, primul punct de contact între aplicația dvs. și un comerciant și este locul în care este gestionat procesul de instalare. Instalarea înseamnă, practic, obținerea permisiunilor pentru a accesa datele magazinului comerciantului prin OAuth.
Este, de asemenea, partea din aplicație în care vă ocupați de facturare în cazul în care aplicația dvs. nu este gratuită.

Procesare webhook
Webhook-urile sunt modul în care Shopify vă informează aplicația despre diverse evenimente care au loc în magazinele în care este instalat: de exemplu, crearea de noi comenzi sau actualizarea produsului. Tu decizi la ce evenimente te vei abona.
Logica de afaceri care trebuie executată pe baza evenimentului primit ar trebui să fie cu siguranță gestionată de lucrătorii de fundal. În caz contrar, vă puteți supraîncărca cu ușurință aplicația. De asemenea, puteți lua în considerare delegarea primirii evenimentelor în afara aplicației dvs.
Aplicație orientată către clienți (interfața de utilizare a magazinului)
În cazul în care aplicația dvs. extinde Shopify Storefront (ceea ce înseamnă că aduce noi funcții clienților magazinului), trebuie să o „inserați” în magazinul din față. Pentru a face acest lucru, trebuie să îi spuneți lui Shopify printr-un API să injecteze resursa JavaScript în magazinul din față. Există două metode cele mai populare pentru asta: Script Tag și App Embed block. Există, de asemenea, posibilitatea de a extinde tema vitrinei direct cu unele componente vizuale folosind Blocuri de aplicații (numite și secțiuni de aplicații).

Dezvoltarea aplicației orientate către clienți ar putea fi cea mai dificilă parte a întregului proces. De obicei, extindeți sau chiar suprascrieți comportamentul implicit al magazinului frontal. Când faceți acest lucru, trebuie să vă asigurați că funcționează pe diferite teme Shopify, cu diverse setări ale magazinului și într-un mod încât să nu rupă nimic într-o situație neprevăzută. În plus, pot exista întotdeauna alte aplicații terțe care interferează cu aplicația dvs.
Interfața de utilizare a magazinului frontal este, de asemenea, locul în care ar trebui să acordați atenție performanței și dimensiunii aplicației dvs.

Evoluția dezvoltării aplicației Shopify
Deși v-am spus înainte că construirea unei aplicații Shopify este, în principiu, dezvoltarea de aplicații web, această afirmație este de fapt doar parțial adevărată. În 2021, Shopify a introdus conceptul de extensii de plată. Înainte de aceasta, nu a fost posibilă extinderea funcționalității plății cu o aplicație Shopify. În acest aspect, experiența dezvoltatorului este diferită în comparație cu o aplicație web, deoarece se întâmplă într-un mediu foarte limitat (de exemplu, puteți utiliza doar un set specificat de componente React pre-preparate), iar procesele de construire și lansare sunt gestionate de Shopify.
Este posibil ca în viitor, Shopify să se îndrepte către această abordare în alte domenii pentru a avea mai mult control asupra aplicațiilor terță parte. Ca rezultat, dezvoltarea aplicației Shopify se va îndepărta și mai mult de dezvoltarea aplicațiilor web.
Stiva tehnologică Digismoothie
Puteți afla mai multe despre tehnologiile pe care le folosim din acest articol.

Concluzie
Sper că ați învățat ce înseamnă să construiți o aplicație Shopify din perspectivă tehnică și ce tehnologii pot fi utilizate.
În sfârșit, să revenim la întrebarea pusă la început. Este o problemă pentru un inginer cu experiență în dezvoltare web să se alăture unei echipe care lucrează cu aplicațiile Shopify? Aș spune cu siguranță că nu. Dacă un inginer are o bună înțelegere a conceptelor și tehnologiilor utilizate în dezvoltarea de aplicații web moderne, el poate interveni foarte repede. Cunoașterea ecosistemelor și a API-urilor Shopify va veni pas cu pas.