Você está na página 1de 33

UNIVERSIDADE ANHANGUERA – UNIDERP

Centro de Educação a Distância

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Disciplinas:
Engenharia de Software
Redes e Sistemas Distribuídos
Programação WEB
Desenvolvimento Mobile

BRUNO ANDRÉ DE OLIVEIRA


RA: 24545073

Startup de Consultoria - Consultoria a Empresa de Roupas


T-Shirt

Orientador: Cristiano Giroldo

BRUNO ANDRÉ DE OLIVEIRA


Sertãozinho, 03 de Maio
2021
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Trabalho apresentado à Universidade Anhanguera -


UNIDERP, como requisito parcial para a obtenção de
BRUNO média bimestral
ANDRÉ nas disciplinas de: Engenharia de
DE OLIVEIRA
Software, Redes e Sistemas Distribuídos, Programação
BRUNO ANDRÉ DE OLIVEIRA
Web e Desenvolvimento Mobile.
BRUNO ANDRÉ D
Professores:
Adriane Aparecida Loper
Vanessa Matias Leite
Gilberto Fernandes Junior

Tutor a Distância: Cristiano Giroldo

Sertãozinho, 03 de Maio
2021
BRUNO ANDRÉ DE OLIVEIRA

Startup de Consultoria - Consultoria a Empresa de Roupas


T-Shirt

Trabalho apresentado à Universidade Anhanguera -


UNIDERP, como requisito parcial para a obtenção de
média bimestral nas disciplinas de: Engenharia de
Software, Redes e Sistemas Distribuídos, Programação
Web e Desenvolvimento Mobile.

Tutor a Distância: Cristiano Giroldo

Sertãozinho, 03 de Maio de 2021

______________________________
Cristiano Giroldo
Tutor à Distância

______________________________
Adriane Aparecida Loper

______________________________
Gilberto Fernandes Junior

______________________________
Vanessa Matias Leite
SUMÁRIO

INTRODUÇÃO..............................................................................................................4
1 TAREFA 1..............................................................................................................5
1.1 METODOLOGIA ÁGIL....................................................................................5
1.2 MODELO DE MATURIDADE.........................................................................7
2 TAREFA 2..............................................................................................................9
2.1 SISTEMAS CENTRALIZADOS......................................................................9
2.2 SISTEMAS DISTRIBUÍDOS.........................................................................11
2.3 MIDDLEWARE..............................................................................................13
3 TAREFA 3............................................................................................................17
3.1 CONCEITOS FUNDAMENTAIS DE WEB E A SUA IMPORTÂNCIA..........17
3.2 HTML5 e CSS3.............................................................................................19
4 TAREFA 4............................................................................................................20
4.1 PLATAFORMAS DE DESENVOLVIMENTO ANDROID..............................20
4.2 LINGUAGENS DE PROGRAMAÇÃO..........................................................23
4.3 TENDÊNCIAS...............................................................................................29
5 CONCLUSÃO......................................................................................................30
4

INTRODUÇÃO

Startup é um termo que foi originalmente importado do inglês e atualmente é


extremamente difundido no ecossistema do empreendedorismo mundial para
representar negócios em estágio inicial, com solidas bases tecnológicas, modelos
inovadores, pautado na escalabilidade do modelo e diante da existência de um ambiente
de forte incerteza.

Sua origem remonta aos anos de 1550, onde “start-up” significava iniciante.
Entretanto, o conceito moderno surgiu apenas no ano de 1976 no artigo “The
unfashionable business of investing in startups in the electronic data processing field”
escrito pela Forbes Magazine (FORBES, 1976). Posteriormente, em 1977 a Revista
Business Week utilizou pela primeira vez o termo “startup company”, com a frase “An
incubator for startup companies, especially in the fast-growth, high-technology fields.[…]”
(BRAGA, 2019).

Essas informações foram catalogadas e publicadas pelo Oxford English


Dictionary (OED, 1989). O termo apenas tornou-se popularmente utilizado nos Estados
Unidos no final da década de 90 com o grande desenvolvimento das empresas de base
tecnológica. O termo “startup” foi originalmente cunhado no início da revolução
tecnológica na década de 1970, referindo-se a uma nova geração de pequenas
empresas com surpreendente potencial de crescimento. No entanto, inicialização tornou-
se um termo popular na década de 1990 e no início dos anos 2000, com marcas como
Microsoft ou Apple crescendo em um ritmo mais rápido do que nunca.
Startups não são como quaisquer outras pequenas empresas em um aspecto
crucial: não é suficiente para uma startup ficar estagnada e gerar renda estável. Em vez
disso, os fundadores e equipes de startups têm como objetivo uma coisa, e apenas uma
coisa: crescimento.
A Startup Consultoria de Tecnologia Computacional foi contratada para
realizar uma consultoria para a empresa de roupas T-Shirt. É diante desse cenário que
as tarefas constantes neste trabalho foram desenvolvidas.
5

1 TAREFA 1

1.1 METODOLOGIA ÁGIL

A Metodologia Ágil é uma estrutura de gerenciamento de projetos ideal para


projetos flexíveis, pois permite que você mude as prioridades de cada fase com base
nas metas e necessidades do seu cliente. Além disso, está focado em obter resultados
tangíveis desde o início.
Em fevereiro de 2001, 17 especialistas em desenvolvimento de software se
reuniram em Snowbird, Utah, para discutir novas técnicas e processos de trabalho.
Todos eles consideraram os métodos tradicionais muito estáticos. Este encontro viu o
nascimento da Metodologia Ágil, com o objetivo de favorecer os indivíduos e suas
interações sobre os processos, a colaboração com os clientes e responder às mudanças
em relação aos planos seguintes, entre outros.
É fundamental que as empresas sejam ágeis, capazes de se adaptar em
resposta às mudanças nas necessidades do mercado. Como diz o artigo da Forbes,
empresas genuinamente ágeis são as que conquistam o mundo.
Recomendamos a empresa de roupas a metodologia ágil. A Metodologia Ágil
é um método de gerenciamento de projetos ideal para aqueles que exigem agilidade e
flexibilidade para atender às necessidades do cliente e está sempre focado na melhoria
do desempenho. Aplicar os princípios do Agile aos processos de negócios internos de
uma empresa é muito mais simples do que parece.
Você não planeja ou projeta uma iteração de um produto com antecedência
na Metodologia Ágil. Em vez disso, o processo evolui em ciclos iterativos e auto-
nutritivos. Você trabalha em períodos curtos, chamados de sprints, que geralmente
duram entre duas e três semanas, e cada membro da equipe precisa completar um
conjunto de tarefas atribuídas a eles. No final de cada sprint, você envia as entregas
correspondentes. Isso representa o progresso que sua equipe fez, e você inicia o
processo tudo de novo e trabalha para melhorar seu futuro na próxima rodada de
entregas. As práticas de gerenciamento de projetos que incorporam esses valores
permitem que o cliente receba gradualmente atualizações e sinalize as prioridades ou
introduza alterações quando necessário.
Ao contrário das formas tradicionais de desenvolvimento e implementação de
projetos, a Metodologia Ágil oferece os seguintes benefícios para uma empresa:
6

