Blog di Shopify

Come creare un'app Shopify in una settimana

Come creare un'app Shopify in una settimana

In molti si chiedono come creare un’app, per le finalità più diverse. Nel corso degli anni i nostri Esperti hanno ricevuto richieste di sviluppo inconsuete. Una delle più particolari era quella di un cliente che voleva un clone di Windows XP compatibile al 100% con Windows. Ah, e aveva un budget di 200 dollari.

Scherzi a parte, non tutte le richieste bizzarre dei clienti sono campate in aria. Alcune sembrano strane a voi, ma si fondano su un problema reale.

Un’idea apparentemente folle può nascere per via del metodo di lavoro unico di un’azienda; e magari la sua attuazione potrebbe fruttare al cliente un valore aggiunto enorme. Non dovreste ignorare a priori le richieste che vi sembrano assurde, specie se è evidente che sono nate dopo un’attenta riflessione.

Ad alcuni potrebbe sembrare strano, ma i nostri Partner ricevono regolarmente dai clienti richieste di app Shopify costruite su misura.

Oggi vedremo come creare un’app Shopify in una settimana. Vi dimostreremo che creare app Shopify personalizzate non è poi così assurdo o difficile. In realtà, potrebbe anche essere l'opzione migliore per risolvere i problemi del vostro cliente.

“Non si può cavare sangue da una rapa”

Spesso un cliente richiede un'app personalizzata dopo aver cercato inutilmente di risolvere il suo problema cambiando il tema o provando decine di app dell'App Store.

Magari il tema non aveva le funzionalità necessarie e le app offrivano soluzioni troppo generiche. O semplicemente, il cliente non aveva sufficienti competenze.

A volte riuscite a percepire quanto il problema sia pressante per il cliente attraverso la sua voce e i suoi messaggi. Recentemente un cliente ha confessato a un nostro sviluppatore:

Ho provato tutte le app esistenti e sono impazzito per cercare di capire come combinare app/codici/metodi per ottenere un risultato di questo tipo”.

Quando avete un solo strumento

Una delle ragioni per cui talvolta mostrate istintivamente una chiusura verso le richieste inconsuete è che tendete a restare nella vostra comfort-zone. Se vi occupate solo della creazione di temi Shopify, è facendo questo che cercherete di risolvere i problemi dei clienti. Qualsiasi richiesta al di fuori di questo ambito vi creerà tensione e difficoltà.

Lo stesso vale per gli sviluppatori back-end, per gli sviluppatori front-end e per chiunque altro abbia acquisito conoscenze specialistiche.

È naturale fare ricorso allo strumento con il quale si ha più dimestichezza per risolvere il problema del cliente; soprattutto quando non si conosce uno strumento migliore.

Ma creare un’app non è difficile?

Creare delle app personalizzate potrebbe sembrare difficile. Non serve un team di sviluppatori e molto tempo per svilupparle?

Sicuramente anche voi conoscerete qualcuno che ha passato mesi o anni a lavorare su un’app di sua invenzione (prevedendo di lanciarla il mese successivo e poi facendo costantemente slittare il termine).

Fortunatamente però per ogni team di esperti che impiega mesi a creare un'app, c'è uno sviluppatore solitario che lo fa rapidamente in poche notti o in qualche fine settimana di lavoro. A volte, anche in una sola settimana.

Come creare un’app da zero in una settimana: il procedimento

Ora vi illustreremo come creare un’app da zero. In particolare vi indicheremo il procedimento per realizzare un’app di Shopify destinata alla pubblicazione nell’App Store. Comunque potrete seguire gli stessi passaggi anche per costruire delle app private per i vostri clienti.

Forse conoscerete le API di Shopify e avrete già lavorato sulle app dei clienti. Ma un conto è apportare modifiche al codice di un’app esistente e funzionante, un conto invece è iniziare da zero.

Il punto è che dovete creare e avere i diritti su ogni parte dell’app, dall'autenticazione, ai pagamenti, all'interfaccia utente.

Ponetevi una sfida: dedicare un’intera settimana di lavoro esclusivamente allo sviluppo dell’app, riuscendo a completarla e a lanciarla prima del weekend. Entro il venerdì pomeriggio dovrà essere pronta per l’installazione da parte dei merchant.

Come creare un’app Shopify in una settimana: la fase di progettazione

Come creare un'app Shopify in una settimana

Dato il tempo limitato, non immergetevi subito nello sviluppo. Facilmente finireste per perdere tempo costruendo funzioni inutili, provando nuovi strumenti o girovagando su YouTube.

