Articoli

Microsoft Power Apps: che cos'è e casi d'uso di successo

Sfruttare al massimo il potenziale aziendale con Microsoft Power Apps

Nel panorama aziendale odierno, l’agilità è fondamentale per il successo. Le aziende devono essere in grado di rispondere rapidamente alle esigenze mutevoli del mercato e ai cambiamenti nelle operazioni quotidiane. Microsoft Power Apps è uno strumento potente che può aiutare le aziende a raggiungere questo obiettivo in modo semplice ed efficace.

Che cos’è Microsoft Power Apps?

Microsoft Power Apps è una soluzione di sviluppo low-code/no-code che permette alle aziende di creare rapidamente applicazioni personalizzate senza la necessità di competenze di programmazione avanzate. Questo significa che è possibile sviluppare applicazioni su misura per diversi processi di business, senza dover passare attraverso lunghi cicli di sviluppo software o affrontare costi elevati.

Creazione semplice di app personalizzate

Con Microsoft Power Apps, il processo di creazione di app personalizzate è intuitivo e flessibile. Si può iniziare da zero o utilizzare modelli predefiniti per accelerare lo sviluppo. Queste app possono essere progettate per soddisfare esigenze specifiche, come la gestione dei dati dei clienti, il monitoraggio delle risorse sul campo o la creazione di strumenti di rilevamento delle vendite.

Integrazione con altri servizi  Microsoft

Power Apps si integra perfettamente con altri servizi Microsoft, come Microsoft 365 e Dynamics 365. Questa integrazione offre un’esperienza di lavoro coerente, consentendo ai team di accedere ai dati e alle applicazioni di cui hanno bisogno direttamente dalle applicazioni Power Apps.

Vantaggi di Microsoft Power Apps

Velocità di Sviluppo: Riduce notevolmente i tempi di sviluppo delle applicazioni, consentendo di mettere in produzione nuove app in pochi giorni anziché settimane o mesi.

Flessibilità: Le app create con Power Apps possono essere personalizzate e adattate in modo flessibile alle mutevoli esigenze aziendali.

Risparmio di Costi: Elimina la necessità di investire in sviluppatori altamente specializzati e in complessi progetti di sviluppo software.

Accessibilità: È progettato per essere utilizzato da utenti con una vasta gamma di competenze, dalle risorse IT ai dipendenti non tecnici.

Casi d’uso di successo

Molte aziende stanno già beneficiando dell’uso di Microsoft Power Apps. Ecco alcuni esempi di casi d’uso di successo:

Automatizzazione dei Processi: Una società di logistica ha utilizzato Power Apps per creare un’applicazione che semplifica il processo di gestione delle spedizioni, riducendo il tempo necessario per la preparazione delle spedizioni.

Gestione delle Risorse Umane: Un’azienda di servizi ha sviluppato un’app per gestire il processo di reclutamento e l’onboarding dei nuovi dipendenti, migliorando l’efficienza dell’intero processo.

Monitoraggio delle Vendite: Un’azienda di vendita al dettaglio ha creato un’app per monitorare le vendite in tempo reale, consentendo ai responsabili di prendere decisioni basate sui dati.

Il nostro caso d’uso: realizzare un app per la valutazione interna dei dipendenti

Una società aveva bisogno di un sistema di valutazione per i dipendenti. La direzione e l’HR hanno incaricato l’IT interno di sviluppare questo strumento. Collaborando con il team IT del cliente, abbiamo utilizzato Microsoft Power Apps per creare rapidamente e con un costo contenuto un’applicazione che soddisfacesse le esigenze. Questo processo non solo ha portato alla realizzazione dell’app, ma anche al trasferimento di competenze al personale interno, rendendoli autonomi nel supporto e nelle future richieste aziendali.

Microsoft Power Apps è uno strumento potente per le aziende che cercano di ottenere un vantaggio competitivo, ridurre i costi operativi e migliorare l’efficienza aziendale. È una soluzione che consente di sviluppare rapidamente applicazioni personalizzate per soddisfare le esigenze specifiche di ogni business.

 

Power Platform è la soluzione Microsoft per creare App personalizzate, automatizzare i processi e i flussi di lavoro, gestire e rappresentare i dati in modo strategico e intelligente.

 

Sales Account

Creare una mobile App

Tra tutti gli scenari di sviluppo, il mobile è quello più tumultuoso ed è stato caratterizzato, fino dalla sua nascita, da innovazione e cambiamenti continui che ci hanno reso spettatori della crescita e del declino di vari sistemi operativi e produttori.

