• Nenhum resultado encontrado

5 Passos Para Ser Um App Dev. Capa. CelsoKitamura.com.br 1

N/A
N/A
Protected

Academic year: 2021

Share "5 Passos Para Ser Um App Dev. Capa. CelsoKitamura.com.br 1"

Copied!
55
0
0

Texto

(1)

CelsoKitamura.com.br 1

(2)

2 CelsoKitamura.com.br

Índice

Pra Começar ... 5

Mas Antes... O Que Faz Um App Dev? ...7

A Revolução Dos Aplicativos ... 9

Sobre Celso Kitamura ... 13

Passo 1 - Ferramentas ... 16

Computador ... 16

Windows 10 ... 19

Conexão Com A Internet ... 21

Visual Studio ... 24

Passo 2 - Estude Os Fundamentos ... 27

Lógica de Programação ... 27

Linguagem C# ... 29

Passo 3 - Processo de Desenvolvimento ... 33

Gestão de Requisitos ... 34

Manutenibilidade... 36

Gestão de Configuração ... 37

Passo 4 - Treine Muito ... 40

Passo 5 - Mantenha-se Atualizado ... 45

(3)

CelsoKitamura.com.br 3

Participe De Discussões ... 50 Um Último Recado ... 52

(4)

4 CelsoKitamura.com.br

(5)

CelsoKitamura.com.br 5

Pra Começar

Várias pessoas possuem o desejo de

ser um App Dev, mas não sabem

como entrar no mercado.

E pelos mais diferentes motivos...

• Para desenvolver um aplicativo que

possibilite um novo modelo de negócios como o

Waze, Uber e muitos outros;

• Por conta do mercado de trabalho, onde há muitas vagas não preenchidas por falta de

qualificação dos candidatos e porque esta área sempre sofre beeem menos em tempos de

crise.

• Ou pelo simples desafio de resolver

problemas complexos (e bota complexo nisso), E você, por qual destes motivos quer se tornar um App Dev?

(6)

6 CelsoKitamura.com.br

Pois neste pequeno e-book vou mostrar os 5 principais pontos para que você possa se tornar um desenvolvedor, os passos essenciais para você começar a desenvolver apps com o pé direito!

(7)

CelsoKitamura.com.br 7

Mas Antes... O Que Faz Um App Dev?

O desenvolvedor de aplicativos é o profissional que transforma pizza e café em software. Falando sério...

O desenvolvedor de aplicativos é o profissional responsável por construir softwares, inclusive estes que você com certeza usa diariamente:

(8)

8 CelsoKitamura.com.br

Ele escreve e testa códigos para construir as

aplicações e tem um alto nível de conhecimento técnico. Inclui-se também as atividades de

manutenção dos sistemas, entre correções e pequenas evoluções.

O Desenvolvedor é muito mais que um programador. Além da linguagem de

programação, ele conhece também todas as fases do desenvolvimento, ferramentas,

bibliotecas, etc.

O Desenvolvedor de Software tem seu capital intelectual como ferramenta de trabalho.

(9)

CelsoKitamura.com.br 9

A Revolução Dos Aplicativos

Hoje a maioria das pessoas possui um

smartphone e/ou um tablet. E neles, diversos aplicativos instalados.

Aplicativos das mais diversas categorias, desde jogos, passando por redes sociais, transporte compartilhado, editores de fotos, até monitores de atividade física.

(10)

10 CelsoKitamura.com.br

Com eles tiramos o máximo de proveito dos

nossos aparelhos: podemos viajar para qualquer lugar navegando com um GPS, capturamos e fazemos a edição de pequenos vídeos,

conseguimos pagar nossas contas sem precisar ir a uma agência bancária, etc.

À medida que os hardwares vão evoluindo e incorporando mais tecnologia e sensores, as possibilidades são infinitas! Hoje já temos

aparelhos do mercado com bússola, barômetro, leitor de impressões digitais, sensor de

luminosidade, câmera térmica...

A melhor definição que encontrei para a palavra "revolução" (no contexto da tecnologia atual) foi: transformação profunda. Pois é exatamente isso que estamos vendo e, principalmente,

(11)