Piuttosto, concentratevi. Non vi basterà evitare le distrazioni, ma dovrete lavorare in modo mirato sulle funzioni effettivamente necessarie per l'app.

Prima che abbia inizio la settimana di sviluppo pianificata, sedetevi e delineate esattamente le funzionalità che l'app dovrebbe avere (e quelle che non dovrebbe avere). Create una roadmap rispondendo a ciascuna delle seguenti domande:

  • Qual è lo scopo dell’app?
  • Quali funzionalità dovrà includere?
  • Quanto tempo servirà per creare ciascuna funzionalità e qual è il programma?

È fondamentale che rispondiate a queste domande. Con soli cinque giorni a disposizione, ogni passaggio superfluo che riuscirete a eliminare sarà prezioso tempo guadagnato.

1. Determinate lo scopo dell’app

Prima di ogni altra cosa dovreste chiedervi:

  • Qual è lo scopo dell’app?
  • Perché la costruite?
  • In che modo sarà utile al merchant o al vostro cliente?

Se l’app è per un cliente

In tal caso sarà abbastanza facile rispondere a queste domande. (Mi raccomando, come risposta non vale “mi hanno chiesto di costruire l’app”).

Non dovrete far altro che porre delle domande al cliente.

Dopodiché verificate le risposte con qualche altra domanda. Indagate sulle ragioni della richiesta del cliente. E identificate gli obiettivi aziendali collegati all'app.

La conversazione con il cliente potrebbe essere simile a questa:

Cliente: Ci serve un'app che aggiunga uno sconto personalizzato a questi prodotti.

Voi: Perché a questi prodotti?

Cliente: Sono quelli che dobbiamo mettere in liquidazione.

Voi: Perché dovete metterli in liquidazione?

Cliente: Non si riescono a vendere bene e ci serve lo spazio in magazzino per una nuova linea di prodotti.

Voi: Una volta che avrete un'app per gli sconti personalizzati, come promuoverete quei prodotti? Come vi assicurerete che vengano notati?

Cliente: Beh… saranno più economici, quindi la gente li comprerà.

Voi: Anche con uno sconto personalizzato, non sarà facile trovare quei prodotti nel vostro catalogo. Perché non provare con delle vendite flash a prezzi personalizzati, promuovendo ognuno di quei prodotti in modo molto incisivo per un giorno? Così potrete smaltire l’intero inventario nel giro di pochi giorni.

Scoprire il perché di una richiesta è fondamentale. A volte (come nell’esempio qui sopra) realizzerete che la richiesta del cliente non corrisponde affatto alle sue reali necessità. E sono queste ultime che dovrete tenere presenti per lo sviluppo dell’app.

Se l'app non è per un cliente

Se l'app non è per un cliente, ma volete pubblicarla e venderla tramite l'App Store di Shopify, dovrete fare qualche ricerca di mercato per scoprire le esigenze e i desideri di cui abbiamo parlato. Ad esempio, potreste intervistare alcuni commercianti o raccogliere appunti sui problemi di cui hanno scritto in passato.

Qualunque sia la fonte, indagate fino a poter esprimere in modo lineare le finalità dell’app da costruire. Ad esempio:

Il progetto è volto a sviluppare un'app Shopify semplificata al massimo per consentire ai merchant di [obiettivo]”.

L’obiettivo diventa il filtro che utilizzerete per lo sviluppo. Lavorate solo sulle funzioni direttamente necessarie allo scopo previsto o sugli elementi che vi permettono di implementare tali funzionalità. Tutto il resto andrà accantonato o rimandato.

2. Elencate le funzionalità dell’app

Dopo aver determinato lo scopo dell’app, fate un brainstorming sulle funzionalità da creare. In questa fase, scrivete ogni idea che trovate, usando tutte le fonti possibili. Non limitatevi e per il momento non preoccupatevi della timeline. Raccogliete quante più idee possibile, per adesso senza focalizzarvi sulla loro qualità.

Una volta che avrete un elenco di funzionalità e avrete fatto il brainstorming, sarà il momento delle valutazioni. Confrontate ogni idea con lo scopo dell'app. Conservate solo quelle che soddisfano tale scopo.

Ricordate: state cercando qualcosa di semplice e minimal. Potete sempre tornare in seguito a espandere l'elenco di funzionalità dell'app, dopo lo sviluppo della sua prima versione.

