CapÃtulo 2 : Software de aplicação
Um programa de aplicação, muitas vezes conhecido como um aplicativo de software, aplicativo ou aplicativo para abreviar, é um tipo de programa de computador que é projetado para realizar uma tarefa específica que não está relacionada com o funcionamento do computador em si. Destina-se normalmente à utilização pelos utilizadores finais. Alguns exemplos de tais softwares são processadores de texto, players de mídia e software de contabilidade. O termo "software de aplicação" é um substantivo coletivo que se refere a todas as aplicações como um todo. Software de sistema, que se preocupa com o funcionamento do computador, e software utilitário, também conhecido como "utilitários", são as duas outras categorias principais de software.
Os aplicativos podem ser lançados de forma independente ou empacotados com o computador e seu software de sistema. Os aplicativos podem ser codificados como proprietários, de código aberto ou projetos, e podem ser publicados em qualquer formato. O termo "aplicativo" é o que é mais usado quando se refere a aplicativos que são projetados para dispositivos móveis, como telefones.
Um programa de computador que se destina a ajudar as pessoas a realizar uma determinada tarefa é referido como uma aplicação (app), um programa de aplicação, ou software de aplicação no domínio das tecnologias da informação. Uma aplicação tem a capacidade de manipular texto, números, áudio, visuais e qualquer combinação destes elementos, dependendo da atividade para a qual foi desenvolvida. O processamento de texto é um exemplo de um pacote de aplicativo que se concentra em uma tarefa específica, enquanto outros pacotes de aplicativos, que são referidos como software integrado, incorporam vários programas.
O software que é produzido pelos usuários pode ser personalizado para corresponder aos requisitos específicos do usuário. Modelos de planilhas, macros de processador de texto, simulações científicas, música, gráficos e scripts de animação são exemplos de produtos que se enquadram na categoria de software escrito pelo usuário. Os filtros de e-mail às vezes são considerados um tipo de software de usuário. Os usuários são os únicos que constroem este software, mas muitas vezes não conseguem reconhecer o quão significativo ele é.
Por outro lado, a distinção entre software de aplicação e software de sistema, que inclui os sistemas operativos, nem sempre é clara e é por vezes objeto de debate. Durante o processo antitruste entre os Estados Unidos da América e a Microsoft Corporation, por exemplo, uma das perguntas mais importantes que foi feita foi se o navegador Internet Explorer de propriedade da Microsoft era ou não um componente do sistema operacional Windows ou uma peça independente de software de aplicativo. Para outra ilustração, a questão em torno da nomenclatura do GNU/Linux é parcialmente atribuível a um desacordo em relação à ligação que existe entre o kernel Linux e os sistemas operacionais que são desenvolvidos em cima deste kernel. Em certos tipos de sistemas incorporados, o software da aplicação e o software do sistema operativo podem ser indistinguíveis do utilizador. É o caso, por exemplo, de um software utilizado para controlar um forno de micro-ondas, um videocassete ou um leitor de DVD. É possível que as definições apresentadas acima não incluam certos aplicativos que podem estar presentes em certas máquinas em grandes corporações. As aplicações também podem ser definidas de uma forma diferente; para obter mais informações, consulte Gerenciamento de portfólio de aplicativos.
O significado do termo "aplicação" quando é usado como adjetivo não se limita à frase "de ou sobre software de aplicação". No caso de software de aplicativo, por exemplo, noções como interface de programação de aplicativos (API), servidor de aplicativos, virtualização de aplicativos, gerenciamento do ciclo de vida de aplicativos e aplicativos portáteis são aplicáveis a todos os programas de computador da mesma maneira.
Exemplos de aplicativos que são compatíveis apenas com uma única plataforma incluem um aplicativo de geografia para Microsoft Windows, um aplicativo Android para educação e um jogo Linux. Algumas aplicações estão disponíveis em versões que são compatíveis com várias plataformas, enquanto outras são compatíveis apenas com uma plataforma. Ocasionalmente, surgirá uma nova e amplamente utilizada aplicação que só é compatível com uma única plataforma, elevando assim o apelo dessa plataforma em particular. Foi no final da década de 1980 que o termo "aplicação assassina" foi cunhado para descrever este tipo de programa. O VisiCalc, por exemplo, foi o primeiro software de planilha contemporâneo projetado para o Apple II. Foi essencial na introdução dos então novos computadores pessoais nas configurações administrativas. Foi o software de e-mail da Blackberry que foi o problema.
O termo abreviado "app" foi usado pela primeira vez em 1981 ou antes, mas não se tornou amplamente utilizado até 2008, quando a iOS App Store foi lançada. Esta frase é usada para se referir a aplicativos que são projetados para dispositivos móveis, como smartphones e tablets. Depois disso, a frase foi expandida em uso generalizado para abranger programas de desktop com o lançamento da Mac App Store em 2010 e da Windows Store em 2011. Ambos os eventos ocorreram no ano de 2011.
Colocar o software de aplicação em categorias pode ser feito em uma variedade de métodos diferentes e alternativos.
O software de aplicação é classificado principalmente através de uma abordagem de caixa negra, que diz respeito aos direitos dos seus utilizadores finais ou subscritores (com eventuais níveis de subscrição intermédios e hierárquicos). Esta classificação é feita do ponto de vista jurídico.
Além disso, os aplicativos de software são categorizados de acordo com a linguagem de programação na qual o código-fonte é criado ou executado, bem como de acordo com o objetivo do aplicativo e as saídas que ele produz, respectivamente.
De um modo geral, o software de aplicação pode ser dividido em duas categorias principais: aplicações de software de código fechado e aplicações de software de código aberto, bem como aplicações de software livre e aplicações de software proprietário.
Os direitos autorais exclusivos são aplicados ao software proprietário, enquanto uma licença de software permite uma quantidade restrita de direitos de uso sob certas condições. O software pode ser "aberto apenas para extensão, mas não para mudança", de acordo com o conceito aberto-fechado, que afirma que este é o caso. A única maneira de tais aplicativos obterem complementos é por meio de fornecedores de terceiros.
É permitido executar, distribuir, vender ou estender software livre e de código aberto (FOSS) para qualquer finalidade e, por ser de código aberto, também pode ser atualizado ou revertido da mesma maneira na mesma medida.
Os aplicativos para software livre e de código aberto que são distribuídos sob uma licença livre podem ser perpétuos e também livres de royalties. É possível que o proprietário, o titular ou um terceiro executor de qualquer direito (direitos autorais, marca registrada, patente ou ius in re aliena) tenha autoridade para incluir exceções, limitações, decaimento de tempo ou datas de expiração nos termos de uso da licença.
Uma forma de software livre e de código aberto (FOSS) conhecida como software de domínio público é um tipo de software que não precisa de pagamento de royalties e pode ser executado, distribuído, atualizado, revertido, reimpresso ou desenvolvido em obras derivadas sem qualquer atribuição de direitos autorais e, consequentemente, sem ser revogado. É até possível vendê-lo, mas isso deve ser feito sem transferir a propriedade que é do domínio público para quaisquer outras pessoas. É possível libertar software que é do domínio público ao abrigo de uma declaração legal que o (des)licencia. Esta declaração específica aplica os termos e condições por um período ilimitado de tempo (para toda a vida ou para sempre).
Tem surgido uma distinção significativa entre aplicações web, que são escritas com HTML, JavaScript e outras tecnologias nativas da web e normalmente exigem que se esteja online e executando um navegador da web, e as aplicações nativas mais tradicionais, que são escritas em quaisquer linguagens disponíveis para um tipo particular de computador. Esta distinção surgiu desde o desenvolvimento e adoção quase universal da web. O mundo da computação tem estado envolvido num debate aceso sobre a possibilidade de as aplicações web tomarem o lugar do software nativo para uma variedade de funções, particularmente em dispositivos móveis como smartphones e tablets. Por outro lado, apesar do fato de que as aplicações web têm visto um aumento significativo na popularidade de certas aplicações, é altamente duvidoso que elas desapareçam tão cedo, se é que desaparecerão. Os dois também podem ser complementares um ao outro e até mesmo fundidos um no outro.
Uma outra perspetiva sobre o software de aplicação é que ele pode ser visto como horizontal ou vertical. Processadores de texto e sistemas de gerenciamento de banco de dados são exemplos de aplicações horizontais que são mais amplamente utilizadas e populares do que programas verticais porque servem a um propósito geral. As aplicações verticais são bens especializados que são desenvolvidos para um determinado setor da economia, seja um negócio ou uma indústria, ou um departamento dentro de...