1. Versatilidade, visando atingir objetivos


O gerenciamento de projetos não é um sistema pré-estabelecido que segue
um padrão, mas sim voltado para alcançar métricas de desempenho tangíveis desde o
primeiro mês.

2. Ações de reestruturação
A Metodologia Ágil trabalha com estratégias de um ano com revisões
trimestrais das táticas que você está implementando. Essa abordagem permite moderar
a estratégia com base nas metas de seu cliente.

Em contraste com as abordagens tradicionais de marketing, o Agile oferece o


poder de mudar a ordem de seu plano de ação. Por exemplo, você nem sempre precisa
iniciar uma reunião com o cliente solicitando uma auditoria, seguida por um estudo de
Persona do Comprador e uma organização de ativos de conteúdo presentes. Você pode
ver que a estratégia de conteúdo do cliente não tem um foco preciso o suficiente para
seus apelos à ação (CTAs), e você primeiro precisa modificar esse elemento antes de
passar para qualquer outra coisa.

3. Transparência
Outra vantagem da metodologia Ágil é que o cliente tem o controle da
terceirização dos serviços. Seus processos funcionam com total transparência utilizando
a metodologia Scrum (por meio de Sprints ou organização de entregas de trabalho a
cada duas semanas).
As equipes que usam o Agile realizam reuniões diárias para analisar o estado
de suas tarefas. Eles discutem o progresso que fizeram e o que está em sua lista de
tarefas a fazer. O cliente tem acesso total a essa metodologia de trabalho e, portanto,
pode medir a conversão que cada ação está tendo. Eles revisam todas as entregas em
detalhes e sinalizam quais melhorias devem acontecer. A contínua interação e feedback
entre a empresa e o cliente visa garantir que o produto ou solução final que sua equipe
constrói é exatamente o que o cliente deseja e precisa.
7

1.2 MODELO DE MATURIDADE

A cultura organizacional inclui um conjunto de normas, rotinas e regras não


ditas de como as coisas são feitas nessa organização. A cultura de uma organização
pode estar em diferentes estágios de maturidade, e estes podem ser avaliados usando
uma variedade de modelos de maturidade organizacional e KM.
Um modelo de maturidade é definido como um modelo descritivo dos estágios
pelos quais as organizações progridem à medida que definem, implementam, evoluem e
aprimoram seus processos.
Este modelo atua como um guia para a seleção de estratégias de melhoria de
processo, auxiliando na determinação das capacidades do processo atual e na
identificação dos problemas mais críticos para a melhoria da qualidade e do processo
em um domínio particular, como engenharia de software ou engenharia de sistemas.

Modelos de maturidade KM
Existem vários modelos de maturidade organizacionais como por exemplo:
 CMM e CMMI.
 OPM3.
 PMMM.
 KPMMM.
 Project Framework.
 Modelo Berkeley.
 Disponibilidade
Vamos escolher o CMM para aplicar na empresa de roupas.
O CMM foi desenvolvido para descrever as fases dos processos de
desenvolvimento de software, e o modelo foi posteriormente atualizado para Capability
Maturity Model Integration em 2000 (CMMI Project Team, 2002) de uma maneira melhor.
O Capability Maturity Model descreve cinco níveis evolutivos nos quais uma
organização gerencia seus processos. As cinco etapas do CMM são as seguintes -
 Inicial - os processos são improvisados, caóticos, raramente definidos.

 Repetível - os processos básicos são estabelecidos e um nível de


disciplina é mantido para manter esses processos.
8

 Definido - todos os processos são precisamente definidos,


documentados, padronizados e integrados uns aos outros.

 Gerenciado - os processos são gerenciados por meio da coleta de


dados detalhados sobre os processos e seus requisitos de qualidade.

 Otimização - A melhoria contínua do processo é associada e


implementada por meio de feedback quantitativo e do piloto de novas
ideias e tecnologias.

Os benefícios de usar uma estrutura de melhoria de processo, como o CMM,


foram identificados por vários pesquisadores, acadêmicos e profissionais, e incluiriam:

 Identificação mais precisa de falhas nas operações de


desenvolvimento de processos
 Redução do custo de desenvolvimento de software ou gerenciamento
de dados como recurso
 Aumento da produtividade de profissionais de desenvolvimento de
software e / ou gerenciamento de dados (equipe e contratados)
 Redução de defeitos pós-lançamento e melhorias essenciais
 Redução do tempo de colocação no mercado para implementação

O Capability Maturity Model, cuja primeira versão foi lançada em 1991, é


baseado nas práticas reais da indústria, reflete as melhores práticas da indústria e
reflete as necessidades dos indivíduos que executam a melhoria do processo de
software e avaliações de processo (medição e benchmarking). O CMM se destina a ser
um conjunto coeso, coerente e ordenado de melhorias incrementais, todas relacionadas
ao sucesso experimentado no campo, e empacotado em uma estrutura que demonstra
como práticas eficazes podem ser construídas umas nas outras em uma progressão
lógica e repetível. Longe de ser uma “solução rápida”, o uso bem-sucedido do CMM
requer atenção aos detalhes, suporte e participação da alta administração e uma
9

abordagem racional a todos os aspectos do desenvolvimento de software ou


gerenciamento de dados e implementação.
Muitas organizações correram para adotar o CMM, reconhecendo os altos custos do
desenvolvimento e implementação de software de baixa qualidade. No entanto, seu
entusiasmo em adotar o CMM não foi acompanhado por uma compreensão dos
fundamentos da melhoria da qualidade e do papel do CMM em ajudar as organizações a
reconhecer e implementar métodos consistentes de melhoria da qualidade. Antes de
implementar o CMM, as organizações devem entender completamente o histórico das
metodologias de qualidade e melhoria de processos, e o lugar que o CMM ocupa neste
ambiente.

2 TAREFA 2

2.1 SISTEMAS CENTRALIZADOS

Começamos com sistemas centralizados porque são os mais intuitivos e


