Você está na página 1de 6

Persistncia

A capacidade de persistir dados ou armazenar informaes


sem dvida um dos recursos mais importantes em qualquer
linguagem de programao. Armazenar dados para uma
posterior recuperao uma constante na maioria dos
ambientes computacionais, seja para persistncia simples de
parmetros de configuraes de algum sistema ou
persistncia de informaes digitadas pelo usurio para
alimentar algum banco de dados.
No que diz respeito persistncia em ambientes
computacionais, o complicador quando esse mesmo
ambiente tem recursos de armazenamento restrito e, ainda,
uma arquitetura de hardware e software bem diferente da
encontrada em desktops ou grandes servidores, como o
caso dos dispositivos mveis. Essas diferenas podem ser
observadas tanto do ponto de vista do usurio (ergonomia de
hardware e software), quanto do ponto de vista do
desenvolvedor (ferramentas de software, APIs e recursos). Os
telefones celulares conseguiram alcanar uma popularidade
quase to grande quanto a observada na utilizao de
computadores pessoais a partir da dcada de 80. Mas, assim
como todos os dispositivos mveis, eles tambm trazem
consigo algumas dificuldades, como, problemas relacionados
ergonomia do teclado, uma interface visual simples porm
limitada e a dependncia de baterias que requerem recarga
constante.

threads

Tradicionalmente, utiliza-se um recurso chamado threads para realizar


processamento paralelo. Toda aplicao possui pelo o menos uma
thread, que contm o cdigo principal do programa. Esta a chamada
main thread. Cada nova thread executa seu cdigo concorrentemente
com as outras j existentes. Caso o processador utilizado possua um
ncleo para cada thread, a execuo ocorre de fato paralelamente. Caso
contrrio feita uma simulao deste processo gerando, para o usurio,
a sensao de paralelismo.
O Foundation framework provido pela Apple fornece encapsulamentos
para esse recurso, trazendo facilidades e eficincia para sua utilizao.
As classes que gerenciam essas threads so: NSThread, NSOperation e
NSOperationQueue.
NSThread: classe que controla uma thread de execuo. Normalmente
utiliza-se este recurso quando deseja-se impedir que a thread principal
seja sobrecarregada, ou quando preciso dividir o trabalho em trabalhos
menores;
NSOperation: uma classe abstrata que contm instrues para
executar determinada tarefa (para mais informaes sobre classes
abstratas, consulte as referncias da Apple ou outros materiais sobre
programao orientada a objetos);
NSOperationQueue: classe que gerencia instncias de sublcasses de
NSOperation.
A utilizao de NSThread ou NSOperationQueue pode ter o mesmo efeito
ao fim da aplicao. Entretanto, extremamente recomendada pela
Apple a utilizao de NSOperationQueue. Threads normalmente podem
gerar problemas relacionados ao compartilhamento de memria e tempo
de execuo. Todas elas tm igual acesso memria da aplicao o que
permite que qualquer uma modifique variveis no locais. Alm disso,
no h como prever quando uma thread terminar. A utilizao de
Operation Queues fornece recursos para gerenciamento de Operations
que facilitam a resoluo do problema do tempo, como a criao de
dependncias entre Operations, que garante que determinada Operation
terminar antes do inicio da execuo de outra.

O aplicativo realizar o o clculo da srie harmnica limitada por uma


constante. Para mais informaes sobre esta srie, leia srie harmonica.

Gerenciamento de Dispositivos Mveis

O Gerenciamento de Dispositivos Mveis (Mobile device management ou MDM em ingls)


a rea administrativa responsvel por disponibilizar, monitorar, integrar e gerenciar
dispositivos mveis, bem como fornecer segurana para essa tecnologia no ambiente de
trabalho. O principal objetivo do MDM otimizar a funcionalidade dos aparelhos mveis e,
simultaneamente, garantir a rede da organizao.
possvel compreender que as principais funes desempenhadas por um sistema de
MDM so:
identificar os dispositivos no pertencentes rede corporativa (de propriedade dos
colaboradores) e inclu-los no gerenciamento;
analisar contedo, integrando web, e-mail e segurana de dados para evitar ataques
gerais e direcionados;
prover dispositivos para acesso seguro e que possibilitem o monitoramento centralizado;
fornecer ferramentas que facilitem a limpeza de dados corporativos nos dispositivos dos
colaboradores e de preveno contra vazamento e perda de dados;

interface com o usurio

Em resumo, o projeto de graduao tem como tema o design de interface


em dispositivos mveis, representado por uma aplicao para tablet,
especificamente para o iPad. Foi conceitualizada uma aplicao para
entretenimento chamada Stream, que explora de diferentes maneiras o
consumo de contedo audiovisual atravs do tablet. Seu
desenvolvimento tem duas finalidades: a primeira a elaborao de um
aplicativo que proporcione entretenimento atravs de um servio de
transmisso de vdeo via internet, explorando a vasta quantidade de
contedo audiovisual em formato de srie. Sua outra finalidade est em
servir como ferramenta de anlise sobre a validade de prticas do design
impresso e de internet convencionais ao serem aplicados para se projetar
para uma interface de dispositivo mvel e, assim identificar mtodos e
processos que melhor se adaptem a esta finalidade.

ferramentas de desenvolvimento.

Os dispositivos mveis crescem cada dia mais e j representam a maioria dos


sistemas computadorizados atualmente. Por isso torna-se cada vez mais
importante criarmos aplicativos voltados para esse segmento. Criar um
aplicativo para dispositivos mveis requerer diversos desafios e complicaes
como: lidar com recursos fsicos limitados tais como CPU, memria, tela,
dispositivos de entrada, bateria, entre outros; alm disso, ambientes e
contextos diversos com excesso de barulho, muita claridade, situaes em que
usamos apenas uma mo dependendo do momento, pessoa ou lugar so mais
algumas das complicaes que precisam ser gerenciadas quando construmos
aplicativos voltados para dispositivos mveis.
Outra caracterstica importante ao projetar e criar aplicativos para dispositivos
mveis que estes possuem um propsito bem definido. Ao contrrio dos
aplicativos para desktop em que tnhamos aplicativos de propsitos mais
gerais, nos aplicativos mveis tem-se mais oportunidades para aplicativos que
resolvem problemas mais especficos. Um exemplo de aplicativo para desktop
popular o Microsoft Office que possui todas as ferramentas necessrias para
resolver qualquer problema de escritrio como apresentaes, criao de
documentos, planilhas, etc. J nos dispositivos mveis acharemos diversos
aplicativos para resolver problemas de escritrio mais especficos como
software para planilhas eletrnicas, software editor de texto, etc.
Alm disso, quando projetamos nosso aplicativo devemos escolher o(s)
sistema(s) operacional(is) que ele ser executado. Nesse ponto tambm
importante conhecermos o mercado, quais so os sistemas que mais crescem
em uso, quais possuem um desenvolvimento mais facilitado, quais possuem
bibliotecas pblicas, etc. Analisando o mercado atual de sistemas operacionais
tem-se que o Android j detm 79.3% do mercado como era esperado h
alguns anos atrs, seguido por Apple iOS com 13.2%, RIM com
2.9%, Windows Phone com 3.7% e outros sistemas com apenas 0.9% do
mercado. Se analisarmos os dados dos anos anteriores verificaremos que
o Android cresce bastante a cada ano. Analisando friamente os dados parece
que o Android um sistema muito superior aos outros e est sufocando o

mercado. No entanto, o Android cresce bastante porque alm de ser um bom


sistema existe um grande nmero de aparelhos que entraram e entram cada dia
mais no mercado e a grande maioria desses aparelhos esto equipados com
sistemas operacionais Android. Isso tambm explica o fato da Apple ter cado
no mercado nos ltimos anos, apesar que essa queda considerada pequena.
Uma das vantagens do sistema Android que ele possui diversas verses que
rodam em diversos dispositivos, como por
exemplo, Android para Motorola, Android para HTC, etc. Cada vez mais os
novos Smartphones e as grandes companhias vo aderindo ao sistema
operacional da Google que se mostra cada vez mais confivel e melhor. J
o Windows Phone sofreu devido a entrada tardia no mercado, mas no deixa
de ser um timo sistema assim como iOS e o Android. Outro sistema que tinha
uma boa parcela do mercado, a Symbian, foi abandonado, por isso cada vez
mais o sistema cair em desuso no sendo uma boa opo de
desenvolvimento.
Dessa forma, verificamos que os principais sistemas atualmente
so Android, iOS e Windows Phone. Neste artigo veremos melhor como
projetar um aplicativo para dispositivos mveis e como podemos desenvolver
aplicativos para o sistema Android. A pedidos faremos outro artigo
sobre iOS e Windows Phone tambm. Alm do sistema Android veremos
tambm como podemos fazer aplicativos que rodam em qualquer plataforma
utilizando HTML 5.