Capitolo 2 : Applicazione
Un programma applicativo, spesso noto come applicazione software, applicazione o app in breve, è un tipo di programma per computer progettato per svolgere un particolare compito che non è correlato al funzionamento del computer stesso. In genere è destinato all'utilizzo da parte degli utenti finali. Alcuni esempi di tali software sono gli elaboratori di testi, i lettori multimediali e i software di contabilità. Il termine "software applicativo" è un sostantivo collettivo che si riferisce a tutte le applicazioni nel loro insieme. Il software di sistema, che si occupa del funzionamento del computer, e il software di utilità, noto anche come "utilità", sono le altre due categorie principali di software.
Le applicazioni possono essere rilasciate in modo indipendente o in bundle con il computer e il relativo software di sistema. Le app possono essere codificate come proprietarie, open source o progetti e possono essere pubblicate in entrambi i formati. Il termine "app" è quello che viene utilizzato più frequentemente quando ci si riferisce ad applicazioni progettate per dispositivi mobili come i telefoni.
Un programma per computer che ha lo scopo di assistere le persone nello svolgimento di un particolare compito è indicato come un'applicazione (app), un programma applicativo o un software applicativo nel campo della tecnologia dell'informazione. Un'applicazione è in grado di modificare testo, numeri, audio, immagini e qualsiasi combinazione di questi elementi, a seconda dell'attività per cui è stata sviluppata. L'elaborazione di testi è un esempio di pacchetto applicativo che si concentra su una particolare attività, mentre altri pacchetti applicativi, denominati software integrato, incorporano più programmi.
Il software prodotto dagli utenti può essere personalizzato per soddisfare le esigenze specifiche dell'utente. Modelli di fogli di calcolo, macro di word processor, simulazioni scientifiche, musica, grafica e script di animazione sono tutti esempi di prodotti che rientrano nella categoria dei software scritti dagli utenti. I filtri e-mail sono talvolta considerati un tipo di software utente. Gli utenti sono quelli che costruiscono questo software, ma spesso non riescono a riconoscere quanto sia significativo.
D'altra parte, la distinzione tra software applicativo e software di sistema, che include i sistemi operativi, non è sempre chiara ed è talvolta oggetto di dibattito. Durante la causa antitrust tra gli Stati Uniti d'America e Microsoft Corporation, ad esempio, una delle domande più importanti che è stata posta è stata se il browser Web Internet Explorer di proprietà di Microsoft fosse o meno un componente del sistema operativo Windows o un software applicativo indipendente. Per fare un altro esempio, la questione che circonda la nomenclatura di GNU/Linux è in parte attribuibile a un disaccordo riguardo al legame che esiste tra il kernel Linux e i sistemi operativi che sono sviluppati su questo kernel. In alcuni tipi di sistemi embedded, il software applicativo e il software del sistema operativo potrebbero essere indistinguibili dall'utente. Questo è il caso, ad esempio, del software utilizzato per controllare un forno a microonde, un videoregistratore o un lettore DVD. È possibile che le definizioni presentate sopra non includano alcune app che potrebbero essere presenti su determinate macchine in grandi aziende. Le applicazioni possono anche essere definite in modo diverso; Per ulteriori informazioni, vedere Gestione del portfolio di applicazioni.
Il significato del termine "applicazione" quando viene utilizzato come aggettivo non è limitato alla frase "di o su software applicativo". Nel caso del software applicativo, ad esempio, nozioni come API (Application Programming Interface), server delle applicazioni, virtualizzazione delle applicazioni, gestione del ciclo di vita delle applicazioni e applicazione portatile sono applicabili a tutti i programmi per computer allo stesso modo.
Esempi di app compatibili solo con una singola piattaforma includono un'applicazione di geografia per Microsoft Windows, un'applicazione Android per l'istruzione e un gioco Linux. Alcune applicazioni sono disponibili in versioni compatibili con diverse piattaforme, mentre altre sono compatibili solo con una piattaforma. A volte, emergerà un'applicazione nuova di zecca e ampiamente utilizzata che è compatibile solo con una singola piattaforma, aumentando così l'attrattiva di quella particolare piattaforma. Era la fine degli anni '80 quando fu coniato il termine "killer application" per descrivere questo tipo di programma. VisiCalc, ad esempio, è stato il primo software per fogli di calcolo contemporaneo progettato per l'Apple II. È stato essenziale per l'introduzione degli allora nuovi personal computer nelle impostazioni amministrative. Era il software di posta elettronica di Blackberry il problema.
Il termine abbreviato "app" è stato utilizzato per la prima volta nel 1981 o prima, ma non è diventato ampiamente utilizzato fino al 2008, quando è stato lanciato l'App Store iOS. Questa frase viene utilizzata per riferirsi alle app progettate per dispositivi mobili come smartphone e tablet. Successivamente, la frase è stata ampliata nell'uso diffuso per coprire i programmi desktop con il lancio del Mac App Store nel 2010 e del Windows Store nel 2011. Entrambi questi eventi si sono verificati nell'anno 2011.
L'inserimento del software applicativo in categorie può essere fatto in una varietà di metodi diversi e alternativi.
Il software applicativo è classificato principalmente utilizzando un approccio black-box, che riguarda i diritti dei suoi utenti finali o abbonati (con eventuali livelli di abbonamento intermedi e a più livelli). Questa classificazione viene effettuata da un punto di vista legale.
Inoltre, le applicazioni software sono classificate in base al linguaggio di programmazione in cui il codice sorgente viene creato o eseguito, nonché in base all'obiettivo dell'applicazione e agli output che produce, rispettivamente.
In generale, il software applicativo può essere suddiviso in due categorie principali: applicazioni software closed source e applicazioni software open source, nonché applicazioni software gratuite e app software proprietarie.
Il copyright esclusivo viene applicato al software proprietario, mentre una licenza software consente un numero limitato di diritti di utilizzo a determinate condizioni. Il software può essere "aperto solo per estensione, ma non per cambiamento", secondo il concetto di apertura-chiusura, che afferma che questo è il caso. L'unico modo per tali applicazioni di ottenere componenti aggiuntivi è tramite fornitori di terze parti.
È consentito eseguire, distribuire, vendere o estendere software libero e open source (FOSS) per qualsiasi scopo e, poiché è open source, può anche essere aggiornato o annullato allo stesso modo nella stessa misura.
Le applicazioni per software libero e open source distribuite con una licenza libera possono essere perpetue e anche prive di royalty. È possibile che il proprietario, il titolare o un terzo esecutore di qualsiasi diritto (copyright, marchio, brevetto o ius in re aliena) abbia l'autorità di includere eccezioni, limitazioni, decadimenti temporali o date di scadenza nei termini di utilizzo della licenza.
Una forma di software libero e open-source (FOSS) nota come software di pubblico dominio è un tipo di software che non necessita del pagamento di royalties e può essere eseguito, distribuito, aggiornato, invertito, ristampato o sviluppato in opere derivate senza alcuna attribuzione di copyright e, di conseguenza, senza essere revocato. È anche possibile venderlo, ma questo deve essere fatto senza trasferire la proprietà che è di dominio pubblico ad altre persone. È possibile rilasciare software di pubblico dominio con una dichiarazione legale che ne (annulla la licenza). Questa particolare dichiarazione applica i termini e le condizioni per un periodo di tempo illimitato (per tutta la vita o per sempre).
È emersa una distinzione significativa tra le applicazioni web, che sono scritte con HTML, JavaScript e altre tecnologie native del web e in genere richiedono di essere online e di eseguire un browser web, e le applicazioni native più tradizionali, che sono scritte in qualsiasi lingua disponibile per il proprio particolare tipo di computer. Questa distinzione è emersa dopo lo sviluppo e l'adozione quasi universale del web. Il mondo dell'informatica è impegnato in un aspro dibattito riguardo alla possibilità che le applicazioni web prendano il posto del software nativo per una varietà di funzioni, in particolare su dispositivi mobili come smartphone e tablet. D'altra parte, nonostante il fatto che le applicazioni web abbiano visto un aumento significativo di popolarità per alcune applicazioni, è altamente dubbio che scompariranno presto, se non del tutto. I due possono anche essere complementari l'uno all'altro e persino fusi l'uno nell'altro.
Un'ulteriore prospettiva sul software applicativo è che può essere visto sia come orizzontale che come verticale. Gli elaboratori di testi e i sistemi di gestione di database sono esempi di applicazioni orizzontali più utilizzate e popolari rispetto ai programmi verticali perché servono a uno scopo generale. Le applicazioni verticali sono beni specializzati sviluppati per un determinato settore dell'economia, che si tratti di un'azienda o di un'industria o di un dipartimento all'interno di un'organizzazione. Le suite software integrate faranno uno sforzo per gestire ogni componente immaginabile di un particolare settore, come il settore manifatturiero o bancario, la contabilità o l'assistenza clienti.
È...