fáceis de entender e definir.
Sistemas centralizados são sistemas que usam arquitetura cliente / servidor
em que um ou mais nós clientes são conectados diretamente a um servidor central. Este
é o tipo de sistema mais comumente usados em muitas organizações em que o cliente
envia uma solicitação ao servidor da empresa e recebe a resposta.
Um exemplo de sistema centralizado é a Wikipedia. Considere um servidor
enorme para o qual enviamos nossas solicitações e o servidor responde com o artigo
que solicitamos. Suponha que digitemos o termo de pesquisa 'junk food' na barra de
pesquisa da Wikipedia. Este termo de pesquisa é enviado como uma solicitação aos
servidores da Wikipedia (localizados principalmente na Virgínia, EUA), que então
respondem de volta com os artigos com base na relevância. Nesta situação, somos o nó
cliente, os servidores da Wikipedia são o servidor central.

Características do Sistema Centralizado


10

Presença de um relógio global: Como todo o sistema consiste em um nó


central (um servidor / mestre) e vários nós clientes (um computador / escravo), todos os
nós clientes sincronizam com o relógio global (o relógio do nó central )
Uma única unidade central: Uma única unidade central que atende / coordena
todos os outros nós do sistema.
Falha dependente de componentes: a falha do nó central faz com que todo o
sistema falhe. Isso faz sentido porque, quando o servidor está inativo, nenhuma outra
entidade está lá para enviar/receber respostas/solicitações.
Escalonamento: somente o escalonamento vertical no servidor central é
possível. A escala horizontal irá contradizer a característica de unidade central única
deste sistema de uma entidade central única.
Componentes do Sistema Centralizado:

 Nó (computador, celular, etc.).


 Servidor.
 Link de comunicação (cabos, wi-fi, etc.).

Arquitetura de Sistema Centralizado:


Cliente-Servidor. O nó central que atende os outros nós no sistema é o nó
servidor e todos os outros nós são os nós clientes.

Limitações do Sistema Centralizado.


Não é possível escalar verticalmente após um determinado limite - Após um
limite, mesmo se você aumentar os recursos de hardware e software do nó do servidor,
o desempenho não aumentará significativamente, levando a uma relação
custo/benefício.
Gargalos podem aparecer quando o tráfego aumenta, já que o servidor só
pode ter um número finito de portas abertas para ouvir as conexões dos nós clientes.
Portanto, quando o tráfego intenso ocorre como uma venda de compras, o servidor pode
essencialmente sofrer um ataque de negação de serviço ou ataque distribuído de
negação de serviço.

Vantagens do Sistema Centralizado.


11

Fácil de proteger fisicamente. É fácil proteger e atender aos nós de servidor e


cliente em virtude de sua localização
Experiência pessoal tranquila e elegante. Um cliente tem um sistema
dedicado que ele usa (por exemplo, um computador pessoal) e a empresa tem um
sistema semelhante que pode ser modificado para atender às necessidades
personalizadas
Recursos dedicados (memória, núcleos de CPU, etc)
Mais eficiente em termos de custos para sistemas pequenos até um certo
limite. Como os sistemas centrais levam menos fundos para serem configurados, eles
têm uma vantagem quando sistemas pequenos precisam ser construídos
Atualizações rápidas são possíveis. Apenas uma máquina para atualizar.
Fácil separação de um nó do sistema. Apenas remova a conexão do nó
cliente do servidor e pronto! Nó desanexado.

Desvantagens do Sistema Centralizado.


Altamente dependente da conectividade da rede - o sistema pode falhar se os
nós perderem a conectividade, pois há apenas um nó central.
Sem degradação natural do sistema - falha abrupta de todo o sistema
Menor possibilidade de backup de dados. Se o nó do servidor falhar e não
houver backup, você perde os dados imediatamente
Manutenção de servidor difícil - há apenas um nó de servidor e, por motivos
de disponibilidade, é ineficiente e pouco profissional interromper o servidor para
manutenção. Portanto, as atualizações devem ser feitas rapidamente (atualizações
rápidas), o que é difícil e o sistema pode falhar.

2.2 SISTEMAS DISTRIBUÍDOS

Em sistemas descentralizados, cada nó toma sua própria decisão. O


comportamento final do sistema é o agregado das decisões dos nós individuais. Observe
que não há uma entidade única que recebe e responde à solicitação.
Exemplo de sistema distribuído é o sistema de pesquisa do Google. Cada
solicitação é trabalhada por centenas de computadores que rastreiam a web e retornam
os resultados relevantes. Para o usuário, o Google parece ser um sistema, mas na
12

verdade são vários computadores trabalhando juntos para realizar uma única tarefa
(retornar os resultados para a consulta de pesquisa).

Características do Sistema Distribuído.


Concorrência de componentes: os nós aplicam protocolos de consenso para
concordar com os mesmos valores/transações/comandos/logs.
Falta de um relógio global: todos os nós mantêm seu próprio relógio.
Falha independente de componentes: Em um sistema distribuído, os nós
falham independentemente, sem ter um efeito significativo em todo o sistema. Se um nó
falhar, todo o sistema sem o nó que falhou continuará a funcionar.
Componentes do Sistema Distribuído:

 Nó (computador, celular, etc.)


 Link de comunicação (cabos, Wi-Fi, etc.)

Arquitetura do Sistema Distribuído:

 Ponto a ponto - todos os nós são pares e trabalham para um objetivo


comum
 Cliente-servidor - alguns nós se tornaram nós servidores para a função
de coordenador, árbitro, etc.

Limitações do sistema distribuído.


É difícil projetar e depurar algoritmos para o sistema. Esses algoritmos são
difíceis devido à ausência de um relógio comum; portanto, nenhuma ordenação temporal
de comandos / logs pode ocorrer. Os nós podem ter diferentes latências que devem ser
mantidas em mente ao projetar tais algoritmos. A complexidade aumenta com o
aumento do número de nós. Visite este link para mais informações
Nenhum relógio comum causa dificuldade na ordenação temporal de
eventos / transações
É difícil para um nó obter uma visão global do sistema e, portanto, tomar
decisões informadas com base no estado de outros nós no sistema
13

Vantagens do sistema distribuído.


Baixa latência do que o sistema centralizado - os sistemas distribuídos têm
baixa latência devido à alta dispersão geográfica, levando a menos tempo para obter
uma resposta.

Desvantagens do sistema distribuído.


Difícil de chegar a um consenso.
A maneira convencional de registrar eventos por tempo absoluto em que
ocorrem não é possível aqui.

Aplicações do Sistema Distribuído.