CelsoKitamura.com.br 11

Várias empresas bilionárias surgiram a

partir de aplicativos, como o

Instagram e WhatsApp. Quantas mais

ainda estão por surgir?

E você, vai ficar vendo essa onda passar? Ou vai entrar nela também?

(12)

12 CelsoKitamura.com.br

(13)

CelsoKitamura.com.br 13

Sobre Celso Kitamura

Celso Kitamura é Engenheiro de Computação de formação.

Aprendeu a programar com a linguagem Basic

aos 14 anos, depois do pai comprar um

computador Expert da Gradiente, que utilizava o sistema MSX.

Começou profissionalmente na área de

(14)

14 CelsoKitamura.com.br

programador, quando ingressou em uma

consultoria e participou de projetos para os mais diferentes segmentos utilizando ferramentas

Microsoft.

Cursou pós em Engenharia de Software e desde então continua estudando metodologias e

ferramentas que possam aperfeiçoar a arte de fazer software.

Casado com a confeiteira Jeanne Novais, pai do

Yuki e fã de Transformers.

Bom, chega de papo e vamos para os 5 passos para se tornar um App Dev!

(15)

CelsoKitamura.com.br 15

(16)

16 CelsoKitamura.com.br

Passo 1 - Ferramentas

Computador

Ter seu próprio computador é pré-requisito para se tornar um desenvolvedor de aplicativos.

Afinal, não dá para desenvolver softwares na lan

house, né? Pois precisamos instalar vários

softwares, alterar configurações, etc.

E ele precisa ter uma configuração acima da

(17)

CelsoKitamura.com.br 17

desenvolvimento, frequentemente precisamos executar servidor web, servidor de banco de dados, emuladores de dispositivos e outros programas tudo ao mesmo tempo.

Outro ponto a ser levado em conta é a

configuração recomendada para a instalação do

Visual Studio, a IDE da Microsoft que

utilizaremos e pode ser encontrada no site do Visual Studio.

Resumindo, compre a melhor máquina que seu bolso permitir.

Então Vou Precisar Comprar Uma

Máquina Nova?

Para desenvolver softwares profissionalmente, infelizmente a resposta é SIM. É necessário um computador com uma boa configuração (como disse acima).

(18)

18 CelsoKitamura.com.br

Isso quer dizer que você não precisa sair

correndo e comprar uma máquina nova. Muito provavelmente com seu computador atual será possível você começar seus estudos.

(19)

CelsoKitamura.com.br 19

Windows 10

Para desenvolver aplicativos para Windows 10, precisamos que nossa máquina também venha com o Windows 10 instalado.

Das várias versões do Windows 10 é bom você conhecer dois: Home e Pro

A diferença entre os dois que nos interessa é o

(20)

20 CelsoKitamura.com.br

O Hyper-V é uma tecnologia de virtualização, ou seja, permite a instalação e uso

simultaneamente mais de um sistema operacional na mesma máquina.

O que você precisa saber no momento é os

emuladores de dispositivos no Windows 10 são executados sobre máquinas virtuais (VM) e estas máquinas só rodam em Windows 10 Pro.

Eu não preciso de emuladores para desenvolver apps, pois posso usar um dispositivo físico para testar meu app. Porém o uso de emuladores para testar as primeiras versões é muito mais prático.

(21)

CelsoKitamura.com.br 21

Conexão Com A Internet

Hoje em dia não conseguimos fazer nada sem internet, não é mesmo?

E para ser um desenvolvedor de aplicativos é a mesma coisa. Precisaremos da internet para instalar os softwares necessários e

posteriormente para atualizá-los.

Sem falar no NuGet, um gerenciador de

(22)

22 CelsoKitamura.com.br

Você pode utilizar bibliotecas de terceiros que resolvem determinados problemas sem precisar ficar “reinventando a roda”. E através do NuGet, garantir que todas as bibliotecas estão

atualizadas em suas versões corretas, evitando erros de referência em seus projetos.

Sem falar na hora de tirar alguma dúvida. “Não

lembro direito da sintaxe daquele comando...”,

“Quais parâmetros eu posso enviar para aquele

método?”, “Como faço para alterar

