Grazie alla nostra esperienza decennale nel mercato dell'informatica abbiamo sviluppato una grande esperienza e conoscenza di ogni singola piattaforma e siamo oggi nella posizione di suggerire il miglior approccio per sviluppare le applicazioni dei nostri clienti.

Sviluppiamo e consegnammo applicazioni per tutti i dispositivi e piattaforme. 

 

Grazie al più di dieci anni di esperienza nel settore informatico abbiamo sviluppato un'enorme conoscenza di ogni singola piattaforma e siamo oggi nella posizione di suggerire il miglior approccio per lo sviluppo delle applicazioni dei nostri clienti. 

Ogni cliente ha esigenze diverse così come differenti sono le esigenze delle loro applicazioni. 

Non crediamo che esista una risposta univoca per risolvere tutti i problemi e, per questa ragione, con passione e sete di conoscenza, investighiamo e ricerchiamo tecnologie informatiche da applicare. 

Comprendiamo e conosciamo ogni punto di forza e di debolezza di ogni singola tecnologia così che possiamo indicare ai nostri clienti quella migliore per le loro esigenze. 

 

Di seguito analizzeremo alcune tecnologie di cui abbiamo vasta esperienza. 

Applicazioni ibride con Ionic/PWA :  Sin dalla prima versione Ionic ha dimostrato di essere una delle piattaforme migliori per lo sviluppo di applicazioni per tutte le piattaforme , con codice condiviso. Il fatto che sia basato su alcune delle più diffuse e solide tecnologie per il web come Angular e Cordova ha fatto sì che Ionic diventasse la scelta favorita per un gran numero di Aziende che volessero sviluppare nuove applicazioni contenendo i costi. 

Alcuni dei più importanti vantaggi di ionic sono: 

  • Ottima diffusione grande comunità di sviluppatori e supporto. 

  • Basato su alcune delle migliori tecnologie web presenti sul mercato come Angular, Cordova e typescript (per le versioni più recenti) 

  • Un unico linguaggio per il codice riduce drasticamente il costo di sviluppo e mantenimento dell'applicazione. 

I punti di svantaggio sono: 

  • Ibrido, uno dei punti più grandi di vantaggio è anche uno dei più grandi punti di svantaggio. L'applicazione in realtà è incapsulata nel browser di sistema del dispositivo su cui gira donando all'applicazione un'aspetto più da responsive website che non di applicazione nativa. 

  • Prestazioni lente, anche se questo aspetto è stato molto migliorato con le ultime versioni, infatti il team di sviluppatori ha compito un grande lavoro di ottimizzazione per cercare di limare alcuni aspetti di mancanza di prestazioni delle passate versioni, le applicazioni risultano ancora lontano dalle prestazioni delle controparti native. 

  • Generalmente le applicazioni ibride hanno un consumo della batteria più elevato di quelle native. 

Applicazioni semi native con React Native: 

Cercando di unire il meglio dei due mondi (Applicazioni ibride e native) Facebook ha introdotto React Native versione dedicata allo sviluppo mobile del framework React js. 

React Native dichiara di raggiungere prestazioni equivalenti a quelle che si raggiungerebbero con codice nativo 

I punti di forza di React native sono: 

  • Prestazioni largamente superiori a tecnologie ibride come WPA o Ionic 

  • Applicazioni scritte praticamente con un unico codice. 

  • La piattaforma è generalmente più vicino all'hardware dei dispositivi 

Alcuni svantaggi sono: 

  • Il codice non è esattamente unico per tutti i dispositivi, poiché la piattaforma è più vicina all'hardware dei dispositivi gli sviluppatori sono costretti a scrivere alcune parti del codice specificatamente per i differenti dispositivi. 

  • Generalmente molto più costoso rispetto a soluzioni ibride per quanto riguarda tempi di sviluppo, mantenimento e costi degli sviluppatori. 

  • Anche se le prestazioni raggiunte sono molto simili a quelle che si raggiungerebbero generalmente su applicazioni generiche scritte in linguaggio nativo, questo non è più vero se si devono scrivere applicazioni specifiche ad alte prestazioni per i dispositivi. 

Applicazioni Native (java android, swift/objective c IOS, C# windows):: 

Le applicazioni scritte con linguaggi nativi hanno da sempre raggiunto i migliori risultati senza compromessi in termine di prestazioni. Il fatto di scrivere applicazioni in codice nativo senza dover passare attraverso a livelli secondari o intermediari fra codice e hardware è senza dubbio un vantaggio enorme per il risultato finale. 

Di seguito alcuni aspetti positivi dei linguaggi nativi: 

  • Nessun compromesso sulle prestazioni. Con il codice nativo l'applicazione può usare ogni singola funzionalità dell'hardware sottostante. 

  • Bellissime interfacce grafiche e ottima fluidità. Per la stessa ragione del punto precedente, applicazioni native possono usare tutta la potenza della GPU del dispositivo ottenendo un'enorme fluidità delle animazioni nello stesso tempo risparmiando al massimo la batteria. 

  • Ottimizzazione dell'uso delle funzionalità del dispositivo. Tutte le opzioni del dispositivo sono disponibili e usabili al loro meglio. 

Se i punti favorevoli sono ovvi, lo sono anche quelli sfavorevoli. 

  • Le applicazioni native sono costose da sviluppare. Ogni OS ha un diverso codice di sviluppo (Java per Android, C# per windows, Swift and Objective C per IOS). Per supportare tutti i dispositivi l'applicazione va sviluppata ex novo per ognuno del sistema. 

  • Non c'è condivisione del codice. Per la stessa ragione del punto precedente anche la condivisione del codice e soluzioni fra le diverse implementazioni dell'applicazione è impossibile. 

  • Costi alti di mantenimento. Ogni versione ha un codice diverso e, solitamente, sviluppato e mantenuto da diversi team di sviluppatori. 

  • Maggiori tempi di sviluppo e pubblicazione dell'applicazione. 

Dunque, qual è la scelta migliore? 

La risposta è che non esiste la soluzione migliore in assoluto ma c'è la soluzione più adatta all'applicazione che si vuole sviluppare e alla situazione del client. Noi siamo qui per guidare e trovare la soluzione insieme.