Computação em cluster - uma técnica na qual muitos computadores são
acoplados para trabalhar de forma que atinjam objetivos globais. O cluster de
computador age como se fosse um único computador
Computação em grade - Todos os recursos são agrupados para
compartilhamento neste tipo de computação, transformando os sistemas em um
poderoso supercomputador; essencialmente.

2.3 MIDDLEWARE

Hoje, a maioria dos processos de negócios foi digitalizada e a maioria das


organizações tem necessidades digitais muito diversas. Para atender a essas
necessidades, as empresas precisam usar muitos produtos de hardware e software
diferentes.
A maioria desses hardware e software foram projetados separadamente. Eles
não foram necessariamente construídos para funcionar juntos. Ao mesmo tempo, as
organizações precisam que esses diferentes hardwares e softwares trabalhem juntos
para tornar os processos digitais mais eficientes.
O problema é como fazer com que funcionem harmoniosamente quando não
foram construídos para funcionar juntos? É aqui que entra o middleware. Normalmente,
existem dois níveis em qualquer dispositivo.
O primeiro é o operacional, que é o software de baixo nível cuja função
principal é gerenciar os recursos do dispositivo e controlar as funções básicas do
14

dispositivo.
O segundo nível são os aplicativos que devem ser executados no sistema
operacional. Esses aplicativos expandem as funções do dispositivo além do que é
oferecido pelo sistema operacional.
Middleware refere-se a qualquer software de bastidores que permite que
esses dois níveis se comuniquem e interajam entre si. Por exemplo, o middleware ficará
entre o Windows 10 e um pacote de produtividade de escritório.
Além do sistema operacional e dos aplicativos, o middleware também ajuda a
separar processos, aplicativos e componentes de software para trocar informações
dentro do mesmo dispositivo ou entre vários dispositivos. Você pode comparar o
middleware com um tradutor ajudando pessoas que falam idiomas diferentes a se
entenderem. Nesse caso, o middleware facilita a interoperabilidade entre os aplicativos
executados em diferentes estruturas. O middleware faz isso fornecendo um meio de
troca de dados baseado em padrões. Dessa forma, os dois aplicativos podem se
conectar sem ter que se comunicar diretamente.
Algumas pessoas se referem ao middleware como encanamento, pois ele
conecta e passa dados entre dois aplicativos fundamentalmente diferentes. O
middleware também é conhecido como “cola de software”, pois ajuda a “colar” diferentes
softwares para que possam trabalhar juntos.
O termo middleware é um pouco vago, pois não se refere a um tipo específico
de software. Em vez disso, refere-se a qualquer software que fica entre e vincula dois
aplicativos separados. Se uma empresa depende muito de dados, pode-se considerar a
implementação de middleware para que possa integrar os dados em vários aplicativos e
sistemas.
A integração torna o fluxo de dados entre os vários aplicativos muito mais fácil
e permite que sua empresa se concentre em outros aspectos importantes do seu
negócio, já que não precisa mais perder tempo em processos manuais.

Alguns dos benefícios a serem obtidos com a implementação de middleware


incluem:

Melhor Agilidade
Hoje, as empresas precisam fornecer serviços aos clientes em várias
plataformas, incluindo na nuvem, no celular e por meio de plataformas de aplicativos
15

tradicionais.
Oferecer serviços em todas essas plataformas pode ser um desafio. Ao
mesmo tempo, os clientes esperam uma experiência de usuário semelhante,
independentemente da plataforma por meio da qual acessam os serviços.
Para fornecer uma experiência de usuário perfeita, o cenário de TI da sua
empresa precisa ser muito ágil. O middleware pode ajudar a fornecer essa agilidade. Ele
fornece uma estrutura que permite que alterações sejam feitas facilmente nos processos
de negócios.
Dessa forma, a empresa pode responder e se adaptar facilmente aos
requisitos e expectativas do cliente e entregar novos serviços com muito mais rapidez.
Maior Eficiência
A tecnologia de middleware é muito útil quando se trata de automatizar
processos de negócios. Com o middleware, processos como pedidos e configuração de
produtos podem ser automatizados, levando a melhorias de tempo e custo em
comparação com a execução manual desses processos.
Os membros da equipe que executaram anteriormente esses processos
podem ser designados para outras tarefas. A automação do processo também reduz o
tempo de entrega e torna as interações com o cliente muito mais simples, aumentando o
volume total dos negócios.
Inovação Rápida
O cenário de negócios atual tornou-se muito competitivo. As empresas
precisam reduzir drasticamente seus ciclos de desenvolvimento de produtos para que
possam trazer produtos e serviços novos e inovadores ao mercado antes de seus
concorrentes. A implementação da tecnologia de middleware torna o processo de
inovação muito mais fácil e rápido.
Produtos e serviços podem ser lançados no mercado com muito mais rapidez,
sem aumento nos custos de desenvolvimento.
Por exemplo, uma rede de hotéis usou a tecnologia de middleware da Oracle
para fornecer aos usuários informações em tempo real sobre a disponibilidade de
quartos e tarifas diretamente no Google Maps.
Portabilidade e Reutilização
Embora os aplicativos de tecnologia avançada que estão sendo lançados hoje
tornem mais fácil fazer mudanças rápidas nos processos de negócios, algumas
organizações ainda podem contar com algumas organizações legadas antigas.
16

Implementar mudanças nesses aplicativos legados antigos pode ser bastante


desafiador.
No entanto, a tecnologia de middleware pode ser usada para tornar esses
sistemas antigos mais adaptáveis às mudanças. Isso torna mais fácil usar sistemas
antigos para novos aplicativos.
Além disso, a tecnologia de middleware é muito reutilizável, pois contém
componentes comuns que podem ser utilizados em vários ambientes.
Por isso, um aplicativo criado com base em determinado middleware pode ser
usado em várias plataformas, tornando o aplicativo muito mais portátil.
Eficácia de custos
Devido ao uso de componentes comuns, desenvolver aplicativos com base na
tecnologia de middleware significa que menos esforço é necessário para construir o
aplicativo do zero.
Isso pode resultar em reduções significativas no tempo de desenvolvimento e
no custo do projeto.
Além disso, o uso de middleware para automatizar processos de negócios
também pode levar a economias de custo significativas.
Gestão da Informação
O gerenciamento de informações é um aspecto crucial de qualquer grande
organização.
A tecnologia de middleware pode tornar o gerenciamento de informações
muito mais fácil, fornecendo uma estrutura na qual um sistema de gerenciamento de
informações pode ser projetado, construído e implantado.

Abaixo estão alguns exemplos de 3 middleware comumente usados por