Se non è così improbabile che, per leggere questo articolo, il lettore stia usando un notebook acquistato nel 2013 con Windows 10, uscito nel 2015, sarà quasi impossibile che abbia un cellulare Nokia Lumia con Windows Mobile 8 o un BlackBerry Q10.

Meno di cinque anni sono sufficienti perché un cellulare e il software diventi obsoleto. IOS 8 ed Android 5.0, usciti entrambi nel 2014, sono presenti ad oggi in meno del 5% dei dispositivi utilizzati nel mondo e non sono più supportati dai rispettivi produttori.

Sviluppare un’app per Android o iOS non vuol dire creare qualcosa come un sito web, ma realizzare un vero e proprio software che gira su dispositivi diversi, eterogenei ed in costante e rapida evoluzione.

Inoltre, anche se è vero che nella maggior parte dei casi le app aziendali hanno come target i tablet e cellulari con sistema operativo Android ed Apple, non si deve scordare che viene spesso richiesto anche il funzionamento su pc fissi con Windows e Mac OS. Sempre più diffusi sono i dispositivi indossabili e domestici e le relative app che, anche se in contesti specifici, sono sempre più richieste.

Pertanto è fondamentale, visti anche i costi maggiori che di solito lo sviluppo di un’app richiede rispetto allo sviluppo di un sito web, fare un’analisi molto approfondita degli obiettivi di business, dei workflow e dei risultati attesi.

Un’azienda che desidera realizzare un’applicazione mobile, sia destinata ad un utilizzo interno oppure alla commercializzazione, per procedere con lo sviluppo ha la necessità di scegliere come realizzarla, utilizzando una delle numerose soluzioni che si possono dividere in quattro macro-categorie: nativo, ibrido/cross-platform, sviluppo tramite piattaforme “low code/no code” (Power Apps) ed infine sviluppo tramite progressive web app (PWA).

Per il confronto verranno considerati alcuni parametri: performance, semplicità e rapidità di sviluppo, modo, semplicità e rapidità della distribuzione sui device (deploy), accesso a basso livello alle funzionalità offerte dai sensori e possibilità di utilizzare dispositivi esterni, livello di personalizzazione dell’interfaccia grafica, facilità nel reperire sviluppatori in grado di implementare la soluzione richiesta.

APP native

Le app native hanno questo nome perché vengono sviluppate nello stesso linguaggio del dispositivo al quale sono destinate. Se si sceglie questo tipo di implementazione si deve avere a disposizione almeno uno sviluppatore per ogni piattaforma: su Android è necessario conoscere il linguaggio Kotlin e/o Java, su Apple i linguaggi Objective C e/o Swift, su Windows il framework Dot Net.

Da un punto di vista di funzionalità, con una app nativa si ottiene un’ottima efficienza data la possibilità di sfruttare appieno le potenzialità del dispositivo e dell’hardware.

Le app native permettono di ottenere prestazioni eccellenti. Questo aspetto diventa importante se si intende sviluppare giochi, contenuti multimediali, animazioni, 3D, realtà aumentata ed in generale quando è richiesta una interfaccia grafica molto elaborata.

Vantaggi:

  • Controllo completo e totale del device;
  • Velocità e possibilità di gestire grandi quantità di dati;
  • Possibilità di utilizzare tutte le funzionalità offerte dal device (bluetooth low energy, sensori);
  • Esperienza utente totalmente uniforme con quella offerta dal sistema operativo;
  • Facilità nel trovare sviluppatori;

Svantaggi:

  • Costi di sviluppi elevati, necessità di avere risorse distinte sui vari ambienti;
  • È necessario sviluppare, testare e manutenere le diverse soluzioni;
  • Quando esce un nuovo sistema (es Samsung Tizen) è necessario implementare la soluzione completamente da zero;
  • Quando il sistema scompare tutti gli investimenti fatti sono sostanzialmente perduti (es: Nokia Symbian, BlackBerry OS, Firefox OS);

APP ibride/cross

Un’alternativa allo sviluppo nativo è lo sviluppo con tecnologia ibrido/cross che permette, attraverso un unico linguaggio ed un unico ambiente, di realizzare una sola app da cui poi verranno facilmente create le diverse versioni (tipicamente una per iOS, una per Android ed una per Windows).

