Che cos'è un'applicazione Shopify e come costruirla

Michal Majsky

|

September 5, 2024

Che cos'è un'applicazione Shopify e come costruirla

Come vengono costruite le app di Shopify e in che modo sono diverse dallo sviluppo di applicazioni web? Quali sono i componenti di una tipica app Shopify e quali sono le tecnologie utilizzate per costruirne una? Scoprite questo processo e lo stack tecnologico di Digismoothie.

Che cos'è un'applicazione Shopify e come costruirla

Una delle domande che riceviamo spesso quando parliamo con gli sviluppatori o i responsabili dell'ingegneria di ciò che facciamo è: cos'è esattamente un'applicazione Shopify e quali strumenti e tecnologie sono necessari per costruirne una? Un'altra domanda frequente è: è un problema se non ho esperienza nella costruzione di applicazioni Shopify?

Rispondiamo a queste domande approfondendo i vari aspetti tecnologici dello sviluppo di applicazioni Shopify.

Se state cercando uno sviluppo Shopify personalizzato, potete rivolgervi ai nostri esperti Shopify o cercare specialisti Shopify su piattaforme freelance.

Come un'applicazione Shopify si confronta con un'applicazione web

Il nostro punto di vista su questo argomento è che un'applicazione Shopify funziona più o meno come un'applicazione web standard, ma è fortemente connessa alla piattaforma Shopify tramite un'API. Questo ha diverse implicazioni:

  • Per costruire un'applicazione Shopify, è possibile utilizzare le stesse tecnologie delle applicazioni web. Non siete vincolati a una tecnologia specifica (anche se l'utilizzo di una tecnologia specifica può rendervi la vita più facile - ci torneremo più avanti).
  • Di solito, è necessario costruire sia il backend che il frontend.
  • Siete responsabili dell'hosting e del funzionamento dell'applicazione.
  • Una volta che l'applicazione è stata approvata da Shopify, anche il processo di rilascio è completamente sotto il vostro controllo.

Dal punto di vista dei commercianti, si può dire che Shopify è un servizio Software-as-a-Service (SaaS), così come le applicazioni Shopify. Ciò significa che un commerciante non deve interagire con alcun tipo di codice per installare la vostra applicazione.

Componenti dell'applicazione Shopify

Identifichiamo tre componenti logici che un'applicazione Shopify tipicamente possiede:

  • Amministrazione del commerciante
  • Elaborazione di webhook
  • Applicazione rivolta al cliente (interfaccia utente del negozio)

Di questi tre, l'ultimo non è necessariamente necessario. Dipende dalla funzionalità che si vuole fornire agli esercenti. Ad esempio, la nostra applicazione Candy Rack è composta da tutti e tre i componenti, mentre Loyal è composta solo dalle prime due parti.

Amministrazione del commerciante

L'amministrazione del commerciante è una dashboard in cui il commerciante imposta e configura l'applicazione. Shopify consiglia di servire l'amministrazione del commerciante all'interno dell'interfaccia di Shopify (la cosiddetta applicazione incorporata). Ciò significa che l'applicazione viene incorporata nell'amministrazione di Shopify tramite iframe.

Le applicazioni incorporate presentano diverse limitazioni:

L'amministrazione del commerciante è anche il primo punto di contatto tra la vostra applicazione e un commerciante, ed è il luogo in cui viene gestito il processo di installazione. L'installazione significa fondamentalmente ottenere i permessi per accedere ai dati del negozio del commerciante tramite OAuth.

È anche la parte dell'applicazione in cui si gestisce la fatturazione nel caso in cui l'applicazione non sia gratuita.

Merchant admin in the Shopify app Candy App
Amministrazione del commerciante

Elaborazione di webhook

I webhook sono il modo in cui Shopify informa la vostra applicazione su vari eventi che si verificano nei negozi in cui è installato: ad esempio, la creazione di un nuovo ordine o l'aggiornamento di un prodotto. Siete voi a decidere quali eventi sottoscrivere.

La logica aziendale che deve essere eseguita in base all'evento ricevuto dovrebbe essere gestita da lavoratori in background. Altrimenti, si rischia di sovraccaricare l'applicazione. Si può anche pensare di delegare la ricezione degli eventi all'esterno dell'applicazione.

Applicazione rivolta al cliente (interfaccia utente del negozio)