empresas.
Plataforma do aplicativo Red Hat JBoss Enterprise
Esta é uma tecnologia de middleware poderosa e versátil desenvolvida pela
Red Hat Software.
Esse middleware tem uma base arquitetônica sólida, com requisitos de
memória muito baixos e tempos de inicialização muito rápidos.
O Red Hat JBoss Enterprise Application Platform também oferece integração
com ferramentas DevOps como Arquillian, Jenkins e Maven.
17

O middleware vem com um “centro de migração” que torna muito fácil mover
os aplicativos existentes para esta plataforma.
Ele também oferece uma solução compatível com a nuvem para aqueles que
desejam tornar suas empresas mais ágeis.
O Red Hat JBoss Enterprise Application Platform também oferece excelente
suporte ao cliente.
Red Hat JBoss Enterprise Application Platform custa US$ 8.000 para uma
assinatura de 1 ano rodando em 16 núcleos de CPU. Você também pode obter
assistência e suporte 24 horas por dia por US$ 4.000 extras.
IBM WebSphere
O Websphere Application Server é uma plataforma de middleware de alto
desempenho com uma infinidade de recursos. Instalar e implementar o IBM WebSphere
é bastante simples.
A plataforma pode ser usada para soluções locais, baseadas em nuvem e
híbridas. A plataforma é construída com uma arquitetura forte, mas flexível, que pode ser
facilmente dimensionada conforme necessário.
Uma das maiores vantagens do IBM WebSphere é que ele pode ser integrado
a outros produtos IBM baseados em nuvem, como o serviço de banco de dados dashDB
SQL e inteligência artificial Watson.
Uma assinatura de um ano do IBM WebSphere, incluindo suporte, custará
cerca de US$ 14.000 por soquete de uso limitado.

3 TAREFA 3

3.1 CONCEITOS FUNDAMENTAIS DE WEB E A SUA IMPORTÂNCIA

A Internet é uma rede global de bilhões de computadores e outros dispositivos


eletrônicos. Com a Internet, é possível acessar quase todas as informações, comunicar-
se com qualquer pessoa no mundo e muito mais.
Você pode fazer tudo isso conectando um computador à Internet, o que
também é chamado de ficar online. Quando alguém diz que um computador está online,
é apenas outra maneira de dizer que está conectado à Internet.
18

A World Wide Web - normalmente chamada de Web, é uma coleção de


diferentes sites que você pode acessar pela Internet. Um site é composto de textos,
imagens e outros recursos relacionados. Os sites podem ser semelhantes a outras
formas de mídia - como artigos de jornais ou programas de televisão - ou podem ser
interativos de uma forma exclusiva para computadores.
O propósito de um site pode ser quase qualquer coisa: uma plataforma de
notícias, um anúncio, uma biblioteca online, um fórum para compartilhar imagens ou um
site educacional.
Depois de se conectar à Internet, você pode acessar e visualizar sites usando
um tipo de aplicativo chamado navegador da web. Lembre-se de que o navegador da
Web em si não é a Internet; ele exibe apenas sites que estão armazenados na Internet.

Como funciona a Internet?


A resposta exata é bastante complicada e demoraria um pouco para ser
explicada. Em vez disso, vamos examinar algumas das coisas mais importantes que
você deve saber.
É importante perceber que a Internet é uma rede global de cabos físicos, que
podem incluir fios telefônicos de cobre, cabos de TV e cabos de fibra óptica. Mesmo as
conexões sem fio como Wi-Fi e 3G / 4G contam com esses cabos físicos para acessar a
Internet.
Quando você visita um site, seu computador envia uma solicitação por esses
fios a um servidor. Um servidor é onde os sites são armazenados e funciona de maneira
muito semelhante ao disco rígido do seu computador. Assim que a solicitação chega, o
servidor recupera o site e envia os dados corretos de volta ao seu computador. O
incrível é que tudo isso acontece em apenas alguns segundos.

Navegador web.
Um navegador da web é um tipo de software que permite localizar e visualizar
sites na Internet. Mesmo que você não saiba, você está usando um navegador da web
agora para ler esta página! Existem muitos navegadores diferentes, mas alguns dos
mais comuns incluem Google Chrome, Internet Explorer, Safari, Microsoft Edge e Mozilla
Firefox.
Não importa qual navegador da web você usa, você vai querer aprender o
básico para navegar na web. Nesta lição, falaremos sobre como navegar em diferentes
19

sites, usando a navegação por guias, criando favoritos e muito mais.

URLs e a barra de endereço


Cada site tem um endereço único, chamado URL (abreviação de Uniform
Resource Locator). É como um endereço que informa ao seu navegador para onde ir na
Internet. Quando você digita um URL na barra de endereço do navegador e
pressiona Enter no teclado, o navegador carrega a página associada a esse URL.

Links
Sempre que você vir uma palavra ou frase em um site que
está azul ou sublinhada em azul , provavelmente é um hiperlink , ou link abreviado. Você
já deve saber como os links funcionam, mesmo que nunca tenha pensado muito sobre
eles antes. 
Links são usados para navegar na web . Quando você clica em um link,
geralmente ele o leva a uma página da web diferente. Você também pode notar que o
cursor muda para um ícone de mão sempre que você passa o mouse sobre um link.

3.2 HTML5 E CSS3

HTML5 é a versão mais recente do Hypertext Markup Language, o código que


descreve as páginas da web. Na verdade, são três tipos de código: HTML, que fornece a
estrutura; Cascading Style Sheets (CSS), que cuidam da apresentação; e JavaScript,
que faz as coisas acontecerem.
O HTML5 foi projetado para oferecer quase tudo o que você deseja fazer
online, sem a necessidade de software adicional, como plug-ins de navegador. Ele faz
tudo, desde animação a aplicativos, música a filmes, e também pode ser usado para
construir aplicativos incrivelmente complicados que rodam em seu navegador.
HTML5 não é proprietário, então você não precisa pagar royalties para usá-
lo. É também multiplataforma, o que significa que não importa se você está usando um
tablet ou smartphone, um netbook, notebook ou ultrabook ou uma Smart TV: se o seu
navegador suportar HTML5, ele deve funcionar perfeitamente. Inevitavelmente, é um
pouco mais complicado do que isso. Mais sobre aquilo em um momento.
Cascading Style Sheets (CSS) é uma linguagem de folha de estilo usada para
20

descrever a aparência e formatação de um documento escrito em uma linguagem de


marcação. SS3 é um padrão mais recente de versões anteriores de CSS (CSS2). A
principal diferença entre CSS2 e CSS3 é a seguinte:
 Consultas de mídia
 Namespaces
 Seletores de nível 3
 Cor
 Módulos CSS3