determinada propriedade?”.

Estes tipos de dúvidas (e muitas outras) são muito frequentes em nosso dia a dia e com a internet podemos consultar documentações oficiais e códigos que servem de exemplo para nosso próprio software.

Antigamente (e nem faz muito tempo) essa

documentação de ajuda vinha gravada em CDs e tínhamos que instalar todo esse material de consulta em nossas máquinas. Além de ocupar

(23)

CelsoKitamura.com.br 23

espaço em nossos computadores, ficávamos limitados a aquele conteúdo e para atualizar a informação só instalando uma versão mais nova.

(24)

24 CelsoKitamura.com.br

Visual Studio

Se você conseguiu uma máquina com uma configuração igual ou maior que a

recomendada para a instalação do Visual Studio, então é só instalar!

No site do Visual Studio você pode conhecer suas versões e fazer o download do instalador. O Visual Studio tem várias versões disponíveis:

(25)

CelsoKitamura.com.br 25

• Community: gratuito para desenvolvedores individuais e equipes de até 5 desenvolvedores de pequenas empresas.

• Professional: versão paga para pequenas empresas e que dá direito a alguns benefícios a mais que a versão Community, como crédito mensal no Azure e licença do Team Foundation Server.

• Enterprise: esta versão também é paga e ideal para grandes empresas. Inclui algumas extensões corporativas, mais créditos mensais no Azure, entre outros benefícios.

Minha sugestão é que você instale a versão

Community. Primeiro, por ser gratuita. Segundo, porque os itens exclusivos das outras versões

não serão utilizados neste momento em que você está começando a aprender a desenvolver softwares.

(26)

26 CelsoKitamura.com.br

(27)

CelsoKitamura.com.br 27

Passo 2 - Estude Os

Fundamentos

Lógica de Programação

Antes de cair de cabeça nos estudos de uma

linguagem, estude bem lógica de programação. É o início de tudo e sabendo muito bem lógica você será capaz de entender qualquer

linguagem de programação. Pois o que difere uma linguagem da outra é a sintaxe e algumas estruturas.

(28)

28 CelsoKitamura.com.br

Muita gente acha que programar é difícil. Antes de mais nada você deve quebrar esse paradigma em sua cabeça.

Programar é como se fosse

brincadeira com blocos de montar.

Você utiliza peças (algumas pequenas,

outras nem tanto) para criar um

objeto maior.

As estruturas são os blocos básicos e as

bibliotecas são como os blocos com formatos mais específicos que utilizamos para montar o aplicativo.

(29)

CelsoKitamura.com.br 29

Linguagem C#

Para desenvolver aplicativos para Windows utilizamos a linguagem C# (se lê "C Sharp").

Os fundamentos, conceitos e melhores práticas da linguagem são muito importantes no

desenvolvimento de um software. Portanto precisamos estudá-los muito bem.

(30)

30 CelsoKitamura.com.br

• Código desnecessário (fazer operações sem necessidade, por exemplo),

• Ilegível (outro desenvolvedor não

consegue entender o que você quis fazer) e/ou • Difícil de manter (fazer uma alteração ou correção leva muito mais tempo que deveria). Perdi a conta de quantas vezes abri um código para dar manutenção e vi muitos problemas de conceitos... trinta linhas de código que poderiam ser substituídos por três! E o pior de tudo é que ainda tinha erro nele.

Lembro também de uma vez que encontramos um erro numa operação matemática. Havia

diferença na terceira ou quarta casa decimal entre o resultado que o sistema mostrava no

relatório e o resultado feito numa calculadora ou no Excel.

Depois de muito bater cabeça, vimos que estávamos chamando um método de uma biblioteca externa (feito por terceiros) para

(31)

CelsoKitamura.com.br 31

efetuar a conta e lá existia mais um parâmetro a ser passado. Foi só enviar mais este parâmetro e os resultados foram corrigidos.

Se tivéssemos estudado a documentação da biblioteca antes, teríamos descoberto o

(32)
(33)

CelsoKitamura.com.br 33

Passo 3 - Processo de

Desenvolvimento

Muito mais que programar, o

desenvolvedor deve saber como