Nel caso in cui l'applicazione estenda la vetrina di Shopify (il che significa che offre nuove funzionalità ai clienti del negozio), è necessario "inserirla" nella vetrina. Per farlo, è necessario comunicare a Shopify, tramite un'API, di iniettare la risorsa JavaScript nel negozio frontale. I metodi più diffusi sono due: Script Tag e App Embed Block. Esiste anche la possibilità di estendere il tema del negozio direttamente con alcuni componenti visivi utilizzando i blocchi di app (chiamati anche sezioni di app).

Lo sviluppo dell'applicazione rivolta al cliente potrebbe essere la parte più impegnativa dell'intero processo. Di solito, si estende o addirittura si sovrascrive il comportamento predefinito del front store. In questo caso, è necessario assicurarsi che funzioni su diversi temi di Shopify, con varie impostazioni del negozio e in modo da non rompere nulla in una situazione imprevista. Inoltre, è sempre possibile che altre applicazioni di terze parti interferiscano con la vostra applicazione.

L'interfaccia utente del negozio frontale è anche il punto in cui è necessario prestare attenzione alle prestazioni e alle dimensioni dell'applicazione.

Customer-facing part of the Shopify app Candy Rack
Parte di un'applicazione Shopify rivolta al cliente

L'evoluzione dello sviluppo di applicazioni Shopify

Sebbene vi abbia detto in precedenza che la creazione di un'applicazione Shopify è fondamentalmente lo sviluppo di un'applicazione web, questa affermazione è in realtà vera solo in parte. Nel 2021, Shopify ha introdotto il concetto di estensioni di cassa. Prima di allora, non era possibile estendere le funzionalità del checkout con un'applicazione Shopify. Sotto questo aspetto, l'esperienza dello sviluppatore è diversa rispetto a quella di un'app web, poiché avviene in un ambiente molto limitato (ad esempio, è possibile utilizzare solo una serie specifica di componenti React pre-preparati) e i processi di creazione e rilascio sono gestiti da Shopify.

È possibile che in futuro Shopify si orienti verso questo approccio in altre aree per avere un maggiore controllo sulle applicazioni di terze parti. Di conseguenza, lo sviluppo di applicazioni Shopify si allontanerà ulteriormente dallo sviluppo di applicazioni web.

Lo stack tecnologico di Digismoothie

Vediamo quali sono le tecnologie che utilizziamo in Digismoothie per realizzare le app Shopify.

Backend

Tecnologie di base:

  • Python
  • Framework web Django
  • RQ o Celery
  • PostgreSQL
  • Redis

A volte utilizziamo anche:

  • Flask
  • FastAPI

Frontend

  • React (a volte usiamo Preact per le applicazioni rivolte ai clienti per motivi di prestazioni)
  • Tailwind + componenti stilizzati
  • Query React
  • UI Polaris

Comunicazione backend-frontend

Il modo in cui comunichiamo dipende dal caso d'uso e dal prodotto. Le seguenti tecnologie fanno parte del nostro stack tecnologico:

  • GraphQL
  • API REST
  • Web socket
  • Inerzia

Infrastruttura

La nostra strategia consiste nell'utilizzare soluzioni gestite

  • Heroku
  • Vercel
  • Cloud Flare
  • AWS

Per saperne di più sulle tecnologie che utilizziamo, consultate la nostra knowledge base.

Typical architecture of Shopify applications by Digismoothie
Architettura tipica delle applicazioni Shopify di Digismoothie

Conclusione

Spero che abbiate appreso cosa significa costruire un'applicazione Shopify da un punto di vista tecnico e quali tecnologie possono essere utilizzate.

Infine, torniamo alla domanda posta all'inizio. È un problema per un ingegnere con un background nello sviluppo web entrare in un team che lavora su applicazioni Shopify? Direi proprio di no. Se un ingegnere ha una buona conoscenza dei concetti e delle tecnologie utilizzate nello sviluppo di applicazioni web moderne, può entrare in gioco molto rapidamente. La conoscenza degli ecosistemi e delle API di Shopify arriverà passo dopo passo.

Avviate il vostro negozio Shopify gratuitamente e pagate solo 1 dollaro per il primo mese

Michal Majsky

Michal è un ingegnere con esperienza in applicazioni web, API e sviluppo backend. In Digismoothie, è responsabile del team di ingegneri. È anche un grande fan dell'approccio remoto e asincrono al lavoro.
Try for freeCandy Rack preview

Ultimi articoli

Tutti gli articoli

Potenzia la tua attività su Shopify con le nostre app

Tutte le nostre app sono progettate per aiutarti a far crescere la tua attività su Shopify. Dai un'occhiata e approfitta del periodo di prova gratuito.

Potenzia il mio Shopify