CSS3 é a colaboração de especificações CSS2 e novas especificações,
podemos chamar essa colaboração de módulo. Alguns dos módulos são mostrados
abaixo:
 Seletores
 Box Model
 Fundos
 Valores de imagem e conteúdo substituído
 Efeitos de texto
 Transformações 2D
 Transformações 3D
 Animações
 Layout de múltiplas colunas
 Interface de usuário

4 TAREFA 4

Uma das primeiras escolhas que tive de fazer ao entrar no desenvolvimento


de aplicativos Android foi qual linguagem de programação escolher. Depois disso, era
uma questão de onde obter informações sobre o idioma que escolhi. Então, realmente,
começando com o idioma escolhido.
Existe uma infinidade de ferramentas de desenvolvimento de aplicativos
móveis para criar seu aplicativo favorito.
21

4.1 PLATAFORMAS DE DESENVOLVIMENTO ANDROID

Android Studio
O Android Studio é um IDE. Isso significa que oferece um Ambiente de
Desenvolvimento Integrado.
O IDE vem com Android SDK, um valioso conjunto de ferramentas para
desenvolver aplicativos Android. Resumindo, o Android Studio tem tudo o que é
necessário para começar a desenvolver aplicativos para Android. Isso inclui o dispositivo
virtual Android. Este é um emulador para testar aplicativos em desenvolvimento.
Deixe as caixas de seleção marcadas para as ferramentas adicionais durante
a instalação do Android Studio. É possível adicioná-los depois, mas isso só complica as
coisas.
Uma palavra de advertência: Java precisa ser instalado no computador ao
usar o Android Studio. Isso significa instalar o Java Development Kit se ele não estiver
instalado. Isso interpreta o código escrito e depois o compila para que a CPU o
compreenda.
O Android Studio tem muitos tutoriais e documentação. Ele também dá
acesso às maiores bibliotecas em linguagens de programação junto com o código
gratuito. Facilita a vida dos programadores, oferecendo como:
 Um designer visual;
 Sugestões enquanto você trabalha;
 Recursos poderosos e avançados;
 Acesso ao armazenamento em nuvem.

Xamarin:
Xamarin é a ferramenta de desenvolvimento de aplicativo móvel preferida
para aplicativos nativos. Ele reutiliza camadas de lógica de negócios e acesso a dados
entre plataformas. É amplamente usado para criar aplicativos para iOS, Windows e
desenvolvimento de aplicativos Android.

Características:
22

 É uma estrutura mono que permite a comunicação com a API de


dispositivos móveis;
 O armazenamento de componentes Xamarin inclui controles de IU,
bibliotecas de plataforma cruzada e bibliotecas de terceiros;
 Ele tende a produzir menos bugs e, portanto, fornece um tempo de
comercialização mais rápido;
 Ele permite indexação de aplicativos e links diretos;
 Específicos de plataforma permitem consumir funcionalidade que só
está disponível em certas plataformas.

PhoneGap:
PhoneGap é um framework de desenvolvimento de aplicativos móveis de
código aberto e gratuito. Ele se enquadra na categoria de desenvolvimento de
aplicativos multiplataforma. Ele pode ser usado para desenvolver um único aplicativo
que funcione em todos os dispositivos móveis.

Características:
 Funciona com eficácia em JavaScript, HTML5 e CSS3
 Ele pode se integrar com várias bibliotecas para aprimorar o
desenvolvimento de aplicativos
 Permite o desenvolvimento de vários aplicativos móveis com menos
tempo e esforço
 Ajuda os desenvolvedores a estender a funcionalidade do aplicativo
com a ajuda da arquitetura de plug-in
 Ferramenta robusta para criar aplicativos sem qualquer conjunto de
habilidades especiais

Ionic:
Ionic é a estrutura de desenvolvimento de aplicativos móveis HTML5. É
amplamente utilizado para desenvolver aplicativos móveis híbridos. É uma ferramenta
útil para construir aplicativos móveis usando tecnologias da web como CSS, HTML5 e
SASS.
23

Características:
 Ionic Framework é um projeto 100% gratuito e de código aberto
 Crie web progressiva e aplicativos móveis nativos para todas as
principais lojas de aplicativos
 Ele oferece excelentes ferramentas e serviços para criar aplicativos
altamente interativos
 Ele permite que o desenvolvedor da web crie aplicativos para todas as
principais lojas de aplicativos com uma única base de código
 Ele vem com muitos componentes CSS e componentes JavaScript
para o desenvolvimento de aplicativos móveis
 Ionic emula diretrizes de IU de aplicativos nativos e usa SDKs nativos

NativeScript:
NativeScript é uma estrutura de código aberto para a construção de
aplicativos móveis verdadeiramente nativos com Angular, TypeScript ou JavaScript. Ele
permite escrever e implantar aplicativos móveis nativos para iOS e Android a partir de
uma única base de código.

Características:
 Acelere a curva de aprendizado usando habilidades para desenvolver
aplicativos móveis nativos
 Crie aplicativos móveis verdadeiramente nativos com JavaScript. Use
habilidades da web, como Angular e CSS
 Centenas de plug-ins NativeScript estão disponíveis para capacitar
aplicativos móveis nativos
 A equipe NativeScript oferece três implementações completas de
aplicativos do mundo real

4.2 LINGUAGENS DE PROGRAMAÇÃO

A escolha da linguagem mais adequado dependerá do tipo de aplicativo


Android que você está desenvolvendo.
24

Por exemplo, se estiver desenvolvendo um aplicativo Android que fosse uma


aventura 3D ou um jogo de tiro em primeira pessoa, Unity e C # seria uma boa escolha
de linguagem de programação.
Se estiver desenvolvendo um aplicativo muito simples que dependesse do
acelerômetro ou da câmera do tablet ou telefone, poderia escolher o PhoneGap. Tudo
depende do tipo de aplicativo.
Antes de escolher a linguagem de programação certa, daremos uma olhada
em todas as escolhas populares. Elas são:

