Escolar Documentos
Profissional Documentos
Cultura Documentos
Captulo I
Introduo tecnolgica ao
desenvolvimento de
aplicativos.
Como funciona um
computador?
O computador um aparelho que talvez parea mais
complexo do que outros, mas depende das instrues
para saber o que fazer. Por exemplo, quando voc
pressiona o boto de ligao, o computador mostra seu
logo, depois carrega o Windows, depois de uns minutos
aparece o ponteiro do mouse para poder comear a uslo, 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 programao simplesmente as ordens que o
computador precisa para fazer alguma coisa, do mais
simples at o mais complexo, mas todas elas so ordens.
Dominar a Matrix
Vamos comear por aqui. Voc est
lendo este curso, neste computador,
devido a que algum 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. Algum
tambm programou este site para
que voc encontre este documento.
Dominar a Matrix
(continuao)
Voc usou o telefone hoje para uma
mensagem ou para falar? Voc pode se
comunicar porque na companhia telefnica
existem programas informticos que
verificam quem voc, se voc tem saldo na
conta para realizar a ligao, atravs do
nmero que voc marcou detecta para quem
est ligando, localiza onde est essa pessoa,
envia um sinal para que toque o telefone do
destinatrio e estabelece a ligao.
Primeira regra do
programador:
"Todo comportamento repetitivo e
predizvel pode ser programvel."
Um brao robtico
Se descrevemos a sequncia de passos para dirigir um
brao robtico, como no exemplo do jogo, h uma
semelhana:
Ambos os dois esto executando uma srie de passos
lgicos, ordenados e sequenciais.
Diante da mesma ao, o mesmo resultado.
Isso devido a uma codificao em um programa
informtico, na linguagem que for, mas h uma grande
diferena:
Enquanto o brao robtico interage com o mundo fsico,
movendo parte de um lado para outro, o outro programa
s interage com um mundo virtual, imprimindo imagens
na tela.
Um brao robtico
(continuao)
Ambos os processos precisam de um programa informtico que os
controle e o programador quem escreve essa srie de passos.
A nica diferena a interao com o mundo exterior.
No caso da robtica, alm de executar os passos, necessrio
que o resultado da sequncia de passos ative mecanismos fsicos
para mover cada uma das engrenagens do brao.
Entretanto, o sistema informtico 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 sero as interaes com o mundo exterior.
Nesse curso, vamos tratar dos processos virtuais, aqueles
que no tm interao fsica alm de ler valores de uma
interface de usurio e processar essa interao para
atingir um resultado.
Aplicativos conectados ou
desconectados
Na hora de realizar um aplicativo, importante
decidir se precisamos que o programa dependa
de uma conexo a Internet ou que funcione
mesmo quando no houver conexo.
O primeiro ponto para diferenciar se os
aplicativos so conectados ou desconectados.
Os aplicativos conectados so aqueles que para
funcionar precisam uma conexo a Internet. Do
contrrio, eles no funcionam.
Um exemplo podem ser os jogos em rede. Sem
conexo, eles no funcionam.
Web sites
Ento... 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 usurio, realiza
alguma coisa com as informaes e fornece um
resultado, ento ele um aplicativo.
A diferena principal entre um web site e um
aplicativo web que no aplicativo web o usurio
pode interagir e alterar o resultado conforme essa
interao.
Os web sites que permitem realizar alguma coisa
so 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.
Tecnologias
O usurio acessa atravs de uma pgina web?
HTML + CSS + Javascript
Adobe Air + Java
O telefone Android?
Android Development Kit + Java
O telefone IPhone?
IOS SDK + Objective C
Tecnologias
O usurio acessa atravs de um tablet?
PhoneGap + HTML + CSS + Javascript
O tablet IPad?
IOS SDK + Objective C
Tecnologias
O usurio utiliza intensivamente componentes
externos como joystick, sensor de movimento,
grficos 3D ou udio?
O aplicativo um jogo?
C# .NET ou C++ ou Java
Preciso realizar grficos complexos.
Unity, Adobe Air
O aplicativo no um jogo?
C++ ou C# .NET ou Java
O aplicativo para Windows?
WPF + C#.NET
Tecnologias
Preciso armazenar e recuperar informaes?
SQL, SQL Server Express ou My SQL
Tecnologias
O aplicativo precisa interagir
com outros aplicativos?
Java, C#.NET, WCF, Servios REST
O que usamos?
O que escolhem os programadores?
HTML, CSS, Javascript, Adobe Air, Java, C++,
C#.NET, WPF, WCF, Servios Rest, Windows Phone
SDK, IOS SDK, Android SDK, Unity, SQL, PHP