Buscar

Aprendiendo a Programar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Aprendendo a programar.
Capítulo I
Introdução tecnológica ao 
desenvolvimento de aplicativos. 
Como funciona um computador?
• O computador é um aparelho que talvez pareça mais 
complexo do que outros, mas depende das instruções para 
saber o que fazer. Por exemplo, quando você pressiona o 
botão de ligação, o computador mostra seu logo, depois 
carrega o Windows, depois de uns minutos aparece o 
ponteiro do mouse para poder começar a usá-lo, depois 
carrega a área de trabalho e assim por diante.
• Parece que ele é inteligente, mas quase sempre faz a 
mesma coisa, na mesma ordem. Ele está cumprindo 
ordens.
• A programação é simplesmente as ordens que o 
computador precisa para fazer alguma coisa, do mais 
simples até o mais complexo, mas todas elas são ordens. 
Como forneço essas ordens?
• Ao longo do curso, vamos aprender como 
fornecer essas ordens e você vai encontrar 
muitos termos estranhos para denominar cada 
uma das formas de fornecer essas ordens.
• Você vai começar a escutar termos como HTML, 
CSS, Javascript, C#, MVC, Java, SQL, Ruby, Python, 
C, C++, WPF, Android, IOS, Windows Phone, 
Windows 8 , Serviços REST, JSON, XML, AJAX, 
AJAJ.
Dominar a Matrix
• Vamos começar por aqui. Você está lendo este 
curso, neste computador, devido a que 
alguém escreveu um programa que 
chamaram Sistema Operacional e a que outras 
pessoas escreveram o programa chamado 
Internet Explorer para navegar na Internet e 
chegar até aqui. Alguém também programou
este site para que você encontre este 
documento. 
Dominar a Matrix (continuação)
• Você usou o telefone hoje para uma 
mensagem ou para falar? Você pode se 
comunicar porque na companhia telefônica 
existem programas informáticos que verificam 
quem é você, se você tem saldo na conta para 
realizar a ligação, através do número que você 
marcou detecta para quem está ligando, 
localiza onde está essa pessoa, envia um sinal 
para que toque o telefone do destinatário e 
estabelece a ligação. 
Como funcionam as coisas?
• Já dissemos que os aparelhos não são 
inteligentes, só sabem fazer uma tarefa 
repetidamente de forma muito eficiente.
• Cada vez que vemos que uma tarefa é realizada 
sempre da mesma forma, ela é candidata para 
criar um programa para que seja feita 
automaticamente. 
• Portanto, devemos compreender que programar 
é simplesmente dizer para o computador como é 
a sequência de passos para conseguir realizar 
uma tarefa. 
Exemplo com um jogo
• Temos um jogo com uma personagem. Ao 
pressionar o botão do joystick, ele pula.
• Se o botão é pressionado repetidamente, a 
personagem pula da mesma forma que a vez 
anterior.
• Vamos pensar só na personagem pulando, 
sem considerar o que acontece no resto do 
jogo. 
Exemplo com um jogo (continuação)
• A personagem pula porque alguém escreveu, com uma linguagem de 
programação, como deve se comportar a personagem. Os passos seriam:
– Desenhar a personagem na tela
– Ficar esperando que o usuário realize alguma coisa com o joystick
– Receber um sinal do joystick, o usuário pressionou um botão
– Qual botão pressionou? Se pressionou acima, continuar
– Ler a posição atual da personagem na tela
– Calcular a distância de pulo, 20 pixels, 30 pixels
– Carregar a sequência de imagens com cada quadro de personagem pulando
– Imprimir na tela cada uma das sequências, mudando a posição na tela
– Voltar para o passo 2. 
• Aliás, um jogo não é só uma personagem que pode pular. Há muitas coisas 
que acontecem ao mesmo tempo, mas elas são... mais linhas de código 
realizadas por um programador. 
Primeira regra do programador:
"Todo comportamento repetitivo e predizível 
pode ser programável."
Um braço robótico
• Se descrevemos a sequência de passos para dirigir um 
braço robótico, como no exemplo do jogo, há uma 
semelhança:
• Ambos os dois estão executando uma série de passos 
lógicos, ordenados e sequenciais.
• Diante da mesma ação, o mesmo resultado.
• Isso é devido a uma codificação em um programa 
informático, na linguagem que for, mas há uma grande 
diferença:
• Enquanto o braço robótico interage com o mundo físico, 
movendo parte de um lado para outro, o outro programa 
só interage com um mundo virtual, imprimindo imagens na 
tela. 
Um braço robótico (continuação)
• Ambos os processos precisam de um programa informático que os 
controle e o programador é quem escreve essa série de passos.
• A única diferença é a interação com o mundo exterior.
• No caso da robótica, além de executar os passos, é necessário que 
o resultado da sequência de passos ative mecanismos físicos para 
mover cada uma das engrenagens do braço.
• Entretanto, o sistema informático para consultar o álbum só teve 
que interagir com o mundo exterior, imprimindo o resultado na 
tela.
• A chave para desenhar qualquer sistema é levar em conta como 
serão as interações com o mundo exterior.
• Nesse curso, vamos tratar dos processos virtuais, aqueles que não 
têm interação física além de ler valores de uma interface de 
usuário e processar essa interação para atingir um resultado.
Aplicativos conectados ou 
desconectados
• Na hora de realizar um aplicativo, é importante 
decidir se precisamos que o programa dependa 
de uma conexão a Internet ou que funcione 
mesmo quando não houver conexão.
• O primeiro ponto para diferenciar é se os 
aplicativos são conectados ou desconectados.
• Os aplicativos conectados são aqueles que para 
funcionar precisam uma conexão a Internet. Do 
contrário, eles não funcionam.
• Um exemplo podem ser os jogos em rede. Sem 
conexão, eles não funcionam. 
Web sites
• Então... um web site é um aplicativo?
• Se o web site permite realizar alguma coisa, ele é um 
aplicativo conectado, já que só funciona com Internet. 
• Quando um web site serve para realizar alguma coisa 
concreta, ele interage com o usuário, realiza alguma coisa 
com as informações e fornece um resultado, então ele é 
um aplicativo.
• A diferença principal entre um web site e um aplicativo 
web é que no aplicativo web o usuário pode interagir e 
alterar o resultado conforme essa interação.
• Os web sites que permitem realizar alguma coisa são 
aplicativos web conectados.
Aplicativos conectados
• O aplicativo desconectado deve ser instalado 
ou rodado de algum meio presente 
fisicamente para poder ser utilizado, enquanto 
o aplicativo conectado pode ser usado 
diretamente acessando a Internet. 
• Exemplo: Microsoft Word, Visual Studio, etc.
O que preciso para aprender a 
programar?
• Para saber programar você precisa saber duas ou três 
linguagens de programação e duas ou três tecnologias 
adicionais, e considerar 4 fatores principais:
• Como vou interagir com o usuário?
Devo decidir como quero que o usuário se comunique com o 
aplicativo.
– O usuário utiliza o smartphone, pressiona botões, usa a 
câmera. 
– O usuário acessa um site para utilizar meu aplicativo.
– O usuário utiliza sensores físicos, teclados especiais, 
joysticks ou telas tácteis. 
O que preciso para aprender a 
programar? (continuação)
• Preciso lembrar informações?
Devo decidir se o aplicativo salva meus dados, se 
mantém estatísticas, escores, se salva informações 
que podem ser recuperadas em qualquer momento.
– O usuário não salva nenhum tipo de informações. 
Cada vez que usa o aplicativo é como começar de 
novo.
– O usuário salva informações e pode recuperá-las. 
O que preciso para aprender a 
programar? (continuação)
• Preciso conexão permanente para funcionar?
Devo decidir se meu aplicativo precisa se comunicar 
com outros usuários para funcionar ou se depende 
da existência de conexão à Internet para ser 
executado.
– O usuário interage com outros usuários, e vê 
informações deles ou se comunica com eles.– O usuário não instala nada para executar o 
aplicativo, simplesmente acessa um site. 
O que preciso para aprender a 
programar? (continuação)
• Se o aplicativo precisa se conectar com outros 
aplicativos
– O aplicativo utiliza mapas de Internet ou conexão com 
outros aplicativos para compartilhar informações.
– O aplicativo acessa servidores com stats de usuários.
– O aplicativo não precisa se conectar com ninguém. 
A tecnologia que usaremos dependerá do que 
precisarmos realizar.
Tecnologias
• O usuário acessa através de uma página web?
– HTML + CSS + Javascript
– Adobe Air + Java
• O usuário acessa através de um aplicativo em um 
telefone celular?
– PhoneGap + HTML + CSS + Javascript
– O telefone é Windows Phone?
• Windows Mobile WPF + Window Phone + C# .NET
– O telefone é Android?
• Android Development Kit + Java
– O telefone é IPhone?
• IOS SDK + Objective C 
Tecnologias
• O usuário acessa através de um tablet?
– PhoneGap + HTML + CSS + Javascript
– O tablet tem Windows 8?
• Windows WPF + Window 8 + C# .NET
– O tablet tem Android?
• Android Development Kit + Java
– O tablet é IPad?
– IOS SDK + Objective C
• O usuário utiliza o GPS, câmera, acelerômetro? 
– IOS SDK, Android Development Kit 
Tecnologias
• O usuário utiliza intensivamente componentes externos 
como joystick, sensor de movimento, gráficos 3D ou 
áudio? 
– O aplicativo é um jogo?
• C# .NET ou C++ ou Java
• Preciso realizar gráficos complexos.
– Unity, Adobe Air
• Não preciso realizar gráficos complexos.
– LimeJS, CSS
– O aplicativo não é um jogo?
• C++ ou C# .NET ou Java
• O aplicativo é para Windows?
– WPF + C#.NET
• Ele é para Mac?
– Java, C++, etc
Tecnologias
• Preciso armazenar e recuperar informações?
– SQL, SQL Server Express ou My SQL
• Não tenho muita certeza ainda sobre quais dados preciso armazenar?
– Banco de dados documentais 
• Aplicativo conectado ou desconectado
– Preciso de conexão com outros?
– O aplicativo precisa de conexão permanente para ser executado?
• Javascript, C#.NET, Java, WCF, Servidor Web
– O aplicativo só funciona através de uma página web?
– O aplicativo precisa da rede, mas deve ser instalado ?
• Serviços Rest, JSON, WCF
• O aplicativo não precisa se conectar e funciona na área de trabalho?
– C#.NET ou Java 
Tecnologias
• O aplicativo precisa interagir com outros 
aplicativos?
– Java, C#.NET, WCF, Serviços REST
• O aplicativo trabalha com componentes 
eletrônicos ou robóticos?
– Arduino 
O que usamos?
• O que escolhem os programadores?
– HTML, CSS, Javascript, Adobe Air, Java, C++, C#.NET, WPF, 
WCF, Serviços Rest, Windows Phone SDK, IOS SDK, 
Android SDK, Unity, SQL, PHP
• O que vamos ensinar nesse curso?
• HTML, CSS, Javascript, jQuery, C#, SQL, LINQ, Serviços 
Rest
Não é necessário aprender todas as linguagens de 
programação que existem ao mesmo tempo. É 
suficiente entender para que servem e usar a mais 
conveniente.

Outros materiais