1. Java
A Sun Microsystems lançou o Java em 1995. Hoje, vários aplicativos de
programação utilizam a linguagem. Java está em quase todos os dispositivos, incluindo
smartphones, tablets e PCs.
Java era a linguagem original para desenvolvedores de jogos e continua
sendo a opção mais popular.
O Google a classifica como linguagem oficial para o desenvolvimento de
aplicativos Android. Também é o mais escolhido pelos desenvolvedores com jogos na
Play Store.
Java depende de máquina virtual. Isso significa que ele não compila para
código de processador nativo. A máquina virtual entende o formato de bytecode Java. A
máquina virtual é capaz de interpretar o bytecode, o conjunto de instruções, e então
executa o programa.
Existem dois tipos distintos de compilação de dados usados por máquinas
virtuais, Just-in-time e ahead-of-time, sendo o último mais rápido.
Os desenvolvedores têm a oportunidade de desenvolver aplicativos para
Android usando Windows, OS X ou Linux, enquanto o compilador Java transforma o
código-fonte em bytecode, que é executado na máquina virtual do Android.
A máquina virtual original em telefones e tablets Android tem o nome de
Dalvik. A próxima geração de VM é ART.
Por outro lado, Java está entre as linguagens de programação mais difíceis
de aprender. Ao ouvir isso, comecei a tremer nos sapatos, mas isso não me impediu de
me aprofundar mais nisso.
Existem prós e contras em usá-lo, como acontece com qualquer linguagem de
programação.
25

Os prós
 Muitos códigos gratuitos disponíveis para jogos;
 Muitos tutoriais e instruções;
 O Google e a Play Store adoram;
 Um dos mais usados para fazer aplicativos Android;
 Suporta Android Studio;
 É versátil.
Os contras
 Vem com uma curva de aprendizado que é íngreme;
 Muitos tópicos confusos para aprender, pois é uma linguagem de
programação orientada a objetos;
 Não é a linguagem de computador mais fácil de ler;
 Leva muito tempo para aprender;
 As atualizações são rápidas, o que torna difícil mantê-las atualizadas.

2. Basic/B4A
Basic é a abreviação de “Código de instrução simbólica para todos os fins
para iniciantes”. Esta é uma linguagem de computador que é um prazer de usar. 
B4A é BASIC 4 Android. O nome diz tudo. É BÁSICO, mas para aplicativos
Android.
Novamente, ele vem com prós e contras.
Os prós
 BASIC 4 Android permite o desenvolvimento de aplicativos Android;
 É uma boa maneira de começar a codificar;
 Aplicativos poderosos podem ser desenvolvidos usando BASIC 4
Android;
 A comunidade apoia.
Os contras
 O Basic não oferece suporte ao Android Studio;
 BASIC 4 Android não é a escolha mais popular para a codificação de
aplicativos Android;
 Isso não é adequado para o desenvolvimento de aplicativos Android de
ponta;
26

 É muito difícil desenvolver aplicativos com as especificações de


“Material Design”;
 Seu uso não é gratuito.

3. C #
C # é uma versão orientada a objetos de C / C ++ que é pura. Também achei
muito mais fácil de utilizar.
Esta linguagem combina o poder oferecido pelo C ++ com a facilidade de uso
que o Visual Basic oferece durante a leitura como Java, mas mais fácil. Qualquer pessoa
nova no aprendizado de codificação pode querer começar com C # ao mergulhar os pés
na água.
Eu recomendo começar usando uma combinação de C # e Unity, pois eles
funcionam extremamente bem juntos. Unity é um motor de jogo perfeito para jogos 3D
que oferecem física. O que adoro no Unity é o fato de ser gratuito e muito fácil de
desenvolver um jogo 3D. O básico de um jogo 3D pode ser obtido em apenas 1 hora,
graças a algumas linhas de código.
Os prós
 C # é fácil de entender e usar;
 É orientado a objetos;
 É tão poderoso quanto C ++;
 É fácil de ler;
 Sem vazamentos de memória graças à limpeza de lixo;
 Funciona muito bem com o motor de jogo Unity;
Os contras
 C # e Unity são bons juntos para desenvolver jogos 3D, mas não tão
bons para aplicativos padrão;
 Não está de acordo com a linguagem do Material Design do Google;
 Isso limita as chances de emprego como desenvolvedor Android
profissional.
Recomenda-se C # e Unity se estiver desenvolvendo um jogo 3D para
Android, pois é fácil e agradável com resultados rápidos. C # também é uma excelente
escolha para aprender a codificar.
27

4. Corona/LUA
Corona está entre as opções mais simples para desenvolver aplicativos
Android, oferecendo boa potência e controle.
A codificação em Corona é LUA. É mais fácil de usar do que Java, pois é
usado com o Corona SDK.
Existem alguns benefícios em usar o Corona SDK para desenvolver
aplicativos Android. As pessoas por trás da Corona dizem que seu produto permite que
os desenvolvedores trabalhem em aplicativos móveis com uma velocidade dez vezes
maior. Eles também se gabam de que funcionalidades complexas podem ser
incorporadas com apenas algumas linhas de código. Ele tem um simulador integrado, o
que significa que os desenvolvedores podem ver como o aplicativo ou jogo está
progredindo.
Corona também possui recursos para conteúdo gráfico e interatividade em
jogos e aplicativos Android. Ele também oferece uma grande variedade de opções de
design.
Corona tem uma comunidade de desenvolvedores que está crescendo junto
com um repositório mútuo para códigos, fragmentos de código e compartilhamento de
conhecimento. Ele também tem suporte para monetizar aplicativos embutido, incluindo
compras de aplicativos, anúncios em banner e uma escolha de moeda.
Bibliotecas nativas são suportadas, então publicar jogos em várias
plataformas é fácil. Corona é geralmente usado em jogos; no entanto, descobri que é
possível usá-lo em outros aplicativos também. É necessário um bom editor de texto,
como o Notepad ++. Isso é usado para escrever o código. Tal como acontece com
outras linguagens de programação, existem prós e contras em usar Corona/LUA.
Os prós
 Oferece uma introdução fácil à codificação;
 É uma linguagem de programação muito rápida de usar;
 Suporte para todas as bibliotecas nativas, o que significa a capacidade
de publicar em várias plataformas;
 Capacidade de executar código usando um emulador sem compilar.
Os contras
 É necessário um editor de texto para inserir o código; recomenda-se o
Notepad ++;
28

 A linguagem precisa de algumas habilidades de codificação para ser


usada;
 É limitado em comparação com algumas das outras linguagens de
programação;
 Recursos como compras no aplicativo ou uso da API do Android
significam que os usuários precisam pagar uma taxa.
Ter que baixar um editor de texto adicional é um pouco cansativo. Esta
linguagem pode não ser adequada para aqueles que são novos em codificação, pois
algumas habilidades são necessárias. No entanto, ele tem suporte para bibliotecas
nativas para várias plataformas e é mais fácil de usar do que Java.