funciona o processo de

desenvolvimento de software.

Para desenvolver softwares profissionalmente, temos que pensar muito além do código. Temos que ter em mente todo o ciclo de vida da

(34)

34 CelsoKitamura.com.br

Veja alguns exemplos de aspectos muito

importantes no desenvolvimento de softwares além da programação:

Gestão de Requisitos

Costumo dizer que "Tudo em informática é

possível, depende do dinheiro e tempo que você tem para investir". Desta forma, como saber

quais funcionalidades o usuário precisa em nosso aplicativo?

Quais técnicas e ferramentas podemos utilizar para conseguir extrair o que o usuário quer no software? E o mais importante: como saber

quais funcionalidades são essenciais e quais são pura "perfumaria"? Na maioria das vezes nem o usuário sabe...

Uma das técnicas é o MVP (Minimum Viable

Product - Mínimo Produto Viável), que é

definido como "versão de um novo produto que permite a uma equipe coletar o máximo de

(35)

CelsoKitamura.com.br 35

aprendizado validado sobre clientes com o mínimo de esforço". Em resumo, qual é o

mínimo de software que eu preciso desenvolver para poder validar meu negócio?

E depois do software pronto, quais insumos

(documento de requisitos, histórias de usuários) deram origem a determinada funcionalidade do software? Afinal, toda funcionalidade do

aplicativo deve ter sido desenvolvido para atender a alguma necessidade do usuário, certo? Senão não há razão dela estar lá.

(36)

36 CelsoKitamura.com.br

Manutenibilidade

Manutenibilidade se refere a facilidade de um software ser modificado. E essa modificação pode ser por algum destes motivos:

• Corrigir erros (os famosos bugs);

• Novos requisitos (um software não é estático, ele deve ser atualizado

constantemente seguindo a evolução do negócio);

• Aumentar a suportabilidade (facilidade de detectar erros que o cliente reporta, facilidade de instalação, etc.);

• Adequação a um ambiente novo (mudança de tecnologia).

Ou seja, quanto o código que estou escrevendo é passível de manutenção sem maiores

traumas? Ou ele é uma salada só e se eu mexer numa linha do código posso "derrubar" todo o sistema?

(37)

CelsoKitamura.com.br 37

Gestão de Configuração

Nem vou falar da importância de se ter cuidado com o código fonte do nosso aplicativo. É o

básico do básico guardá-lo num lugar seguro, com backup, etc.

Mas e o resto? A gestão de configuração vai muito além do controle do código fonte.

Qual a versão do Visual Studio utilizada para desenvolver o aplicativo? E a versão do

Windows? Se utilizarmos

ferramentas/bibliotecas de terceiros, sabemos que versão foi utilizada? Temos a licença de todos os softwares utilizados?

E para que tudo isso? Vamos supor que por qualquer motivo precisaremos configurar do zero uma máquina de desenvolvimento com Windows, Visual Studio, ferramentas de

(38)

38 CelsoKitamura.com.br

os instaladores e licenças de todos os softwares? Que versão instalar?

(39)
(40)

40 CelsoKitamura.com.br

Passo 4 - Treine Muito

Um corredor de 100 metros rasos precisa treinar diariamente se quiser ser um atleta profissional. E se quiser ganhar uma medalha olímpica, tem que treinar muito mais!

Com desenvolvimento de software é a mesma coisa.

Quanto mais você programar, mais

problemas resolver, melhor você fica.

(41)

CelsoKitamura.com.br 41

Sua visão se abre a outros assuntos que te ajudam a ser um programador melhor.

Apesar de ser um desenvolvedor, já aprendi muita coisa de configuração de redes e

servidores no momento de colocar um sistema em produção. Isso não me faz um especialista em infraestrutura (longe disso), mas me ajuda bastante quando estou programando. Consigo antecipar alguns problemas que poderiam

surgir somente no momento de implantar o sistema.

Como por exemplo: O sistema vai ser acessado pela intranet ou internet? O login será via Active Directory ou teremos um cadastro de usuários? O servidor web está na mesma rede do servidor de base de dados? Existirá mais de um servidor web com load balance?

