Trace Id is missing
Passa a contenuti principali
Azure
persona che usa un telefono cellulare

Che cos'è lo sviluppo di applicazioni per dispositivi mobili?

Esplorare i processi e il software usati per sviluppare app per dispositivi mobili.

Creazione di software per dispositivi mobili

La definizione di sviluppo di applicazioni per dispositivi mobili può essere ampia, che comprende tutti i processi coinvolti nella creazione e nel rilascio di un'app per dispositivi mobili, o specifica, che fa riferimento alla codifica e alla distribuzione dell'app. Questo articolo illustra entrambe le definizioni di sviluppo di app per dispositivi mobili e si concentra in particolare sulla definizione dello sviluppo di app per dispositivi mobili per le persone che prendono decisioni in merito o sono responsabili del modo in cui viene creato il software stesso.

Per definire lo sviluppo di applicazioni per dispositivi mobili, è necessario iniziare definendo i dispositivi mobili, che in questo caso fanno riferimento a dispositivi elettronici portatili, ad esempio smartphone, tablet, portatili, smart watch, lettori e console di gioco portatili. Per applicazione, si intende non solo il software nativo di tali dispositivi, ma anche i sistemi operativi, le piattaforme e i linguaggi comuni supportati da tali dispositivi. Come si apprenderà, esistono molti modi diversi per affrontare lo sviluppo di app per dispositivi mobili e molte decisioni da prendere.

Persona seduta sul divano e che usa il controller di gioco con le cuffie
Donna che scrive su una lavagna bianca con marcatore

Processo di sviluppo di applicazioni per dispositivi mobili

Il processo per la creazione e il rilascio di app per dispositivi mobili è spesso compreso in una serie di passaggi o fasi. Queste fasi del processo di sviluppo di app per dispositivi mobili coinvolgono molte persone e discipline diverse all'interno di un'organizzazione, tra cui business, marketing, progettazione e progettazione. Le fasi del processo di sviluppo di app per dispositivi mobili sono:

  • Strategia
  • Pianificazione
  • Progettazione
  • Sviluppo
  • Test
  • Rilascio

Quanto tempo è necessario per creare un'app per dispositivi mobili?

Le organizzazioni trascorrono da tre mesi a nove mesi, o più a lungo quando necessario, per lo sviluppo di applicazioni per dispositivi mobili. L'ambito e le funzionalità di un'app influiscono tutti sulla sequenza temporale del processo di sviluppo di app per dispositivi mobili.

Strategia

Il processo di sviluppo di applicazioni per dispositivi mobili inizia con la comprensione del motivo per cui un'app per dispositivi mobili può essere una buona soluzione a un problema o un approccio a un'opportunità e quindi decidere cosa creare e come. Nella fase di strategia, le organizzazioni stabiliranno gli obiettivi e le misure di successo dell'app, analizzeranno il mercato e la concorrenza, ricercheranno le esigenze dei clienti e determineranno quali utenti e casi d'uso verranno usati dall'app. Nella fase di strategia, le organizzazioni potrebbero anche iniziare a esplorare quali piattaforme di sviluppo di app per dispositivi mobili funzionerebbero meglio con i propri obiettivi e requisiti. È in questa fase che anche le organizzazioni iniziano a prendere in considerazione il marketing relativo al rilascio dell'app.

Pianificazione

Nella fase di pianificazione, le organizzazioni accettano quattro dettagli chiave del processo di sviluppo di app per dispositivi mobili: team, strumenti, tecnologie e sequenze temporali. A questo punto, hanno un'idea del tipo di app per dispositivi mobili che devono creare, di chi creerà l'app e della piattaforma o delle piattaforme che useranno. Durante questa fase, le organizzazioni definiranno una roadmap del prodotto, decidendo quali funzionalità verranno compilate in base all'ordine e al momento, impostano le attività cardine e progettano un piano di progetto che consentirà loro di soddisfare la data di rilascio prevista. Conoscere le risorse e le competenze disponibili e comprendere come implementare la tecnologia scelta per il processo è fondamentale per determinare tale data e ottenere il rilascio.