5. Kotlin
Kotlin é relativamente novo no mundo das linguagens de programação, mas
surgiu aos trancos e barrancos. Desde que se tornou o centro das atenções, tornou-se
uma espécie de linguagem oficial na programação de aplicativos Android.
Kotlin depende de Java Virtual Machine. Uma das principais coisas que adoro
em Kotlin é que ele não leva a nenhuma desaceleração. Nem faz com que o tamanho
dos arquivos aumente. A linguagem do computador não é difícil de ler usando menos
“boiler plate”.
Existem fatores pelos quais você pode querer escolher Kotlin em vez de uma
das outras linguagens de programação. Embora seja uma adição relativamente nova às
linguagens de programação, o Kotlin só foi lançado depois de passar por vários estágios
antes de seu lançamento final. 
Kotlin possui um plugin IDE que funciona perfeitamente. Inclui vários recursos
oferecidos em Java. Outra semelhança que ele compartilha com o Java é o tempo de
compilação. Em alguns casos, descobri que compilar em Kotlin é mais rápido do que em
Java.
O Android Studio e o Kotlin se integram perfeitamente. Mesmo quando você
está começando com o idioma, leva apenas cerca de 10 minutos para criar um projeto
para começar. A linguagem suporta extensões Kotlin Android junto com bibliotecas Anko
e outras.
Erros como exceções de ponto nulo não são um problema com Kotlin. No
geral, é uma linguagem de programação muito fácil para usuários iniciantes no
desenvolvimento de aplicativos Android. Agora vamos destacar os prós e os contras.
29

Os prós
 A linguagem oferece suporte a Java Virtual Machine;
 Não faz com que o tamanho dos arquivos aumente ou cause qualquer
desaceleração;
 É simplificado e fácil de ler;
 Ideal para quem está aprendendo a codificar para aplicativos Android;
 Suporta Android Studio.
Os contras
 Embora seja fácil de aprender, não é tão fácil quanto aprender C #
junto com o Unity;
 Praticamente sem suporte da comunidade;
 A versão beta do Android Studio é necessária para suporte imediato.
Kotlin vale a pena ser considerado por qualquer novato na codificação de
aplicativos Android, mas há pouco apoio da comunidade. Ele tem suporte para Android
Studio e é um ponto de entrada.

4.3 TENDÊNCIAS

Em primeiro lugar, as tendências de desenvolvimento de aplicativos móveis


são definidas pela demanda. Em 2020, uma das consequências da pandemia COVID-19
foi um aumento dramático da demanda por certas categorias de aplicativos móveis. O
número de downloads de Zoom, Google's Meet, Microsoft's Teams disparou e, em
algum ponto, a capitalização do Zoom ultrapassou o de Boing. Os aplicativos móveis
que ajudavam as pessoas a se adaptarem e a lidar com a doença se tornaram
extremamente populares e - para atender à demanda em rápido crescimento - as
empresas tiveram que investir pesado no desenvolvimento desses aplicativos para
aumentar sua capacidade e trazer novos recursos.
Este ano de 2021, porque a pandemia ainda está aqui, é completamente
justificado para aplicativos móveis de videoconferência, entrega, educação remota e
streaming de mídia para continuar a dominar o cenário móvel. Ao mesmo tempo, como
várias vacinas são administradas a milhões de pessoas em todo o mundo, devemos
30

esperar que a dependência dessas plataformas diminua, mas no momento a demanda


ainda é muito alta.
Nos últimos anos, uma das características que realmente mexeu com os
dispositivos vestíveis foram as aplicações médicas e de fitness. Ter sensores em seu
pulso o tempo todo abre um monte de oportunidades para os desenvolvedores de
aplicativos explorarem. A mais recente melhoria do sensor Apple Watch para analisar a
corrente sanguínea do corpo humano permitiu medir o nível de oxigênio no sangue, que
é um parâmetro vital para monitorar as pessoas para possível contração do vírus
COVID-19.
O satélite constante de um desenvolvimento de hardware móvel é uma
quantidade cada vez maior de informações para capturar, analisar e discernir padrões
com base nessas informações. Sem dúvidas, 2021 testemunhará novos avanços em
Aprendizado de Máquina para dar sentido a todos os tipos de dados capturados por
sensores óticos e de áudio.

Os temas comuns são:


 Devido ao impacto mundial da pandemia COVID-19, as tecnologias
vestíveis, especificamente dispositivos médicos, por exemplo, para
rastrear o nível de oxigênio no sangue, terão um impulso significativo
no desenvolvimento. Assim como as categorias de aplicativos, como E-
learning, Redes Sociais, Comunicação, Vídeo, Finanças e Jogos,
continuarão tendo alta demanda.
 A tecnologia da Internet das Coisas terá o maior facilitador, como 5G
amplamente disponível (infraestrutura e smartphones, como iPhone 12
e número de telefones com sistema operacional Android que o
suportam) para tornar as casas e, até certo ponto, as cidades
inteligentes, conectando dispositivos móveis com um grande número
de sensores.
 O desenvolvimento de aplicativos de plataforma cruzada continuará a
fornecer uma solução inteligente para empresas que precisam de uma
única solução móvel de plataforma cruzada para economizar dinheiro
no desenvolvimento de várias plataformas móveis.
31

5 CONCLUSÃO

Conforme estabelecido neste PTI, as definições de startups tendem a ser


subjetivas e relativas por natureza.
No entanto, é crucial para uma startup identificar qual é sua solução
inovadora ou sua história de ciclo de vida de startup e capitalizar sobre isso. Há uma
razão pela qual os pitch decks tendem a ter um formato que cobre tudo, desde o
problema à solução e composição da equipe - esses tópicos são, afinal, o que ajuda
qualquer investidor a identificar “uma boa startup”.
Neste estudo vimos várias possibilidades que a empresa pode adotar o que
vai deixa-la mais tecnológica e funcional, com mais eficácia e rapidez nos
desenvolvimentos dos processos de trabalho.
Hoje em dia as empresas necessitam acompanhar todos os avanços
tecnológicos porque as tecnologias será o futuro de todas empresa. É preciso ir
acompanhando, adaptando e realizando novas descobertas nesse ramo da tecnologia
para assim poder acompanhar e continuar no mercado competidor.
32

FONTES

https://rampazzos.com.br/blog/2021/01/05/qual-a-origem-do-termo-startup/#:~:text=Qual
%20a%20origem%20do%20termo%20Startup%3F,-Janeiro%205%2C
%202021&text=Sua%20origem%20remonta%20aos%20anos,Magazine%20(FORBES
%2C%201976).

https://usemobile.com.br/como-criar-um-aplicativo

https://www.numeric.srv.br/o-que-e-uma-startup

https://vibetecnologia.com/consultoria-startup/

https://atendimento.sebraemg.com.br/biblioteca-digital/content/como-montar-uma-
empresa-de-consultoria-virtual

Você também pode gostar