E eu digo treinar não no sentido de estudar, ficar lendo a documentação da linguagem... Treinar fazendo projetos de aplicativos completos.

(42)

42 CelsoKitamura.com.br

Aplicativos funcionais que façam algo de valor, não apenas ficar imprimindo frases para o

usuário (isso é muito importante para fixar os conceitos, mas você já fez no passo anterior). E treine projetos completos, desde o

levantamento de requisitos, prototipação, arquitetura, desenvolvimento, testes,

implantação/instalação até o controle de versões.

Dica: nos seus primeiros projetos, você mesmo

pode ser o cliente. Imagine um aplicativo que resolveria um problema seu. Descreva as

funcionalidades que gostaria de ver neste

aplicativo. Faça um esboço das telas. Estude a navegação entre elas.

Na época que comecei, por exemplo, fiz um programa de catalogação de CDs. Listei as

funcionalidades que gostaria em um software deste tipo, desenhei as telas de cadastro,

(43)

CelsoKitamura.com.br 43

Desenvolvi e testei todas as telas de acordo com que tinha desenhado. Fiz algumas modificações pois no papel achei que seria possível fazer

algumas coisas e na hora de desenvolver não consegui.

Quando comecei a utilizar o software encontrei mais alguns bugs, alterei algumas

funcionalidades que não ficaram tão bons quanto pareciam, até que ele ficou estável e consegui usar ele por um bom tempo sem encontrar mais nenhum problema.

Hoje em dia poderia ser um aplicativo de

controle de lista de supermercado, onde você cadastra os produtos que irá comprar e no

mercado colocaria o preço dos produtos. E nas próximas compras poderia comparar quanto pagou no mês passado, a média de preços, etc.

(44)

44 CelsoKitamura.com.br

(45)

CelsoKitamura.com.br 45

Passo 5 - Mantenha-se

Atualizado

Estudar e aprender os conceitos e

fundamentos da arte de programar é

muito importante, mas se manter

atualizado também é.

Frequentemente temos notícias sobre atualizações e evoluções que estão sendo desenvolvidas para o framework, novas

(46)

46 CelsoKitamura.com.br

processo de desenvolvimento, bibliotecas que facilitam tarefas, etc.

Veja minha história como exemplo: quando comecei profissionalmente na área de

desenvolvimento de softwares, a internet estava começando a se popularizar aqui no Brasil.

Eu era um programador Visual Basic e estava começando a trabalhar com a tecnologia Web. Nesta época, tive que aprender VBScript (uma variação do Visual Basic) para programar

webistes em ASP (Active Server Pages). Tive que

aprender também Jscript para fazermos mais operações do lado do cliente (no navegador), pois nesta época a conexão era devagar e estreita (era medida em Kb por segundo).

O tempo foi passando e sobrevivemos a bolha da internet. A tecnologia de desenvolvimento de sistemas utilizando arquitetura Web avançava a passos largos. Vieram o Java e .NET.

(47)

CelsoKitamura.com.br 47

E lá fomos nós aprendermos outra linguagem, desta vez o C#. Junto com o .NET vieram outras ferramentas, metodologias e tecnologias: .NET Framework, IIS, MVC, Entity Framework, etc.

Depois chegou o iPhone e sua loja de aplicativos chacoalhando o mercado novamente. A

revolução dos aplicativos móveis chegara. E se eu tivesse parado no tempo do Visual Basic? Iria fazer o que atualmente? Minhas

opções com certeza seriam bem menores que as de hoje...

(48)

48 CelsoKitamura.com.br

Frequente Sites Especializados

Visitar sites e canais especializados em

tecnologia e desenvolvimento de software é indispensável para ficar atualizado com o que acontece no mercado.

Atualmente a velocidade da

informação é muito grande e uma

nova tecnologia se torna a bola da vez

da noite para o dia.

Lembro que antes dos anos 2000 uma

tecnologia que possibilitava o acesso a internet com celulares da época chegou como

revolucionária. Era o WAP (Wireless Application

Protocol), mas atualmente está em

desuso pois os celulares já são bem diferentes daqueles utilizados 20 anos atrás.

Outra dica: não fique restrito na plataforma que