Progettazione

L'aspetto, le funzionalità e la funzione dell'app per dispositivi mobili iniziano a prendere forma durante la fase di progettazione. In questa fase del processo di sviluppo di app per dispositivi mobili, i team eseguirà il grafico dell'esperienza utente e creeranno le interfacce utente e gli stati dell'app con diverse fedeltà. Possono iniziare con modelli a bassa fedeltà per fornire un modello di verifica o raccogliere il feedback dei clienti in una fase iniziale. Gli sviluppatori e i tecnici possono contribuire a creare prototipi o consulenza sulle decisioni relative all'esperienza utente e all'interfaccia utente in questa fase, mantenendo i team al corrente dei requisiti e delle specifiche tecniche delle piattaforme che l'organizzazione ha scelto di usare. In questo modo, le organizzazioni che passano a schermi ad alta fedeltà hanno progettato un'app che può essere effettivamente creata.

Sviluppo

La parola sviluppo in questo contesto a volte fa riferimento all'intero ciclo di vita dello sviluppo software coinvolto nella creazione e nel rilascio di un'app per dispositivi mobili. Più comunemente, tuttavia, lo sviluppo significa questa fase di sviluppo software dello sviluppo di app per dispositivi mobili. Questa fase verrà definita in modo più completo più avanti nell'articolo. Per il momento, questa fase è meglio descritta come il passaggio in cui i team stabiliscono l'architettura tecnica e lo stack tecnologico, inclusi il front-end, il back-end e le API, impostano attività cardine di sviluppo, determinano il ciclo di vita di sviluppo per l'app e codificano l'app.

Test

Il test è una fase fondamentale del processo di sviluppo di applicazioni per dispositivi mobili. Senza test, le organizzazioni non possono essere certi che la propria app sarà sicura, che funzionino nel modo che gli utenti hanno bisogno e si aspettano e funzionino dove la distribuiscono. Durante questa fase, i team forniscono la garanzia della qualità, creando test case per valutare l'usabilità, le prestazioni, la stabilità e la sicurezza dell'app in tutti i dispositivi su cui l'app è progettata per l'esecuzione. Le organizzazioni spesso eseguono test di stress dell'app per garantire che l'architettura dell'applicazione possa essere ridimensiona per soddisfare una domanda improvvisa e intensa.

Rilascio

La fase finale del processo di sviluppo di applicazioni per dispositivi mobili è il rilascio. Dopo la distribuzione dell'app, l'organizzazione fornisce supporto ai clienti che la usano e monitoraggio e manutenzione continui per garantire che l'app sia disponibile e funzioni come previsto. Le campagne di marketing e i movimenti per incoraggiare l'adozione dell'app spesso coincidono con questa fase. Se l'organizzazione decide di apportare miglioramenti o modifiche all'app che esulano dall'ambito delle modifiche che il ciclo di vita di sviluppo è in grado di gestire, può decidere di avviare di nuovo il processo di sviluppo di app per dispositivi mobili.

Una persona che usa un telefono cellulare con desktop sul tavolo

Sviluppo di software nel processo di sviluppo di app per dispositivi mobili

Questa prima attività della fase di sviluppo consiste nel definire l'architettura tecnica dell'applicazione per dispositivi mobili. Spesso confusa con lo stack tecnico, che include il front-end, il back-end e le API, l'architettura tecnica è costituita dalle regole e dai modelli che regolano lo sviluppo dell'applicazione per dispositivi mobili.

Architettura tecnica

L'architettura tecnica è spesso concepita in tre livelli:

Livello di presentazione

Questo è il livello dell'app con cui il cliente vede e interagisce. Il livello di presentazione include l'interfaccia utente e tutti gli elementi dell'app che costituiscono l'esperienza utente.