Con i clienti, questa si potrebbe definire la “fase beta” del progetto. La prima versione non sarà perfetta, ma darà ai clienti il vantaggio di poter usare l’app in tempi più brevi, senza dover attendere magari sei mesi per l’app completa. Con questa operazione, spesso il cliente si rende conto che molte delle funzionalità posticipate alla seconda fase non sono realmente necessarie.

3. Create una timeline

Il passaggio successivo della progettazione è riassumere ogni funzionalità e stabilire delle tempistiche approssimative per ciascuna. Se non siete sicuri della vostra capacità di costruire una certa funzione o siete preoccupati di qualche altro aspetto, assicuratevi che le vostre previsioni lo riflettano.

Una buona idea è esprimere i tempi previsti sotto forma di un intervallo entro il quale dovreste riuscire a terminare. Includete anche una percentuale per esprimere quanto credete di riuscire a rispettare quelle tempistiche. Ad esempio:

  • Funzionalità A: 1-2 giorni. Fiducia 90%. Significa che molto probabilmente lo sviluppo vi richiederà 1 o 2 giorni.
  • Funzionalità B: 1-7 giorni. Fiducia 50%. Significa che lo sviluppo potrebbe rivelarsi facile e richiedere un solo giorno; ma potreste anche incontrare delle difficoltà e impiegare fino a sette giorni. Inoltre c’è un'alta probabilità che impiegherete anche più di sette giorni.

Eliminando le funzionalità non essenziali, dovreste ridurre le tempistiche previste per lo sviluppo a circa 4 giorni. Così rientrerete ampiamente nel tempo preventivato di una settimana.

4. Utilizzate strumenti di terze parti

Completata la roadmap, sarete pronti a iniziare con lo sviluppo.

Lunedì mattina avviate il vostro ambiente di sviluppo aprendo un file di codice vuoto e iniziando a digitare il più velocemente possibile. O meglio ancora...

Con una timeline così ridotta, anziché scrivere tutto da zero, partite da un modello preimpostato in modo da velocizzare le cose.

Dove trovarlo? Shopify offre molte librerie di integrazione. Se sviluppate in Ruby on Rails forse sfruttate già la vasta libreria shopify_app. Vi fornisce uno scheletro per l’app, gestendo per voi gran parte dell’integrazione con Ruby on Rails.

Prima di iniziare con lo sviluppo, già nella fase di pianificazione, cercate di mettere insieme alcuni strumenti e risorse per ridurre ulteriormente il vostro carico di lavoro. Non pianificate il vostro flusso di lavoro facendo affidamento su librerie sconosciute; semmai vedetele come un bonus extra, nel caso dovessero funzionare.

Come creare un’app Shopify in una settimana: la fase di sviluppo

1. Autenticazione dell'app

Con alcuni strumenti a portata di mano, eccovi pronti a iniziare.

Per tutti gli sviluppatori di app, la prima cosa di cui occuparsi è l’integrazione con il sistema di autenticazione e autorizzazione Shopify. La libreria shopify_app è utile a tale scopo, ma dovrete comunque dedicare del tempo alla configurazione e ai test.

Esistono due metodi che Shopify usa per l'autenticazione/autorizzazione:

  1. OAuth
  2. Chiave API e password per app private

OAuth è usato da tutte le app pubblicate nell’App Store. Offre ai merchant un metodo del tutto sicuro per autorizzare l’app su Shopify, senza necessità di fornire all’app stessa il nome utente e la password del negozio.

D'altra parte, ogni negozio ha la possibilità di creare app private, con una chiave API e una password. Tramite queste credenziali le app private hanno pieno accesso ai dati del negozio.

Se volete creare un'app pubblica dovete usare OAuth, il che è più complesso. Anche con l'aiuto di shopify_app e con tutta la documentazione fornita da Shopify, far funzionare correttamente l’autenticazione può essere un lavoro fastidioso.

Ma non arrendetevi finché non riuscirete a far funzionare l'autenticazione. Anche se questo è il primo passo dello sviluppo vero e proprio, è uno dei più difficili. Una volta superato questo scoglio, il resto del lavoro sarà (abbastanza) facile.

Se non riuscite, cercate nei forum di Shopify e fate domande lì. Spesso una semplice correzione è sufficiente per risolvere i problemi di autenticazione.

2. Non create un'app privata

Come creare un'app per un cliente? Potreste essere tentati di creare un'app privata per saltare la fase di OAuth e l’app sarebbe in grado di autenticarsi immediatamente.