(49)

CelsoKitamura.com.br 49

mercado como um todo. Não precisa virar um programador Java, mas saiba o que está

(50)

50 CelsoKitamura.com.br

Participe De Discussões

Outra maneira de se manter atualizado é

participar de grupos de discussões em fóruns, sites e grupos de desenvolvedores.

Lá são debatidos também coisas mais técnicas, com soluções descritas com código fonte.

Também são lugares onde você pode postar

dúvidas e pedir ajuda com seu código. Aliás, esta é uma ótima maneira de você treinar e se

atualizar ao mesmo tempo. Entre nestes sites e ajude aqueles que precisam. Leia o código que eles fizeram e corrija quando possível, dê

sugestões, interaja com outros desenvolvedores. O site Stack Overflow está cheio de devs com dúvidas.

(51)

CelsoKitamura.com.br 51

(52)

52 CelsoKitamura.com.br

Um Último Recado

Se você conseguiu chegar até aqui, parabéns! Já deu para perceber que ser um App Dev

qualificado é muito mais que comprar uma máquina cara e saber as estruturas básicas da programação.

É muito estudo, treino e dedicação para que consigamos resolver problemas através de um sistema do modo mais eficiente.

(53)

CelsoKitamura.com.br 53

Programadores encontramos as pencas por aí. Mas desenvolvedores, aqueles que conhecem além da programação, são poucos. E para estes desenvolvedores completos, que programam e ainda tem uma visão de todo o processo de

desenvolvimento, existem muitas oportunidades no mercado.

É trabalhoso? Sim, mas é muito

gratificante também!

Quando você vê um sistema no ar funcionando corretamente, mudando a dinâmica de uma

empresa, fornecendo informações rapidamente, enfim, fazendo ela trabalhar melhor, dá um

orgulho danado do caminho que escolhemos seguir: ser um desenvolvedor de sistemas.

E convido você a embarcar nessa, a se juntar ao time de desenvolvedores que mudarão o

(54)

54 CelsoKitamura.com.br

humanidade quebrando paradigmas que pareciam impossíveis!

O início desta jornada comigo é o minicurso

Profissão App Dev: Unlock.

Um curso onde você vai ver um pouco das 3 coisas mais importantes que um App Dev deve saber: Lógica de Programação, Linguagem C# e Processo de Desenvolvimento.

Nada de pseudo linguagem, linguagens fakes ou portugol. Vamos aprender a desenvolver softwares a partir de requisitos definidos. Aprender fazendo software ao invés de exercícios sem contexto.

Clique aqui para saber mais sobre o Profissão

App Dev: Unlock.

Bora criar um app e transformar o

mundo?

(55)

CelsoKitamura.com.br 55

Referências

Documentos relacionados

O objetivo deste trabalho foi avaliar épocas de colheita na produção de biomassa e no rendimento de óleo essencial de Piper aduncum L.. em Manaus

Parágrafo Terceiro: Respeitado o previsto no parágrafo segundo desta cláusula, as empresas também estão autorizadas a descontar o custo diário da alimentação em até 20% (vinte

• A falta de registro do imóvel no CAR gera multa, impossibilidade de contar Áreas de Preservação Permanente (APP) na Reserva Legal (RL), restrição ao crédito agrícola em 2018

Preliminarmente, alega inépcia da inicial, vez que o requerente deixou de apresentar os requisitos essenciais da ação popular (ilegalidade e dano ao patrimônio público). No

2.1. Disposições em matéria de acompanhamento e prestação de informações Especificar a periodicidade e as condições. A presente decisão será aplicada pela Comissão e

Após a receção das propostas apresentadas pelos concorrentes acima indicados, o Júri decidiu não admitir a concurso as Propostas do concorrente “Oficina da Inovação, S.A” por

Almanya'da olduğu gibi, burada da bu terimin hiçbir ayrım gütmeden, modern eğilimleri simgeleyen tüm sanatçılar için geçerli olduğu anlaşılıyor.. SSCB'de ilk halk

Como eles não são caracteres que possam ser impressos normalmente com a função print(), então utilizamos alguns comandos simples para utilizá-los em modo texto 2.. Outros