Livello di business

La logica che regola i flussi di lavoro, lo scambio di dati e le operazioni risiede nel livello business. Gli aspetti principali dell'app per dispositivi mobili, ad esempio la sicurezza, la memorizzazione nella cache, la registrazione e la gestione delle eccezioni, vengono gestiti in questo livello.

Livello di dati

Il livello dati soddisfa i requisiti dell'applicazione stessa, fornendo utilità per i dati, componenti di accesso ai dati e helper o agenti di servizio. È anche il livello che convalida e gestisce i dati e supporta le transazioni dei dati.

Stack di tecnologie

Analogamente, lo stack tecnologico, o stack tecnico, è costituito anche da tre parti, come indicato. Tuttavia, queste parti rappresentano scelte specifiche usate per compilare e supportare l'app anziché linee guida per la creazione.

Front-end

Analogamente al livello di presentazione, gli strumenti e i linguaggi usati per codificare il front-end dell'app per dispositivi mobili dipendono in larga misura dai dispositivi in cui verrà distribuita l'app. Sono disponibili molte opzioni e la maggior parte dei dispositivi mobili ha lingue specifiche native.

Back-end

Il back-end è la parte dell'app che include il database e altri oggetti simili che risiedono in un server e supportano le funzioni dell'app per dispositivi mobili. I team sono meno interessati ai dispositivi quando si tratta di scegliere le tecnologie back-end per dispositivi mobili e spesso possono trovare soluzioni back-end predefinite.

API

L'app comunica tra il back-end e il front-end tramite l'API, che consente anche all'app di integrarsi e interagire con altre app e servizi.

Tuttavia, prima che i team possano scegliere il proprio stack tecnico o persino stabilire l'architettura tecnica, devono prima decidere quale tipo di app per dispositivi mobili stanno creando.

Una persona che controlla le statistiche sul tablet

Tipi di app per dispositivi mobili

Per quanto riguarda lo sviluppo di app per dispositivi mobili, le organizzazioni hanno diversi tipi di app per dispositivi mobili tra cui scegliere. In questo caso, il tipo di app per dispositivi mobili non fa riferimento a ciò che l'app consentirà agli utenti di eseguire, ma alla modalità di compilazione dell'app.

App native

Le app specifiche di un determinato dispositivo o piattaforma, ad esempio Android o iOS, sono denominate app native. Queste app vengono eseguite direttamente nel sistema operativo del dispositivo, usano i linguaggi e i framework forniti dalla piattaforma e vengono distribuite tramite lo store o il marketplace specifico per il sistema operativo. Le app native hanno in genere accesso completo a tutte le funzionalità e l'hardware dei dispositivi in cui vengono eseguite.

App multipiattaforma

Teams può scrivere codice nell'app nei linguaggi e nei framework di propria scelta e quindi compilare il codice per ogni sistema operativo su cui l'app deve essere eseguita usando piattaforme come Xamarin. Le app multipiattaforma, come vengono chiamate, consentono ai team di eseguire su molti dispositivi diversi e riutilizzare gran parte del codice, anche se il bridging del codice richiede più lavoro rispetto allo sviluppo per una sola piattaforma.

App Web progressive

Analogamente alle applicazioni Web, le applicazioni Web progressive vengono eseguite in browser per dispositivi mobili e vengono in genere compilate usando JavaScript, CSS e HTML5. Ciò che rende progressive le app Web è la possibilità di fornire notifiche push, movimenti tocco migliori e interazione hardware usando funzionalità avanzate del browser. Non sono disponibili SDK che consentono di creare app Web progressive, ma possono essere distribuite senza passare attraverso un marketplace.

Applicazioni ibride

Una combinazione tra app native e app Web progressive, le app ibride sono essenzialmente contenitori codificati in modo nativo che eseguono applicazioni Web. Questa combinazione consente all'app di accedere più alle funzionalità e all'hardware dei dispositivi ed eseguirla su più tipi di dispositivi, mantenendo al tempo stesso una singola codebase. Per tutti i vantaggi, le app ibride in genere non raggiungono le prestazioni di altri tipi di app per dispositivi mobili.