Tuttavia vi sconsigliamo di creare un’app privata. Anche se è più facile da configurare, presenterà un serie di limiti:

  • Per condividere l'app con più negozi, dovrete ricreare ogni volta tutto il codice o ospitare più copie dell'app.
  • L'app ha pieno accesso in lettura e scrittura al negozio, il che comporta un rischio significativo.

Piuttosto vi consigliamo di usare il protocollo OAuth. Semmai create un'app come se fosse destinata all’App Store e poi non pubblicatela. Definiamo queste le “app non elencate”.

In questo modo, il vostro cliente potrà installare l'app come qualsiasi altra.

Per una protezione aggiuntiva, durante il processo di installazione dell'app potete controllare l'url del negozio e se non è uno degli url del cliente, potete rifiutare il processo di installazione. Per shopify_app, mettete qualcosa di simile al codice qui sotto in sessions_controller.rb:

Anche se è importante pensare a quale modalità di autenticazione utilizzare, non preoccupatevi troppo. Sarete in grado di passare dall'autenticazione OAuth all'autenticazione delle app private in un secondo momento. Dovrete migrare i dati e fare alcune modifiche di configurazione per far funzionare l’app, ma non è impossibile.

Sei pronto a creare la tua App Shopify?

Iscriviti al Programma Partner di Shopify e inizia a costruire un'app oggi stesso.

Inizia ora

3. Come far funzionare OAuth

Come far funzionare OAuthQuando utilizzate OAuth, una delle configurazioni da non sbagliare è quella degli ambiti. Un ambito è quello che Shopify usa per permettervi di accedere a specifiche API. Per esempio, se avete bisogno di elaborare gli ordini, allora vi occorre l’ambito read_orders Per aggiungere nuovi clienti, vi occorrono gli ambiti read_customers e write_customers.

Se non scegliete gli ambiti giusti, avrete problemi in seguito quando cercherete di eseguire l’accesso. Non è divertente scoprire perché un'API non funziona; specialmente quando avete dimenticato di aggiungere l’ambito alcuni giorni (o settimane) prima.

Focalizzate a quali ambiti dovrete accedere, in base alle funzionalità dell’app.

Una volta che la configurazione di OAuth è completata e opera correttamente, sarete pronti a lavorare sulle effettive funzionalità dell'app.

4. Quando servono gli account utente?

Nella roadmap potreste aver pianificato di aggiungere all’app degli account utente e un modo per il negozio di gestirli. Questo per consentire al proprietario del negozio di dare accesso all’app a chiunque nel proprio team.

Ma attenzione: potreste lavorare molto con OAuth su tale funzione per poi accorgervi che non porta un valore aggiunto al merchant.

OAuth impedisce agli utenti non autorizzati di accedere all'app; in sostanza, un utente deve avere accesso al pannello di controllo Shopify e in caso contrario non ha accesso all’app; questo significa che serve un account Shopify valido. In definitiva può essere davvero poco importante creare degli account utente separati.

Eliminando lo sviluppo di questa funzione, sarete in grado di risparmiare mezza giornata di lavoro. E non solo, ma semplificherete la gestione dell’app per il merchant. A questo punto, l’interfaccia utente dell'app potrà concentrarsi esclusivamente sull'installazione.

Suggerimento pro: Siate aperti alle modifiche migliorative anche quando la fase di sviluppo è già in corso. Concentratevi sulla semplificazione più che sull'aggiunta di nuove funzionalità.

5. Installazione dell’app

Concentratevi sulla semplificazione anche per quanto riguarda l'installazione dell’app. Idealmente, dovreste offrire al merchant l’installazione automatica.

6. Sviluppo delle funzionalità e sfide

Nello sviluppo delle funzionalità previste nel vostro piano potreste dover affrontare delle sfide tecniche.

Per risolvere alcune di esse, potrete contare sulla libreria shopify_app. Ma specialmente per le funzioni nuove potrebbe non esserci alcuna libreria esistente. In questo caso dovrete scriverne una voi.

Il problema è che scrivere una nuova libreria non è sempre l’ideale. Può comportare uno slittamento dei tempi previsti. Per giunta il codice potrebbe non fornire alcun valore aggiunto al commerciante.

Suggerimento pro: Quando lavorate su un'app e si presentano dei problemi, non perdete la calma. Provate a individuare un piano B, una soluzione o un altro modo per risolvere il problema. Di solito esiste più di un metodo per sviluppare qualsiasi funzionalità.

