Prodotti
web app
native
embedded
web apps
Le web apps sono applicazioni che risiedono su serverlaunch remoti, capaci di creare output dinamici fruibili via internet o intranetlaunch per mezzo di un browserlaunch. L'architettura del sistema informatico è di tipo server-clientlaunch, con un back-endlaunch sul server che si occupa della logica e della gestione dei dati e un front-endlaunch sul clientlaunch che trasmette le richieste dell'utente e rende disponibili gli output personalizzati generati in remoto. Qualsiasi dispositivo collegato alla rete e dotato di un web browser può operare da client e rendere disponibili le potenzialità dell'applicazione. Queste le principali caratteristiche di una web app:
logica centralizzata | check_circle_outline |
---|---|
accesso universale | check_circle_outline |
flessibilità | check_circle_outline |
tempi di sviluppo contenuti | check_circle_outline |
costi di sviluppo contenuti | check_circle_outline |
tempi di manutenzione contenuti | check_circle_outline |
costi di manutenzione contenuti | check_circle_outline |
Sono molteplici gli ambiti di utilizzo delle web apps e virtualmente infinite le potenzialità. A titolo esemplificativo, ecco alcune note soluzioni realizzate sull'architettura server-client:
motori di ricerca
Googlelaunch Yahoo!launch Binglaunch blog Chiara Ferragnilaunch Gianluca Vacchilaunch |
social network
Facebooklaunch Twitterlaunch LinkedInlaunch TikToklaunch forum stackoverflowlaunch |
web mail
Gmaillaunch Outlooklaunch e-commerce Amazonlaunch eBaylaunch subito.itlaunch |
Questa è una tabella comparativa tra le caratteristiche delle web apps e quelle delle applicazioni native:
web apps | native apps | |
---|---|---|
multipiattaforma | check_circle_outline | highlight_off |
tempi di sviluppo contenuti | check_circle_outline | highlight_off |
costi di sviluppo contenuti | check_circle_outline | highlight_off |
accessibilità offline | highlight_off | check_circle_outline |
prestazioni massimizzate | highlight_off | check_circle_outline |
interazione ottimizzata | highlight_off | check_circle_outline |
integrazione hardware avanzata | highlight_off | check_circle_outline |
La caratteristica delle web app di risiedere stabilmente su server remoti permette da un lato di ridurre tempi e costi di sviluppo, dall'altro di ottenere risultati compatibili con i principali sistemi operativi per computer (Microsoft Windowslaunch, Apple macOSlaunch, Linuxlaunch) e dispositivi mobile (iOSlaunch, Androidlaunch), purché dotati di un web browser quali:
Google Chromelaunch
Microsoft Edgelaunch |
Mozilla Firefoxlaunch
Apple Safarilaunch |
Opera Web Browserlaunch |
Quando richiesto, è anche possibile creare un'applicazione nativa che risieda sul dispositivo dell'utente e svolga le funzioni di client, senza la necessità di affidarsi a un browser. Per approfondimenti leggi ▹ embedded web apps.
mobile apps
Per mobile apps si intendono applicazioni native sviluppate appositamente per dispositivi mobile, che risiedono sul dispositivo stesso e si integrano perfettamente con il suo hardware. Tale elevata integrazione necessita di un progetto ad hoc, dedicato al sistema operativo target e che spesso vede coinvolgere più team di sviluppo, con strumenti e linguaggi di programmazione specifici. I costi e i tempi di realizzazione sicuramente maggiori vengono comunque altamente ricompensati da applicazioni fluide che riescono a sfruttare a pieno le potenzialità della macchina e del sistema operativo. La presenza di applicazioni native di proprietà sui principali store di distribuzione (App Storelaunch e Google Playlaunch) è inoltre generalmente percepita come segno distintivo e di prestigio. Sono due i sistemi operativi per dispositivi mobile attualmente diffusi nel mondo: iOSlaunch e Androidlaunch. La seguente tabella (dati aggiornati a inizio 2020 sulla diffusione dei sistemi operativi, dati aggiornati a fine 2016 sul numero di applicazioni disponibili negli store) confronta le caratteristiche dei rispettivi mercati:
iOSlaunch | Androidlaunch | |
---|---|---|
dispositivi |
iPhonelaunch
iPadlaunch iPod Touch |
Samsunglaunch
Xiaomilaunch Huaweilaunch ... |
mondialelaunch
USA Giappone Canada Russia Italia India |
25%
60% 60% 50% 40% 30% 10% |
75%
40% 40% 50% 60% 70% 90% |
store | App Storelaunch |
Google Playlaunch
... |
numero di applicazioni | > 2.000.000 | ~ 3.000.000 |
ambiente di sviluppo | Xcodelaunch | Android Studiolaunch |
linguaggio di sviluppo |
Swiftlaunch
Objective-C |
Javalaunch |
Avendo accesso diretto all'hardware del dispositivo, le applicazioni native possono sfruttare un'ampia gamma di periferiche integrate e servizi. Tra le più diffuse oggi sugli smartphone e tablet in commercio:
embedded web apps
Le embedded web apps rappresentano la perfetta fusione tra web apps residenti su un server remoto e applicazioni native sul dispositivo degli utenti. Sono un articolato sistema informatico in cui una web app lato serverlaunch si integra con un clientlaunch nativo. L'applicazione sul dispositivo dell'utente agisce così da mediatore tra l'hardware della macchina e il server remoto, agendo da finestra incaricata di presentarne l'output dinamico e personalizzato. Il risultato finale è estremamente gradevole e spesso indistinguibile da un'applicazione interamente nativa. Ecco alcuni vantaggi offerti dal sistema:
integrazione con web apps preesistenti | check_circle_outline |
parziale integrazione con l'hardware | check_circle_outline |
presenza sugli store | check_circle_outline |
costi di sviluppo contenuti | check_circle_outline |
Sebbene le embedded web apps garantiscano solo parzialmente lo sfruttamento dell'hardware dei dispositivi, restano un sistema altamente efficiente e dai costi di sviluppo contenuti per guadagnare la presenza sugli store (App Storelaunch e Google Playlaunch). Di seguito una tabella comparativa che confronta i diversi approcci di sviluppo:
web apps | native apps | embedded web apps | |
---|---|---|---|
multipiattaforma | check_circle_outline | highlight_off | highlight_off |
sviluppo server | check_circle_outline | check_circle_outline | check_circle_outline |
sviluppo client | highlight_off | check_circle_outline | check_circle_outline |
presenza sugli store | highlight_off | check_circle_outline | check_circle_outline |
integrazione hardware | highlight_off | check_circle_outline | check_circle_outline |
integrazione hardware avanzata | highlight_off | check_circle_outline | highlight_off |
operatività offline | highlight_off | check_circle_outline | highlight_off |
costi di sviluppo contenuti | check_circle_outline | highlight_off | check_circle_outline |