Tipo di app per dispositivi mobili da compilare

Il tipo di app per dispositivi mobili che un'organizzazione sceglie di compilare ha implicazioni su strumenti, piattaforme, framework, lingue disponibili per i team, distribuzione dell'app, numero di codebase da gestire, dispositivi su cui verrà eseguita l'app e persino su cosa può fare l'app.

Quando si decide il tipo di app per dispositivi mobili da compilare, è utile considerare chi saranno gli utenti e di cosa hanno bisogno dall'app. Ad esempio, se usano principalmente un tipo di dispositivo o sistema operativo, un'app nativa potrebbe essere la migliore. Le app che non si basano su sensori hardware o GPS possono essere particolarmente adatte come app Web progressive o app ibride, ma forse non se gli utenti non hanno una buona connettività. Se gli utenti sono membri dell'azienda o dell'organizzazione, è consigliabile prendere in considerazione una strategiaper dispositivi mobili diversa. Naturalmente, tutto dipende dalle competenze disponibili all'interno dell'organizzazione o tramite un partner.

Questo grafico illustra più differenze e analogie tra i diversi tipi di app per dispositivi mobili per aiutare a valutare il tipo di app da sviluppare.

Due persone che parlano in una sala

Confronto tra i tipi di app per dispositivi mobili

App native App multipiattaforma App Web progressive Applicazioni ibride
Numero di codebase Uno per piattaforma Uno, ma compilato per ogni piattaforma Un totale Uno per l'app, un altro per il contenitore
Linguaggi e framework Solo nativa Scelta del team Solo Web Web e nativo
Accesso a SDK e API No Limitata
Prestazioni Massime Alte Minima Basse
Accesso all'hardware del dispositivo Soluzione completa Maggior parte Molto poco In parte
Velocità di risposta all'input dell'utente Buono Buono Peggiore Scarsa
Interattività Alte Alte Minima Basse
Uso delle risorse del dispositivo Alte Alte Basse Medio
Richiede la connettività No No
Costo per la compilazione e la manutenzione Massime Alte Minima Inferiore
Posizione in cui è archiviata l'app Dispositivo Dispositivo Server Dispositivo e server
Distribuito tramite Marketplace Marketplace Browser Marketplace
Richiede l'approvazione esterna No

Software e piattaforme di sviluppo di applicazioni per dispositivi mobili

Dopo aver stabilito il tipo di app per dispositivi mobili che si intende compilare, o se si sta valutando il tipo, è consigliabile valutare le piattaforme di sviluppo di app per dispositivi mobili. Queste sono le piattaforme di sviluppo di app che verranno usate per sviluppare, compilare, testare, eseguire il debug, gestire e in alcuni casi anche distribuire app per dispositivi mobili per tutto il ciclo di vita. La maggior parte del software di sviluppo di app include strumenti front-end per creare l'interfaccia, strumenti back-end per gestire dati, strumenti API, strumenti di test e strumenti per la collaborazione e l'analisi del codice.

La maggior parte delle piattaforme di applicazioni per dispositivi mobili mira a fornire tutto ciò che serve a uno sviluppatore per creare un'applicazione per dispositivi mobili. Ciò consente agli sviluppatori di evitare problemi durante lo spostamento tra parti diverse di software di sviluppo per dispositivi mobili e di gestire i problemi che si verificano tra loro, ad esempio l'integrità del codice, le incompatibilità e la perdita di dati. Le piattaforme di sviluppo di app per dispositivi mobili riducono anche i costi, il tempo, le risorse e le competenze necessarie a un'organizzazione per creare un'app per dispositivi mobili. Anche se alcune organizzazioni scelgono di creare piattaforme personalizzate, molte altre scelgono una delle numerose alternative di sviluppo di app disponibili.

Le migliori alternative di sviluppo di app per dispositivi mobili per un'organizzazione variano in base ai tipi di app per dispositivi mobili che intende creare, ai linguaggi in cui possono scrivere codice e ai dispositivi che vogliono usare. Alcune alternative di sviluppo di app per dispositivi mobili includono:

  • Strumenti multipiattaforma come Xamarin che consentono agli sviluppatori di creare app Android e iOS usando .NET e C#.
  • Strumenti di Visual Studio per Xamarin, che usa una singola codebase condivisa per app per dispositivi mobili Android, iOS e Windows.
  • Strumenti a basso codice o senza codice come Power Apps. Il basso codice è un modo semplice per creare app di livello professionale senza formazione tecnica o competenze. Altre informazioni.

 

Risorse di sviluppo di app per dispositivi mobili

Esplora la documentazione di Azure per sviluppatori di dispositivi mobili

Informazioni necessarie per sviluppare app per dispositivi mobili in Azure. Informazioni su notifiche push, autenticazione, analisi e SDK.

Prova subito a creare un'app per dispositivi mobili

Configurare una pipeline di integrazione continua e recapito per le app Android. Connettersi a qualsiasi repository Git e rendere operativo il team in pochi minuti.

Domande frequenti sullo sviluppo di applicazioni per dispositivi mobili

  • La definizione di sviluppo di applicazioni per dispositivi mobili può essere ampia, che comprende tutti i processi coinvolti nella creazione e nel rilascio di un'app per dispositivi mobili, o specifica, che fa riferimento alla codifica e alla distribuzione dell'app.

    Altre informazioni

  • Le fasi del processo di sviluppo di app per dispositivi mobili sono strategia, pianificazione, progettazione, sviluppo, test e rilascio.

    Altre informazioni

  • Quando si decide il tipo di app per dispositivi mobili da compilare, è utile considerare chi saranno gli utenti e di cosa hanno bisogno dall'app.

    Altre informazioni

  • Le migliori alternative di sviluppo di app per dispositivi mobili per un'organizzazione variano in base ai tipi di app per dispositivi mobili che intende creare, ai linguaggi in cui possono scrivere codice e ai dispositivi che vogliono usare.

    Altre informazioni

  • Le organizzazioni trascorrono da tre mesi a nove mesi, o più a lungo quando necessario, per lo sviluppo di applicazioni per dispositivi mobili.

    Altre informazioni

  • Anche se lo sviluppo completo di un'app per dispositivi mobili può richiedere mesi, ecco cinque suggerimenti di Microsoft per iniziare subito a sviluppare app per dispositivi mobili.

    Scopri cinque suggerimenti per la creazione di app per dispositivi mobili

  • DevOps combina lo "sviluppo" delle parole e le operazioni delle parole "" ed è definito come l'unione di persone, processi e tecnologia per offrire continuamente valore ai clienti. La cultura, gli strumenti e le procedure devOps possono aiutare i ruoli siloed, ad esempio sviluppo, operazioni IT, progettazione della qualità e sicurezza, a coordinare e collaborare per produrre app per dispositivi mobili migliori e più affidabili. DevOps aiuta i team di sviluppo a rispondere più rapidamente alle esigenze dei clienti, aumentare la fiducia nelle app sviluppate e raggiungere più rapidamente gli obiettivi aziendali del team.

    Scopri DevOps

  • Gli sviluppatori in genere si concentrano sulle funzionalità tecniche e sui processi di un provider di servizi cloud, ad esempio: facilità di distribuzione, gestione e aggiornamento, se usa interfacce e API standard, se ha un sistema formale per la gestione degli eventi integrato con il sistema di monitoraggio/gestione, se ha processi di gestione delle modifiche ben documentati e se sono supportate funzionalità ibride.

    Altre informazioni sulla scelta di un provider di servizi cloud