7. Ridurre i rischi

L’aggiunta di alcune funzionalità previste potrebbe comportare dei rischi. Ad esempio, l’installazione dell’app potrebbe danneggiare il negozio.

La vostra filosofia dovrebbe essere quella di ridurre al minimo i rischi. Perciò create una copia di backup del template del negozio, mettendovi al riparo nel caso dovesse occorrere un ripristino.

Inoltre eseguite una serie di test automatici e manuali. Verificate che l’app funzioni, anche con temi diversi.

Vi basterà una settimana?

Idealmente dovreste riuscire a sviluppare e installare l’app entro il giovedì sera. Così avrete l’intera giornata di venerdì per rivedere il codice, eseguire i test, configurare i server di produzione e lanciare ufficialmente l’app.

Dopo la settimana di sviluppo, potrebbero occorrervi diverse ore di lavoro extra per ottenere la pubblicazione dell’app nell’App Store di Shopify. A tal fine dovrete scrivere la descrizione dell’app, preparare i materiali di marketing e collaborare con l'App Team di Shopify per ottenere l'approvazione della vostra app.

Come creare un'app Shopify in una settimana: gli insegnamenti acquisiti

In questo articolo su come creare un’app in una settimana sono emersi una serie di punti importanti. Ricapitoliamoli:

Imparare come creare un’app Shopify non è alla portata di tutti.

Solo se avete esperienza come sviluppatori o potete fare esperienza, per voi costruire un'app Shopify non sarà eccessivamente difficile. Come per lo sviluppo di qualsiasi software, la creazione di app Shopify presenta difficoltà specifiche; tuttavia non si tratta di acquisire una nuova skill da zero. Se siete in grado di sviluppare un’applicazione web e sapete utilizzare le API REST, capirete senza troppe difficoltà come creare un’app Shopify.

Creare un’app Shopify piccola e specifica può richiedere pochissimo tempo.

Ad esempio, se avete un cliente che necessita di un’app personalizzata e siete in grado di lavorare a stretto contatto con lui, potreste riuscire a individuare le sue esigenze rapidamente e creare un’app mirata in tempi brevi.

Occorre una profonda comprensione delle esigenze effettive dei merchant.

Non importa se dovete creare un’app per un cliente o per l'App Store; in ogni caso prendetevi il tempo per scoprire di cosa hanno realmente bisogno i merchant. Non fermatevi superficialmente a quanto viene richiesto. Indagate sulle reali esigenze commerciali che l’app deve risolvere. Più sarà accurata la vostra indagine, maggiori saranno le probabilità che l’app abbia successo.

Dopo aver creato un piano, occorre ridurlo all’essenziale.

Una volta scoperte le esigenze a cui dovrà rispondere l’app, prendetevi il tempo per pianificare come soddisfarle. Create un elenco di possibili funzionalità e i tempi stimati per implementarle. Cercate di semplificare al massimo il progetto, focalizzandovi sulla risoluzione del problema principale per il quale costruite l'app.

Meglio pensare a un piano B per le parti più rischiose del piano, in modo da non rimanere bloccati.

Per qualsiasi parte rischiosa o altamente incerta del piano, fate brainstorming per trovare idee e soluzioni alternative, nel caso le cose dovessero non andare come previsto. Sapere di poter ricorrere a queste opzioni, se necessario, vi aiuterà molto a superare gli eventuali problemi di sviluppo che dovessero presentarsi.

Non bisogna aver paura di modificare il piano iniziale se ciò consente di soddisfare maggiormente gli utenti.

In tale ottica, siate pronti a eliminare completamente delle parti del vostro piano che non sono funzionali allo scopo principale dell'app. Questo può tradursi nell'abbandono di una funzionalità superflua o nell’introduzione di un cambiamento nel funzionamento dell’app per agevolare gli utenti.

Ricordate il vostro obiettivo

Vi chiedevate come creare un’app in una settimana? Ora dovrebbe esservi chiaro: il segreto è focalizzarvi costantemente sulle esigenze dell'utente finale.

Tutte le app di Shopify nascono in vista di un qualche vantaggio per i merchant. Se cercate di essere empatici e guardare le cose nell’ottica dei merchant, di sicuro la vostra app sarà un successo.

Sei pronto a creare la tua App Shopify?

Iscriviti al Programma Partner di Shopify e inizia a costruire un'app oggi stesso.

Inizia ora


Articolo originale di Eric Davis, tradotto da Maria Teresa Cantafora.
Argomenti: