PROGRAMAÇÃO
MOBILE – AULA 03
LINGUAGENS
MOBILE
Linguagens
de programação referem-se ao conjunto de símbolos e regras
necessárias para que o programador possa interagir com o hardware.
São protocolos de comunicação que viabilizam a interação entre
homem e máquina.
Tópicos
relacionados:
Linguagens
para sistema Android;
Linguagens
para sistema IOS;
Linguagens
para Web;
Classificação
das linguagens.
LINGUAGENS
PARA SISTEMA ANDROID
Dentre as linguagens de programação
para criação de aplicativos nativos para android destacam-se:
Java(lançada em 1995 pela empresa
Sun Microsystems);
C++(criada em
1980 nos Laboratórios Bell de New Jersey);
C#(lançada em 2002 pela
Microssoft).
LINGUAGENS PARA SISTEMAS IOS
Para aplicativos nativos do iOS
temos as seguintes linguagens:
Objective-C(criada
nos anos 80 por Brad Cox na empresa StepStone
Corporation, comprada pela Next de Steve
Jobs, posteriomente adquirida pela Apple);
Swifit (desenvolvida pela Apple em
2014 com um avanço da objective-C);
Ao utilizar a linguagem da própria
empresa para desenvolvimento de APPs a Apple preserva direitos
autorais e garante exclusividade sobre seus produtos melhorando sua
lucratividade. No âmbito técnico isso poderia garantir mais
compatibilidade e estabilidade dos aplicativos.
LINGUAGENS PARA WEB
Uma outra alternativa de
desenvolvimento para mobile é a criação de aplicativos híbridos e
web(que rodam nas nuvens). Nesta caso podem ser utilizadas linguagens
como:
HTML;
CSS;
JavaScript;
PHP.
Com o uso de linguagens web tem-se a
vantagem de não ser necessário criar várias versões do APP para
rodar em diferentes sistemas, pois o navegador nativo de cada sistema
se encarrega proporcionar o acesso e fazer a execução.
CLASSIFICAÇÃO DAS LINGUAGENS
Com relação as suas
peculiaridades, as linguagens podem ser classificadas conforme
demonstrado no quadro a seguir:
LINGUAGENS
|
HTML
|
CSS
|
JS
|
PHP
|
JAVA
|
C++
|
C#
|
Obj-C
|
Swifit
|
Server-side
|
|
|
|
X
|
X
|
X
|
X
|
X
|
X
|
Client-side
|
X
|
X
|
X
|
|
|
|
|
|
|
Back-end
|
|
|
|
X
|
X
|
X
|
X
|
X
|
X
|
Front-end
|
X
|
X
|
X
|
|
|
|
|
|
|
Estática
|
X
|
X
|
|
|
|
|
|
|
|
Dinâmica
|
|
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
Web
|
X
|
X
|
X
|
X
|
X
|
|
|
|
|
Desktop
|
|
|
|
|
X
|
X
|
X
|
X
|
X
|
Para
Android
|
|
|
|
|
X
|
X
|
X
|
|
|
Para
iOS
|
|
|
|
|
|
|
|
X
|
X
|
Linguagem
desktop:
qualquer
linguagem, dentre as categorias já mencionadas, que sirvam apenas
para criação de programas que possam ser executados em um
computador pessoal, ou seja, para criação de aplicativos que possam
ser instalados e executados no computador do cliente.
Linguagem
web:
qualquer
linguagem de programação que possibilite a criação de programas
para Internet, ou seja, programas que possam ser acessados à partir
de um navegador de qualquer lugar do mundo. Exemplo: PHP, Java,
HTML,CSS, JS, etc.
Linguagem
client-side(front-end):
significa
lado do cliente, é uma linguagem para web, cujo código é carregado
e executado diretamente no computador de quem o está acessando
(cliente), podendo, inclusive, ser visualizado por meio do menu
“exibir código fonte” no navegador de Internet. Exemplo: HTML e
JAVASCRIPT.
Linguagem
server-side(back-end):
lado
do servidor, é o oposto de uma linguagem client-side. Ela roda em um
servidor de Internet e seu código não pode ser visualizado no
navegador. Esse tipo de linguagem recebe e processa dados, por
exemplo, digitados em um formulário pelo visitante de um site.
Exemplo: PHP, JAVA, C++, etc.
Linguagem
estática/dinâmica:
são
dois tipos muito referenciados em programação para web. Uma
linguagem estática é aquela, cujos programas não apresentam
interatividade com o usuário, exemplo: HTML. Já uma linguagem
dinâmica, é aquela que possibilita criação de programas com os
quais o usuário pode interagir, exemplo: JAVASCRIPT. A junção
dessas duas linguagens em um único programa dá origem ao conceito
de programação denominado “DHTML”(HTML
dinâmico), pois combinado a JAVASCRIPT o código HTML ganha mais
vida.
ATIVIDADES
1) Qual a diferença entre
compiladores e interpretadores?
2) Por que a Apple disponibiliza
apenas sua própria linguagem para criação de APPs para iOS?
3) Faça uma pesquisa sobre as
linguagens citadas destacando sua origem, local de criação e razões
de sua criação.
4) Qual a diferença entre
linguagens back-end e front-end?
5) Qual a diferença entre
linguagens estáticas e linguagens dinâmicas?