Lo scopo è quello di snellire il processo di sviluppo e di ridurre il mantenimento del codice riuscendo comunque a garantire gli stessi risultati attesi in termini di performance ed usabilità che si ottengono da un’app nativa.

I più diffusi framework di sviluppo sono: Xamarin di Microsoft, Flutter di Google, React Native supportato da Facebook, Ionic.

Se si decide di implementare la propria app utilizzando questa soluzione è particolarmente importante scegliere un framework stabile sperando che sia pienamente supportato anche negli anni a venire. Negli anni molti player hanno cercato di fornire soluzioni che poi sono state sostanzialmente abbandonate, ad esempio Embarcadero con Delphi.

Partiamo dal più diffuso dei framework, ovvero React Native: creato nel 2015, viene utilizzato per la realizzazione di alcune tra le più famose e diffuse app quali Facebook Messenger, Instagram, Snapchat, Tinder, Airbnb. Lo sviluppo avviene tramite linguaggio JavaScript. Le applicazioni create con questo framework tipicamente sono “da market” e non devono lavorare in offline. Su questa tipologia di app React viene considerata la migliore delle soluzioni.

Flutter è un sistema ancora più recente, creato nel 2017 da Google ed utilizzato, oltre che da Google stessa, da aziende internazionali come ad esempio Alibaba e Wechat. Lo sviluppo Flutter avviene utilizzando il nuovo linguaggio DART. Non essendo stato ancora adottato in modo diffuso in Italia la community di sviluppatori non è ancora ampia e quindi non è facile trovare persone con le conoscenze richieste.

Svantaggio principale di entrambi i due framework è il parziale supporto alla piattaforma Windows, anche se essendo, soprattutto il secondo, in continua evoluzione non è improbabile che a breve questo gap venga colmato. Di fatto ad oggi Windows è supportato solo tramite Alpha (quindi non stabile).

Xamarin è invece la soluzione Microsoft ed utilizza quella che è uno dei più diffusi, conosciuti e stabili ambienti: il framework DotNet ed il linguaggio C#. DotNet è uscito nel 2002 e da allora è stato costantemente migliorato con investimenti costanti e un percorso di innovazione e crescita che lo ha portato ad essere leader nell’innovazione.

Questi investimenti da parte di Microsoft si traducono nella tranquillità di sviluppare con un sistema che comunque ha sempre garantito negli anni un supporto continuo, permettendo agli sviluppatori di aggiornare e migrare le proprie applicazioni, anche se certo non sempre in modo indolore e semplice, anzi a volte in modo molto complesso (pensiamo a Silverlight).

Rimane il fatto il framework.NET è stato introdotto con Windows XP e Windows CE/Windows Mobile e da allora ha conosciuto una diffusione che lo rende ad oggi una delle principali piattaforme di riferimento per gli sviluppatori.

La totale integrazione con i servizi in cloud Microsoft Azure permette ad oggi di arricchire le applicazioni mobile di tutti gli strumenti offerti da Microsoft per il Cloud tra i quali Artificial Intelligence, Cognitive Services, Cognitive e Cloud Computing, Machine Learning e tanti altri ancora.

Nel grafico possiamo vedere la diffusione di mercato delle varie piattaforme.

grafico piattaforme

In questa tabella riassuntiva vengono elencati i punti di forza e di debolezza delle tre soluzioni.

 

XAMARIN

 

 FLUTTER  REACT NATIVE
 

Vantaggi

 

Integrato con le soluzioni Microsoft Azure e con tutti i prodotti Microsoft;

 

Prodotto stabile e maturo;

.NET ininterrottamente supportato da Microsoft fino dal 2002;

 

Ampia comunità di sviluppatori;

 

Numerosi componenti di terze parti;

 

Long term support garantito;

 

Applicazioni con database locali di grosse dimensioni rapide e stabili;

 

 

In rapidissima diffusione;

 

Supportato da Google;

 

Consente di sviluppare in modo rapido app “da market” che funzionano in modalità online;

 

Permette di realizzare Web Apps;

 

 

 

Consente di sviluppare in modo rapido app “da market” che funzionano in modalità online;

 

Supportato da Facebook;

Elevate possibilità di personalizzazione dell’interfaccia grafica;

 

Permette di realizzare Web Apps;

 

Enorme quantità di componenti di terze parti;

 

Svantaggi

 

Difficoltà nell’implementare interfacce grafiche elaborate;

 

Non permette di realizzare Web Apps;

 

Pacchetto di installazione dell’applicazione di dimensioni maggiori rispetto agli altri;

 

 

 

Recente e ancora non completamente stabile ancora in beta ad esempio su Windows;

 

Ancora pochi componenti di terze parti;

 

Ancora pochi sviluppatori Dart in Italia;

 

Meno codice riusabile rispetto alle altre due soluzioni;

 

 

Non adatto ad applicazioni enterprise/offline con grandi quantità di dati;

 

Sviluppo complesso, sono richiesti sviluppatori senior;

 

Più lenta delle altre due soluzioni;

Power Apps

Power Apps appartiene alla famiglia delle soluzioni di sviluppo chiamate “Low Code/No Code”. È una componente della “Power Platform”, che include anche PowerBI e Microsoft Flow, e consente di realizzare soltanto applicazioni enterprise aziendali e non applicazione da market. Tipicamente un’applicazione aziendale permette la consultazione di liste ed elenchi, l’inserimento, la modifica e la cancellazione di dati. La realizzazione di questa tipologia di applicazione può essere fatta in tempi rapidissimi.

Anche chi non conosce alcun linguaggio di programmazione con pochi click può realizzare un’applicazione collegata alla propria base dati che visualizza una lista e permette di inserire, modificare o cancellare le varie entità.

Uno dei punti di forza di Power Apps è la completa e totale integrazione sia con tutte le altre soluzioni Microsoft, quindi Dynamics 365 CRM & ERP, OneDrive, Teams, SharePoint, Office 365, tutti i servizi Azure, sia con i più diffusi software commerciali quali ad esempio Sales Force, SAP, Jira.

Le Power Apps presentano però alcuni limiti importanti: è molto complesso farle lavorare in modalità offline, non permettono un controllo completo del device e quindi non è possibile ad esempio interfacciarsi con beacons, stampare su stampanti bluetooth, ricevere notifiche push effettuare acquisti in-app. Per fare un esempio, Immuni, date le sue caratteristiche, non potrebbe essere realizzata con Power Apps sia perché non sarebbe possibile interfacciarsi con il Bluetooth sia perché le Power Apps non vengono pubblicate nel Google Play ed Apple Store.

Vediamo infatti come avviene la distribuzione dell’app. L’utente finale deve installare un’app di Microsoft, chiamata appunto “Power Apps” e poi loggarsi su questa, utilizzando le proprie credenziali di Office 365. In questo modo potrà usufruire dell’App realizzata dallo sviluppatore.

Si tratta di deploy da uno store proprietario Microsoft, diverso quindi da quello del produttore del device, che rende accessibili solo le app che sono state abilitate dall’organizzazione.

Oltre che sui cellulari e tablet le Power Apps sono inoltre eseguibili su Mac e su Windows tramite Microsoft Teams.

Altro particolare importante da considerare è che la Power Platform non è attualmente disponibile ed accessibile in Cina.

Un tipico caso di uso in cui questa tecnologia offre dei vantaggi rispetto alle altre soluzioni sono le applicazioni come: gestione nota spese, gestione timesheet, gestione richiesta ed approvazione permessi e ferie ed anche gestione warehouse/magazzini (inventari, ricollocazioni, stoccaggi…).

In questi scenari l’utente che utilizza il sistema è all’interno dell’organizzazione quindi ha già la relativa licenza Office 365, inoltre tutte le informazioni sono già presenti all’interno di una base dati, tipicamente l’applicativo ERP.

Vantaggi:

  • L’applicazione può essere implementata facilmente e velocemente, tramite strumenti di drag&drop quindi anche da chi non ha conoscenze di sviluppo;
  • In tempi rapidi è possibile avere una soluzione stabile;
  • Non sono richieste skill per il Deploy su Microsoft Store;
  • Non è richiesta approvazione da parte dei market;
  • Non sono previste attività di aggiornamento per rendere compatibile l’app quando escono gli aggiornamenti del sistema operativo;
  • Si riescono ad eseguire anche su Teams;
  • Completamente integrato con mondo Microsoft Dynamics 365;

Svantaggi:

  • L’utente che utilizza l’app deve avere una licenza aggiuntiva (attualmente circa 8 euro/mese/utente per una singola app oppure 33 euro per app illimitate);
  • La distribuzione agli utenti avviene tramite tramite il market proprietario di Microsoft, non tramite Google Play o Apple Store, quindi la app non è effettivamente scaricabile dal market del dispositivo;
  • Non sono ancora disponibili componenti grafici complessi;
  • Non è possibile utilizzare hardware (es: stampati bluetooth, beacons, lettori NFC e/o RFID);
  • Non è possibile integrare le funzionalità del sistema operativo (push notification, acquisti in app..)
  • Sono attualmente utilizzabili sono in modalità online, in assenza di internet non funzionano;
  • Sono abbastanza lente, la velocità dipende direttamente anche dal tipo di connettività;
  • Non sono possibili personalizzazione grafiche spinte;

Conclusioni

Native Ibrido Cross-Platform Power Apps
Costi di sviluppo Elevati Medio Bassi
Tempi di sviluppo Elevati Medi Bassi
Online/Offline Entrambe Entrambe Online
Performance Elevate Medie Basse
Distribuzione Store Store Microsoft Store
Accesso alle funzionalità del dispositivo e collegamento a periferiche esterne Nessun Limite Nessun Limite Limitato/Assente
Personalizzazione grafica Elevata Media Bassa
Integrazione mondo Dynamics 365 Da sviluppare Da sviluppare Nativa
Tempo necessario per realizzare una app IOS, Android e UWP
Di tre schermate (lista, inserimento, modifica e cancellazione) e interfacciamento con un database centrale Dynamics 365 Elevato
 

3 * 7 = 21

 

12

 

3

 

Aumenta la produttività e migliora la percezione del tuo brand. Scopri le nostre soluzioni aziendali che ti consentono di gestire l’intera azienda e di offrire risultati migliori

Dynamics 365 Developer

 

Microsoft Power Platform

Aumentare la produttività ed efficientare i processi di business con l’approccio semplificato degli strumenti di Power Platform

Microsoft ha investito molto in questi ultimi anni sulla piattaforma cloud allo scopo di fornire ai clienti strumenti sempre più integrati per supportare a 360 gradi ogni esigenza di business. Ripensare l’approccio all’implementazione di processi e applicazioni al fine di supportare l’intera organizzazione.

In particolare, Power Platform fornisce gli strumenti per lo sviluppo di soluzioni, sia web che mobile, che non richiedono uso di codice (no code o low code) sostituendo la creazione di soluzioni custom, più onerose in termini di tempo, risorse e complessità.

Power Platform si basa su una suite di componenti “out of the box” pronti all’uso, in grado di rispondere alla maggior parte delle esigenze di business semplificando sia l’implementazione che la manutenzione evolutiva delle soluzioni.

La Piattaforma Applicativa

Le nuove funzionalità di Power Platform combinano Power BI, PowerApps, Microsoft Flow e Common Data Service in una gamma di strumenti senza precedenti, per estendere, personalizzare e integrare Dynamics 365 e Office 365 nell’ambiente aziendale.

Microsoft Power Apps

Trasforma il modo con il quale l’organizzazione è in grado di rispondere ad esigenze di business in termini di user experience e user interface consentendo l’implementazione agile di interfacce personalizzate e nativamente responsive, in grado ad esempio di integrare informazioni sia da Office 365 che da altre fonti dati come ad esempio un database SQL.

Microsoft Flow

Cambia il modo di approcciare ed implementare i flussi informativi aziendali più strutturati attraverso un nuovo motore di workflow che a differenza di SharePoint Designer consente di integrare tra di loro diversi strumenti di business sfruttando una vasta rete di connettori in continua espansione. Inoltre, anch’esso consente una gestione nativa dei processi cross device.

Microsoft PowerBI

Semplifica l’accesso e l’aggregazione delle informazioni da differenti fonti dati, supporta l’analisi delle informazioni rilevanti per ciascuna business unit attraverso l’utilizzo di Dashboard interattive, report e cruscotti personalizzati.

Perché scegliere Power Platform?

I Benefici sono molteplici:

  • Minor impiego di tempo e risorse per l’implementazione di soluzioni personalizzate
  • Aumento della produttività
  • Aumento del ritorno degli investimenti
  • Riduzione dei costi di sviluppo
  • Incremento dell’efficienza del processo aziendale

Power Platform può essere quindi considerata la piattaforma ideale sulla quale migrare o eseguire un refactoring di applicazioni aziendali realizzate su tecnologie obsolete, come ad esempio InfoPath e Lotus Notes allo scopo di renderle maggiormente integrate con gli altri strumenti di collaborazione aziendali.

Business Development Manager – Microsoft Modern Workplace