| Últimas 20 atualizações de DevMedia - Equipe de moderacao |
|
|
[rotulo]
Artigo do tipo Tutorial
Recursos especiais neste artigo:
[rotulo-tag]Contém nota Quickupdate[/rotulo-tag]. Autores:Robison Cris Brito e Ricardo Ogliari
[/rotulo]
[lead] Utilizando
GPS em aplicações Java ME
Aplicações baseadas em
localização fazem uso de informações de posicionamento para indicar a
localização de um determinado dispositivo e, a partir destas informações,
disponibilizar um conjunto de serviços baseados no uso de mapas. Estas
aplicações são, sem dúvida, uma das facilidades mais marcantes que utilizamos
nos smartphones atuais. Embora a maioria absoluta deles atualmente
considerarem como plataforma o Android, iOS ou Windows Phone, pode-se dizer que
tudo isso começou com o JavaME.
Neste contexto, este artigo
apresenta a utilização da Location API (JSR-179) no desenvolvimento de
aplicativos para a plataforma Java ME. A Location API fornece uma interface
padrão de alto nível para acesso às informações de posição de um dispositivo
móvel utilizando um aplicativo Java ME. Para isso, ela define as classes
básicas necessárias para solicitar, recuperar e exibir uma localização
geográfica, além de informações sobre a movimentação do dispositivo.
Como estudo de caso, foi
optado pelo desenvolvimento de um aplicativo de rastreamento, onde os dados
recuperados do GPS são armazenados localmente utilizando recursos do RMS
(Record Management System). Recursos adicionais como ocultar a aplicação e o
agendamento de tarefas utilizando a classe Timer e TimerTask são apresentados.
Ao final do artigo, o leitor está apto a desenvolver um programa de
rastreamento utilizando a Location API.
Em que
situação o tema é útil Este artigo é útil para
usuários e desenvolvedores que desejam iniciar no desenvolvimento de
aplicativos para Java ME que envolve a recuperação de dados do GPS, os chamados
geocódigos. Estes aplicativos podem ser desenvolvidos para as mais diversas
áreas, como agricultura de precisão, controle de trafego, além dos sistemas de
rastreamento.
Se esta facilidade for agregada
com recursos como persistência dos dados, utilização de dados multimídia,
recursos de rede, entre outros, é possível desenvolver aplicações complexas e
muito atrativas para os usuários.[/lead]
GPS
(Global Positioning System) foi criado pelos EUA para fins militares. Desde
1960 a Força Aérea e a Marinha americana têm trabalhado no desenvolvimento de
um sofisticado sistema de navegação por satélites. A marinha patrocinou dois
programas, o Transit e o Timation. Ambos operavam em modo 2D, pois usavam
latitude e longitude. No mesmo período a Força Aérea estudou o uso 3D, através
da latitude, longitude e altitude, com o programa 612B.
Em
1973 surgiu o programa NAVSTAR GPS, por meio da fusão dos programas Timation e
621B. Em dezembro deste ano foi autorizado o início da primeira fase do
programa, que durou até 1979. Foram feitos estudos sobre a performance e real
viabilidade do sistema. Em seguida teve início a segunda fase, com
desenvolvimento e teste dos equipamentos GPS, que durou até 1985.
Na
terceira fase foram produzidos os aparelhos GPS e finalizada a rede de 24
satélites. O sistema passou a proporcionar cobertura completa, conhecida como
FOC (Full Operational Capability) graças à operação simultânea dos satélites.
O GPS
surgiu com objetivos de guerra e navegação de alta precisão para transporte
militar e mísseis. Seu uso foi testado na guerra do Golfo, facilitando a
locomoção das tropas no deserto. Os mísseis passaram a atingir seus alvos com
erros mínimos.
Em
1980 o então presidente Ronald Reagan autorizou o uso civil do sistema. Na
época, o Departamento de Defesa americano implantou um erro artificial no
sistema chamado "Disponibilidade Seletiva", para resguardar a
segurança interna do país. A Disponibilidade Seletiva foi cancelada por um
decreto do Presidente Clinton em maio de 2000, pois o contínuo desenvolvimento
tecnológico permitiu ao Departamento de Defesa obstruir a precisão do sistema
onde e quando os interesses americanos exigissem. Com o decreto, o erro médio
de 100 metros na localização do receptor ficou dez vezes menor.
O
NAVSTAR-GPS está baseado no conceito de medida de distâncias entre uma fonte
transmissora e uma fonte receptora de rádio-sinais. Três distâncias medidas e o
conhecimento da posição abs
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
A equipe DevMedia atualizou os posts do portal para que sejam melhor visualizados em dispositivos móveis, como tablets e smartphones.
Foram atualizados os artigos free, os artigos das revistas, os índices das revistas, além dos pocket vídeos.
Com essa atualização, você terá uma melhor experiência ao visualizar esses posts em seu tablet ou smartphone, podendo acompanhar o conteúdo do portal de onde estiver, seja em casa, ou até mesmo no trânsito, durante seus trajetos diários.
Esta é mais uma novidade lançada pela Equipe DevMedia para você, que faz deste o maior portal para desenvolvedores de software do Brasil. -->">
|
|
|
|
A Equipe DevMedia lançou a nova página da assinatura MVP. Lá você encontra tudo que precisa sobre o melhor plano de assinatura do portal DevMedia, que lhe dá acesso a todo conteúdo disponível.
A nova página está com visual renovado, mais atual, fornecendo uma apresentação bastante completa do plano. Lá você encontra números e informações sobre todo conteúdo ao qual terá acesso quando se tornar um assinante MVP.
Se você ainda não é assinante, confira agora a página e não perca mais tempo, assine já:
http://www.devmedia.com.br/mvp/.
-->">
|
|
|
|
É com enorme prazer que a DevMedia atinge a marca de 8000 likes em nossa Fanpage.
A DevMedia Editora gostaria de agradecer a todos os seus usuários por nos ajudar a atingir essa excelente marca.
Se você ainda não curtiu, não deixe de curtir nossa Fanpage e ficar por dentro de todas as novidades que acontecem conosco.
https://www.facebook.com/DevmediaWeb03. -->">
|
|
|
|
[rotulo] Artigo do tipo Tutorial Autores: Giuvane Conti e Everton Coimbra de Araújo[/rotulo]
[lead] Conhecendo a arquitetura ADO.NET
Toda plataforma de desenvolvimento possui uma API específica
para ligar com o acesso a dados, no caso do .NET esta API é o ADO.NET que
encapsula todas as classes necessárias para realizarmos a comunicação de nossa
aplicação com uma base de dados nos fornecendo mecanismos de conexão com a
mesma além da possibilidade de execução de operações como inserção,
atualização, deleção e consulta de dados através de instruções SQL. Este artigo apresenta o conceito, a arquitetura, as
principais interfaces e providers da tecnologia ADO.NET, apresentando as
principais classes e métodos que podemos utilizar para interagir com bases de
dados nos nossos sistemas. Além disso, apresentamos ainda a conexão do ADO.Net
com o SQL Server e uma implementação do pattern DAO. Na parte prática teremos a
implementado um exemplo simples envolvendo Pedido e Itens de Pedido utilizando
um DAO com classes ADO.Net para realizar as operações na base de dados.
Em que situação o tema é útil O ADO.NET é útil em qualquer sistema que necessite de uma
conexão com um banco de dados para manipulação de dados como inserir, editar,
deletar e buscar, ou seja, operações CRUD. Além disso, o uso direto das classes
do ADO.NET é mais rápido do que o uso de frameworks ORM, fazendo com que em
aplicações críticas o mesmo possa se tornar um diferencial para a performance
da mesma.[/lead]
ADO.NET é a biblioteca utilizada pela
Microsoft para acesso a bases de dados na plataforma .NET, podendo ser utilizado
com qualquer linguagem de programação que tenha acesso a esta plataforma.
No pacote de tecnologias do ADO.NET
existem classes que auxiliam a aplicação deste em projetos que utilizem a
plataforma .NET e dentro deste contexto alguns dos recursos que se destacam são
as interfaces disponíveis, suas respectivas implementações concretas e seus providers,
que são os provedores específicos para cada fonte de dados que pode ser
utilizada, por exemplo, o ADO.NET disponibiliza providers para conexão com SQL
Server, MySQL, FireBird, Oracle, Sybase, Access, XML, dentre outros.
Existem algumas bibliotecas e
recursos que realizam as operações disponíveis no ADO.NET de forma mais fácil
tirando proveito de todo o conteúdo disponível pelo ADO.NET e facilitando a
vida do programador aumentando a produtividade, como é o caso da biblioteca
Entity Framework, que é parte integrante do pacote ADO.NET e do conjunto de
recursos oferecidos pelo LINQ. Além destas tecnologias, ainda é possível
implementar um conceito de programação chamado DAO Genérico, baseado nestas
tecnologias, onde as operações CRUD (Create, Read, Update e Delete) podem ser
aplicadas para qualquer classe que represente uma tabela do banco de dados
dentro de um projeto, facilitando ainda mais a vida do programador.
Neste artigo será criado um exemplo
prático, de controle de Pedido e Itens de Pedido, utilizando o conceito de DAO
sendo implementado com base nas classes do ADO.NET utilizando o provider de
conexão com o SQL Server.
[subtitulo]O que é o ADO.NET ?[/subtitulo]
O ADO.NET é uma evolução do ADO
(ActiveX Data Objects) que foi utilizado até o Visual Basic 6, apesar de ter
sido construído sem nenhum reaproveitamento da tecnologia ADO, a Microsoft
manteve muitos dos conceitos do mesmo no ADO.NET, apesar destes possuírem uma
arquitetura totalmente diferente.
O ADO.NET possui diversas
características, como por exemplo: interoperabilidade através do uso de XML
para intercambio de dados, performance, robustez, escalabilidade com modelo
desconectado e produtividade.
[subtitulo]Arquitetura, interfaces e classes concretas[/subtitulo]
A arquitetura do ADO.NE
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre boas práticas. Autores: Thainá Mariani e Everton Coimbra de Araújo
[/rotulo]
[lead] Boas Práticas com JSFEste artigo apresenta como
aplicar boas práticas no desenvolvimento de software, abrangendo a tecnologia
JSF, utilizando-se de exemplos implementados com foco nos recursos inseridos a
partir da versão 2.0.
Em que situação o tema é
útil Para desenvolvedores de software que utilizam a tecnologia JSF e desejam
conhecer dicas de como empregar seus recursos da melhor maneira, a fim de levar
melhorias a uma aplicação, como também aprimorar o seu método de
desenvolvimento.[/lead]
O uso de sistemas web tem se tornado cada vez mais comum e
abrangente e, em função disso, nesta área de desenvolvimento é comum e
necessário o uso de frameworks, buscando facilitar a implementação deste tipo
de sistema.
Um dos frameworks mais comumente utilizados em aplicações
web é o JavaServer Faces (JSF), que subsidia o desenvolvimento da interface com
o usuário (UI). Essa tecnologia recomenda fortemente a adoção do padrão MVC,
visando à separação entre o modelo de negócio e a camada de visualização.
O JSF, em sua atual versão (2.0), teve novos recursos
inseridos, trazendo também dúvidas de como usufruir deles corretamente.
Normalmente, por causa destas dúvidas, certas tecnologias são utilizadas de
maneira ineficiente, comprometendo o desempenho de uma aplicação. Outras vezes,
por falta de conhecimento, alguns recursos importantes deixam de ser
utilizados, quando poderiam trazer melhorias ao projeto. Por esses motivos, o
propósito desse artigo é mostrar como usufruir de alguns dos recursos
essenciais do JSF e adotá-los como boas práticas no desenvolvimento de
aplicações web.
Dentre os recursos do JSF abordados neste artigo, estão: a)
os escopos, que quando empregados de maneira correta possibilitam aprimorar o
desempenho das aplicações; b) a integração entre Ajax e JSF 2, visando
melhorias na interação com o usuário; c) o Project
Stage (estágios de execução do projeto); d) o uso de arquivos de
propriedades; e e) a internacionalização.
[subtitulo]Limitando a utilização do Escopo de Sessão[/subtitulo]
O desempenho de uma aplicação web é um fator essencial a ser
levado em consideração durante o seu desenvolvimento. Para isso, deve-se
analisar vários trechos de código a fim de descobrir de que maneira é possível
aprimorá-los para tornar a aplicação mais ágil.
Dentre os artefatos que compõem uma aplicação JSF, estão os Managed Beans, que são classes que
possuem a responsabilidade de realizar a intermediação na comunicação entre as
páginas e o modelo de negócio da aplicação. Esta comunicação se dá quando uma
requisição é realizada ao servidor, onde a mesma é então delegada para as
classes de negócio. Cada Managed Bean possui
um determinado escopo, que é responsável por definir o ciclo de vida de cada
uma de suas instâncias. Esses escopos são representados por cinco tipos, os
quais serão descritos a seguir:
·
Escopo de
aplicação (Application Scope): O ciclo de vida do Managed Bean anotado com esse escopo dura enquanto a aplicação
estiver em execução. Os valores armazenados estarão disponíveis em todas as
páginas da aplicação e para todos os clientes;
·
Escopo de
Requisição (Request Scope): Nesse escopo, o ciclo de vida começa quando uma
requisição é iniciada e permanece disponível durante o tempo de execução dela;
·
Escopo de
Visão (View Scope): As instâncias de um Managed
Bean anotado com esse escopo iniciam quando houver uma requisição a
determinada página e permanecem disponíveis enquanto houver requisições para
esta mesma página, sendo finalizados quando ocorrer o redirecionamento para
outra página;
·
Escopo de
Sessão (Session Scope): O ciclo de vida proposto por esse escopo se inicia
no momento em que a primeira requisição para a instância de um Managed Bean com este escopo for
realizada, e termina n
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Exemplos Práticos
Recursos especiais neste artigo: Conteúdo sobre novidades. Autores: Everton Coimbra de Araújo e Vanessa Caroline Fortes
[/rotulo]
[lead] Novos recursos para o
tratamento de exceções
Este artigo apresenta os novos
recursos para o tratamento de exceções promovidos pelo Java 7. Recursos como o
Try-with-Resources, Multi-catch e Rethrowing Exception, trouxeram melhorias na
utilização da cláusula try, tornando o código mais efetivo.
Em que situação o tema é
útil Este tema é útil para
desenvolvedores que desejam se atualizar e conhecer os novos recursos e
mudanças ocorridas na sintaxe da linguagem do Java 7 voltadas ao tratamento de
exceções.[/lead]
Algumas linguagens de programação não disponibilizam um
sistema apropriado para o tratamento de exceções, elas apenas interrompem a
execução de um programa ao detectar algum erro. Essas interrupções, se não
puderem ser devidamente identificadas e tratadas, certamente não permitirão uma
recuperação do estado da aplicação para retomada do processo interrompido,
podendo causar uma parada na execução da aplicação como um todo. Em diversos
sistemas, como por exemplo, para controlar o tráfego aéreo, as interrupções são
inaceitáveis. Sistemas com estas necessidades levam a equipe de desenvolvimento
a optar por linguagens que ofereçam recursos para identificar a captura e o
tratamento de exceções, buscando assim garantir o bom funcionamento de qualquer
software desenvolvido.
A linguagem Java, que segue o paradigma orientado a objetos,
é simples, clara e eficiente. Ela visa otimizar a produtividade dos
desenvolvedores e é uma das linguagens mais utilizadas em sistemas que precisam
ser tolerantes a falhas. Tem também como objetivo, facilitar e tratar possíveis
erros de execução, sendo esta característica conhecida como tratamento de exceções.
Por volta de julho de 2011, parte da plataforma Java foi atualizada,
surgindo o Java Standard Edition 7,
que foi especificado pela JSR 334, também conhecida como Projeto Coin. Esta atualização na linguagem resultou em algumas mudanças,
trazendo, dentre elas, novos recursos para o tratamento de exce
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|

A DevMedia decidiu dar de presente uma camisa “Nerd sim, e daí?” a cada um dos 100 primeiros blogueiros que criarem um texto legal sobre qualquer um de nossos cursos, incluindo no texto um link para o curso selecionado.
Para participar basta escolher qualquer um de nossos cursos, criar um texto legal, publicar em seu blog e enviar um e-mail para promocoes@devmedia.com.br com o link do post publicado. O mesmo será analisado e estando dentro de um padrão de qualidade responderemos o e-mail solicitando um endereço de entrega (exclusivamente no Brasil) e perguntando o tamanho da camisa para envio.
Só estão valendo blogs que tenham mais de 6 meses de existência, assim não vale criar um blog só para participar da promoção! ;-)
E só valem posts que falem de algum curso da DevMedia em específico. Não vale para a página principal dos cursos ou para a página que lista todos os cursos de uma determinada tecnologia.
Escolha um curso e fale sobre ele. Valendo!
Para ter uma lista completa de nossos cursos, acesse o link abaixo:
http://www.devmedia.com.br/cursos/
Simples e fácil.
Esperamos seus e-mails.
Update 22/04/2013:
- A promoção está valendo para sites também.
Update (2) 22/04/2013:
- Para esta promoção não valem posts em redes sociais como Facebook, Twitter, Google+.
Update 24/04/2013:
- Para esta promoção o post deve estar publicado em um blog ou site relacionado a tecnologia.
-->">
|
|
|
|
É com grande satisfação que a Equipe DevMedia informa que atingimos o incrível número de 8mil vídeos cadastrados no portal, entre vídeo aulas, pocket vídeos e palestras, pagos e gratuitos.
E esse número não para de crescer, com novos vídeos sendo publicados diariamente.
Acesse agora nossa página de cursos e vídeos e procure pelos que mais se adequam à sua necessidade: http://www.devmedia.com.br/cursos/. -->">
|
|
|
|
[rotulo]
Artigo do tipo Tutorial
Autores: Ricardo Ogliari e Robison Cris Brito
[/rotulo]
[lead] Conhecendo
tudo sobre as notificações do Android
O uso de notificações torna
o aplicativo mais inteligente e mais surpreendente para o usuário. Isto porque
ele possibilita a definição de uma nova forma de interação entre aplicativo e
usuário que estamos acostumados a ver quando nosso celular indicar que temos
novas mensagens de e-mails, facebook, dentre outros.
Neste contexto, o artigo
apresenta todas as formas de criação de notificações na plataforma Android.
Desde aquelas mais simples, apenas com poucos textos e uma imagem, até as mais
elaboradas, contendo uma grande imagem, um conjunto de linhas ou um texto
também extenso. Além disso, aborda estes temas sempre levando em conta dicas de
portabilidade e como trabalhar de forma independente, sem ficar preso a uma
versão do sistema operacional. Para isso, o artigo faz inicialmente uma breve
introdução ao tema. Em seguida, é definido um estudo de caso que será
desenvolvido passo a passo ao longo do artigo. Ao final, teremos uma aplicação
totalmente funcional que faz uso do sistema de notificações do Android.
Em que
situação o tema é útil Um bom aplicativo Android
faz extenso uso de notificações, isso porque é uma forma aprimorada de
interação com os usuários. Este artigo apresentará como dominar este recurso na
plataforma Android. Você estará preparado para criar soluções de interface com
o usuário ainda mais interativas e amigáveis.[/lead]
Com o avanço dos sistemas operacionais para dispositivos móveis, o
consequente avanço dos aplicativos para estes dispositivos era inevitável. E
mais do que isto, os próprios sistemas operacionais voltados para este público
precisaram se modernizar. Prova disso é a liderança em market share do Android e iOS acima dos 90%, isso porque eles
atingiram um patamar acima dos concorrentes existentes no surgimento de ambos.
O sistema operacional Symbian que até então reinava sozinho, tornou-se
obsoleto e feio quando iPhones e Androids invadiram o mercado. Isso provou para
o mundo que os usuários tinham passado da fase de usar o telefone celular
somente para efetuar e receber chamadas. Outro fato que reforça esta conclusão
é a crescente nos números de vendas de smartphones. Sendo que este ano, pela
primeira vez na história, superaram as vendas de telefones celulares.
Isso nos leva a perceber um fato óbvio. Não é mais aceitável criar
simples aplicativos para aparelhos móveis. Os usuários exigem interfaces
gráficas cada vez mais ricas e que façam o melhor uso do hardware que eles têm
em mãos. E soma-se a isso mais um fato: as lojas virtuais estão abarrotadas de
opções de aplicativos para os mais variados fins. Segundo pesquisas do final de
2012, cada uma das duas principais lojas online (Play Store e Apple Store) possuía
cerca de 700 mil programas disponíveis para baixar gratuitamente ou para
compra. Sendo assim, o desenvolvedor mobile precisa ter criações que se
destaquem no meio desta infinidade de possibilidades.
Temos diversas maneiras de obter destaque nestas lojas, como o extenso
uso de sensores, para dar um aspecto de inteligência ao nosso software. Por
exemplo, um sensor de luminosidade pode deixar a tela mais escura ou mais
clara, dependendo do ambiente. Um sensor de proximidade pode desligar a luz da
tela quando perceber que o usuário se distanciou, economizando a escassa
bateria dos smartphones.
Também podemos guardar um histórico das ações do usuário e criar um
sistema sensível ao contexto. Por exemplo, um sistema de compra online pode
perceber quais são os itens mais procurados e saber as preferências do usuário,
mostrando primeiramente aqueles de seu agrado. Um simples aplicativo de rotas
pode perceber preferência do usuário e fornecer indicações de serviços ao longo
do trajeto que interessam ao mesmo.
Outra forma de se destacar pode ser com sistemas de notificações. Basicamente,
este conceito visa informar o usuário de algo importante sem que o mesmo
precise buscar por esta informação. Um aviso sobre um temporal que se aproxima,
alertando o usuário para deixar a área onde ele está que sobe com frequentes
inundações, sem que o mesmo precise fazer esta pesquisa em sites meteorológicos
e históricos de enchentes, agrega muito valor a uma solução.
Além disso, uma notificação pode ser a porta de saída de um complexo
sistema que roda em background. Devido à possibilidade de multithreading do Android, pode-se fazer diversas consultas em uma
quantidade muito grande informações aplicando conceitos de data mining e inteligência artificial. O usuário vai achar que isso
tudo é mágica, porque vai receber uma informação extremamente oportuna para
aquele seu momento e necessidade, sem qualquer esforço de sua parte.
Esta característica torna o aplicativo mais inteligente e mais
surpreendente para o usuário. Quem não gosta de ver o próprio Android avisando
que você tem novas mensagens diretas no Twitter, novos e-mails na sua caixa de
entrada, sem termos que abrir estes aplicativos e fazer esta verificação.
Ganhamos t
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota QuickupdateAutores: Robison Cris Brito, Alisson Puska e Ricardo Ogliari
[/rotulo]
[lead] Introdução à comunicação bluetooth no Android
A comunicação Bluetooth é uma forma de comunicação
sem fio muito utilizada entre dispositivos portáteis, seja pelo baixo consumo
de energia ou pela grande variedade de dispositivos móveis que possuem este
recurso. Para entender como funciona a comunicação bluetooth alguns conceitos
são importantes, como a comunicação cliente-servidor, procura de servidores e
serviços, troca de informações via fluxos (Stream), comunicação multithread,
entre outros. No estudo de caso apresentado neste artigo muitos destes
conceitos são apresentados, e ao final, o programa pode ser testado em
diferentes aparelhos Android.
Assim, este artigo apresenta os fundamentos da
comunicação bluetooth aplicados à plataforma Android. De maneira simples e
didática, os fundamentos da programação bluetooth são apresentados ao leitor.
Na sequência, um estudo de caso sobre a comunicação bluetooth na plataforma
Android é apresentado, exemplificando conceitos como cliente-servidor,
disponibilização de serviços, busca de servidores, conexão e envio e recepção
de dados.
Em que
situação o tema é útil Este artigo é útil para programadores que ainda não
possuem conhecimentos técnicos sobre a comunicação bluetooth, e que desejam
utilizar em seus aplicativos troca de informações entre smartphones ou até
mesmo entre smartphones e outros dispositivos portáteis bluetooth.[/lead]
Bluetooth é uma tecnologia sem fio usada para conectar e transmitir
dados entre dispositivos em rede pessoais (chamadas de Personal Area Networks -
PANs). Com um alcance máximo de até 100m e velocidades de transmissão que podem
se aproximar de 24 Mb/s, o bluetooth é um o padrão em comunicação de curta
distância.
Celulares, smartphones, câmeras digitais, teclados, mouses e outros
dispositivos adotaram a tecnologia por ser robusta, economizar energia e ter
uma fácil implementação. Um dispositivo operando bluetooth pode se conectar com
até oito outros dispositivos, que o torna uma ótima opção para uma rede de
dispositivos móveis. O bluetooth surgiu como resposta para a necessidade de
conectar dispositivos sem a utilização de cabos, visando a econômica de energia,
a fácil operação e a comodidade.
Em 1994, a empresa Ericson iniciou um projeto para a eliminação dos
cabos que conectavam os diversos periféricos dos telefones celulares. A ideia
era utilizar ondas de rádio de baixa frequência para conectar os diferentes
dispositivos.
A tecnologia originada pelo projeto da Ericson foi batizada de MCLink e
surpreendeu por ser relativamente barata e de fácil implementação, o que
contribuiu muito para o desenvolvimento do projeto que logo recebeu o apoio de
outras empresas.
Mais tarde, a tecnologia recebeu o nome de bluetooth em homenagem ao rei
dinamarquês Harold Blatand (em inglês - Harold Bluetooth), que unificou as
tribos da Noruega, Suécia e Dinamarca. Foi utilizado o aspecto da unificação
das nações para fazer uma referência a unificação dos dispositivos.
Em 1998 foi formado o consorcio BSIG (Bluetooth Special Interest Group)
que iniciou as especificações
industriais do bluetooth. A formação
inicial do grupo pelas empresas Nokia, Ericson, IBM, Toshiba e Intel, facilitou
ao projeto receber cada vez mais aceitação e apoio da comunidade tecnológica.
[subtitulo]Funcionamento técnico do bluetooth[/subtitulo]
O bluetooth utiliza ondas de rádio de baixa potência, operando em
frequências que vão de 2.4Ghz a 2.5 Ghz,
na faixa de frequência conhecida como ISM (Industrial, Scientific, Medical). O
uso da baixa potência aumenta a economia de energia das baterias e limita o
alcance a um máximo de 100m.
A tecnologia é dividida em três classes levando em conta o alcance das
ondas de rádio:
• Classe
3 de 1 MW de potência: Alcança distâncias de até 1m;
• Classe
2 de 10 MW potência: Alcança distâncias de até 10m;
• Classe
1 de 100 MW potência: Alcança distâncias de até 100m.
Cada dispositivo possui uma classe de operação, que deve ser observado
no momento de sua compra.
Existe também o conceito de Bluetooth Wireless Personal Area
Network(BT-WPAN) que é o nome dado a área onde dispositivos bluetooth formam um
rede. Uma BT-WPAN consiste de Piconets e Scatternets.
Uma piconet consiste de um conjunto de até oito dispositivos conectados,
onde o dispositivo que iniciou a conexão é marcado como mestre e os demais como
escravos. Duas piconets podem se conectar através de dispositivos comuns em
ambas as redes, sendo a única restrição que estes dispositivos não sejam os
mestres de suas piconets. Esta união de piconets recebe o nome de Scatternet,
conforme exemplificado na Figura 1.

abrir imagem em nova janela
Figura 1. BT-WPAN
A tecnologia utiliza conexões ponto-multiponto onde o nó mestre é o
controlador da rede. O nó mestre é o responsável por organizar a comunicação na
piconet, sincronizando o clock entre os dispositivos conectados e
calculando um padrão de frequency hopping.
Os nós escravos se conectam somente com o nó mestre, não havendo conexão direta
entre eles.
Outros dispositivos utilizam a mesma banda de frequência do bluetooth e
para evitar interferência e garantir uma transmissão fim-a-fim segura, a
tecnologia utiliza um mecanismo de alteração de frequência (frequency hopping).
O mecanismo consiste em alterar a frequência de utilização em até 1600 vezes
por segundo, gerando saltos na banda de frequência ISM. Os dispositivos
sincronizam o padrão de saltos e se comunicam na mesma frequência.
As transmissões ocorrem no modo Full Duplex, onde os dispositivos
transmitem e recebem dados por um esquema de divisão de tempo chamado TDD (Time
Division Duplex).
[subtitulo]Protocolos[/subtitulo]
A pilha de protocolos Bluetooth é dividida em três partes:
• Camada
de Transporte;
• Camada
Middleware;
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre solução completa. Autores: Cleverson Schmidt e Rafael Munhoz
[/rotulo]
[lead] Desenvolvendo
jogos com o corona
A categoria de jogos é, de longe,
a mais popular nas lojas de aplicativos do Google e Apple. O sonho de todo
desenvolvedor independente é conseguir
emplacar um novo Angry Birds ou Temple Run. Existem muitas alternativas para
implementar um jogo. Das mais complexas como usar APIs nativas do OpenGL,
passando pela implementação direta num Canvas ou SurfaceView, até a utilização
de frameworks que facilitam e aceleram o processo de desenvolvimento
Neste artigo vamos aprender a desenvolver um
jogo multiplataforma usando o framework de desenvolvimento de jogos Corona.
Vamos implementar um exemplo passo a passo e ao final do artigo teremos um jogo
que, apesar de simples, contém vários elementos de jogos de sucesso encontrados
no Google Play e App Store.
Em
que situação o tema é útil Esse artigo será útil para
desmistificar um pouco o desenvolvimento de jogos. Apesar de parecer muito
complexo, frameworks como o Corona simplificam bastante o processo como um todo
e nos auxiliam a implementar tarefas aparentemente muito difíceis como o uso da
física nos jogos.[/lead]
O mercado de smartphones e tablets tem crescido de
forma muito acelerada nos últimos anos. Previsões indicam que em 2013 serão
vendidos mais de 1 bilhão de smart devices no mundo todo. Cada um desses dispositivos
tem capacidade de processamento semelhante a PCs de um passado não muito
distante. Os usuários tem em mãos um aparelho capaz de executar tarefas cada
vez mais complexas e os desenvolvedores de jogos estão explorando muito bem
esse ambiente.
A categoria de jogos é, de longe, a mais popular
nas lojas de aplicativos do Google e Apple. Em média, metade do tempo de uso nos
smartphones é dedicado a jogos. Além de
jogar muito, também gasta-se muito nessa categoria. Usuários estão despejando
bilhões de dólares em compras diretas e micro transações (In App Purchase - ler Nota do DevMan 1). Combinando um
imenso mercado potencial e os dólares desses consumidores, temos um ambiente
muito atrativo a ser explorado.
[nota] Nota DevMan 1. In App Purchase
Basicamente, uma In App Purchase se refere à possibilidade de inserir em
sua aplicação mecanismos de compra que podem ser acessados de através de botões
ou links. Normalmente, estas transações estão associadas à adição de algum
recurso extra à sua aplicação ou jogo. Para ilustrar, considere o Jogo Clash of
Clans, um jogo de estratégia muito difundido no momento pata ambientes iOS.
Neste jogo, você deve evoluir sua vila através da construção de uma série de
unidades de ataque e defesa contando para isso com moedas, uma espécie de
elixir e esmeraldas. Estes recursos são limitados e vão avançando à medida que
suas unidades vão produzindo os recursos. Entretanto, é possível ter uma ajuda
extra na liberação de recursos para que você possa evoluir sua vila mais rapidamente.
Isso é feito através de compras de recursos através de seu cartão de crédito.
Para os mais ansiosos, é possível liberar recursos suficientes para dar um bom
upgrade em seu ambiente.[/nota]
Entretanto, o desenvolvimento de jogos traz um
conjunto de características que, em muitas vezes, funcionam como uma verdadeira
barreira para a entrada neste mercado já bastante disputado. A simples junção
da lógica do jogo com uma interface bem elaborada e interativa com o usuário já
é por si só uma tarefa extremamente desafiadora e difícil de ser alcançada.
Indo um pouco mais além, outro recurso que é presença obrigatória em jogos
aumenta ainda mais esta barreira: o uso correto da física. Quando falamos de
física, nos referimos a simular no ambiente virtual de um smartphone o
comportamento que um objeto teria no mundo real considerando questões como
peso, gravidade, colisão e inercia. Criar soluções com estas características
vai muito além de um simples cadastro básico que estamos acostumados a lidar em
nosso dia a dia como desenvolvedores de software, quando lidamos na maioria das
vezes com tarefas repetitivas e que algumas vezes dispensam o uso da
criatividade.
Isso sem falar que para atingir um público alvo
mais abrangente, é preciso que o jogo desenvolvido possa ser utilizado, pelo
menos, nas principais plataformas do mercado. No ce
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|

A Equipe DevMedia tem a satisfação de anunciar que atingimos o número de meio milhão de usuários cadastrados.
Meio milhão de pessoas participando do fórum, lendo artigos, revistas, assistindo vídeos, enfim, aproveitando os serviços do portal, e esse número aumenta a cada dia.
Como não poderia deixar de ser, queremos agradecer a você, que é parte integrante dessa incrível marca.
Um abraço da Equipe DevMedia.
-->">
|
|
|
|
O portal DevMedia acaba de lançar um novo curso. No Curso de Introdução ao Windows Phone, ministrado pelo nosso amigo Nabil Safatli, você aprenderá tudo que precisa saber para começar a desenvolver aplicações para o mais recente sistema operacional da Microsoft para smartphones, o Windows Phone.
Serão apresentados desde os conceitos mais básicos, como controles de entrada de dados e layout, até pontos mais avançados como trabalhar como multitasking e com os sensores do aparelho.
Se você quer começar a desenvolver para Windows Phone, seguindo as tendências de um mercado que só cresce no Brasil e no mundo, essa é a hora.
Um abraço da Equipe DevMedia e bons estudos.
Link do curso: http://www.devmedia.com.br/curso/curso-de-introducao-ao-windows-phone/383.
-->">
|
|
|
|
Pessoal, atualizamos a formação de Delphi Developer. Se você está querendo aprender a programar em Delphi, este é o momento! Sua hora chegou!
Modificação realizada:
Nesta formação você irá aprender os conceitos básicos de Delphi e também a desenvolver aplicativos desktops, utilizando conceitos como multicamadas, além de muito mais coisas.
Basta acessar o link: http://www.devmedia.com.br/curso/formacao-delphi-developer/109.
Bons estudos!
-->">
|
|
|
|
[rotulo]
Artigo do tipo Teórico
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre Arquitetura,
Conteúdo com estudo de caso. Autores: Edson A. Oliveira Junior e Rodrigo P. Bonini
[/rotulo]
[lead] O desenvolvimento de sistemas para a nuvem
Neste artigo será apresentado um breve resumo sobre
computação em nuvem e serão catalogadas algumas das principais tecnologias
relacionadas. Ao final do estudo analisaremos um pequeno exemplo fictício da
utilização de algumas das tecnologias citadas.
Em
que situação o tema é útil Este artigo apresenta algumas das principais
tecnologias para auxiliar no desenvolvimento de sistemas e o gerenciamento de
infraestruturas baseados em nuvem.
Este tema é útil para gerentes/arquitetos de
software e a indústria de software em geral que desejam migrar para soluções em
nuvem ou obter conhecimentos sobre um dos temas mais atuais no setor de TI em
todo o mundo.[/lead]
Computação em nuvem permite o uso computacional
(processamento, armazenamento, serviços, etc.) com recursos compartilhados de
forma remota, por meio da internet ou redes locais. Esses recursos são
definidos a partir de um painel de controle onde o usuário pode configurar
serviços de acordo com a necessidade de uso e sem nenhuma intervenção de um
especialista com o servidor. Em geral, o usuário só pagará pelos recursos e
serviços utilizados, possibilitando um melhor controle sobre os gastos.
A computação em nuvem é a evolução de uma variedade
de tecnologias. Tecnologias como grid
computing (modelo de rede de computadores
onde os recursos de cada computador são compartilhados com todos os outros
computadores no sistema), virtualização (o processo de executar vários sistemas
operacionais em um único equipamento) e utility
computing (modelo de disponibilização
de serviços computacionais no qual um provedor de serviços disponibiliza
recursos computacionais e infraestrutura necessários para um cliente e o cobra
baseado no uso) podem facilmente ser confundidas com computação em nuvem.
É possível diferenciar computação em nuvem de
outras tecnologias observando o modelo proposto pelo Instituto Nacional de
Padrões e Tecnologia (NIST), que é composto por cinco características
essenciais, quatro modelos de implantação e três modelos de serviços. Tais
modelos permitem que organizações de grande porte ofereçam serviços e
ferramentas para auxiliar no desenvolvimento de aplicações em nuvem como, por
exemplo, o Google App Engine, que é uma plataforma de desenvolvimento em nuvem
da empresa Google integrada com uma base de dados própria, o BigTable (sistema
de armazenamento de dados comprimido, de alto desempenho e proprietário
desenvolvido a partir de um conjunto de tecnologias do Google).
Outro exemplo de serviço é o Windows Azure Platform
da Microsoft, que possibilita um desenvolvimento de forma ágil, também
integrada com uma base de dados própria, o SQL Azure. Ambos contam com
bibliotecas próprias para diversas linguagens. Por fim, cabe ressaltar que todos
os serviços citados podem ser executados via Web nos data centers das empresas fornecedoras.
A computação em nuvem oferece muitos benefícios
para as organizações, como: a redução de custos, já que as empresas não
precisam mais gastar com infraestrutura e também manutenção; e a melhora na
automação dos serviços, flexibilidade e sustentabilidade. Além dos benefícios
citados, a
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Teórico
Recursos especiais neste artigo:
Conteúdo sobre arquitetura,
Conteúdo com estudo de caso. Autores: Ivânia Ramos dos Santos, Jean Carlo do Rosário e Jenifer De Marchi.
[/rotulo]
[lead] Modelo de testes 3P x 3E
Este artigo tem como propósito,
através de um estudo de caso, analisar os índices de qualidade que levaram a
equipe de testes de uma empresa de informática aqui denominada ‘Size Software’,
a optar pela metodologia 3P x 3E para o aumento da qualidade do seu produto
final.
Em
que situação o tema é útil Este artigo aborda o uso do modelo 3P x
3E na fase de testes como fator determinante na busca pelo aumento da qualidade
do software, merecendo dessa forma, especial atenção dentro do processo de
criação de um sistema. A discussão desse tema é útil para empresas de
desenvolvimento de software que antes de iniciarem um projeto, não compreendem
a relação existente entre a qualidade, o software e os testes alvos. Desta
forma, obterão o escopo necessário para utilização das ferramentas, materiais e
recursos disponíveis, criando um produto de qualidade ao usuário final.[/lead]
Em se tratando das diversas considerações que devem
ser levadas em conta no processo de construção de um software, a etapa de testes
seguramente tem muita importância no conjunto. Não apenas a sua execução,
representando uma fase da construção de projetos, mas também a sua relação com
a qualidade final. A combinação das ferramentas e da metodologia aplicada
requerem a necessidade de estudos cuidadosos no momento da escolha. Uma opção
imprecisa pode trazer associações indesejáveis ao produ
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
[rotulo]
Artigo do tipo Teórico
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas. Autores: Jailton Junior de Sousa Coelho e José Luis Braga.
[/rotulo]
[lead] Apoio a decisões no processo de inspeção de software
Uma das formas de melhorar a
qualidade de software é a aplicação de inspeções nos artefatos desenvolvidos ao
longo do processo de desenvolvimento. Embora as vantagens de se utilizar
inspeções de software sejam conhecidas, a forma como as inspeções são
realizadas na prática pelas organizações de software ainda é pouco
sistematizada e seu potencial raramente é explorado. Este artigo apresenta um
modelo de dinâmica de sistemas, envolvendo grande parte das variáveis que
influenciam fortemente na eficiência da inspeção. Através do modelo é possível
reproduzir cenários nos quais seria caro ou perigoso experimentar na realidade,
sendo possível analisar os impactos que a inspeção pode trazer no processo de
desenvolvimento, diminuindo riscos.
Em que situação o tema é útil Este artigo apresenta um modelo
de dinâmica de sistemas que permite avaliar, via simulação, os impactos da
utilização de inspeções em várias etapas do ciclo de desenvolvimento de
projetos de software, economizando recursos e permitindo reproduzir cenários
nos quais seria caro ou perigoso experimentar com problemas no mundo real.
Através do modelo, gerentes de
projetos podem configurar e simular cenários para auxiliá-los na análise e
tomada de decisão relativa às características da empresa, permitindo testar
situações novas antes de colocá-las em prática.
O uso do modelo torna-se
atrativo quando se pretende estimar o total de defeitos distintos do produto e
ao mesmo tempo ter acesso a uma estimativa da efetividade do sistema de
inspeção, medida que é utilizada por algumas empresas como um critério para
continuidade ou não da inspeção, ou para reinspeção de unidades de produtos.[/lead]
A
tomada de decisão é uma atividade importante e complexa na engenharia de
software. Geralmente é um processo não sistemático, uma vez que tipicamente se
baseia em experiência pessoal sem o uso de modelos explícitos. O
desenvolvimento de software é um processo onde cada pessoa envolvida
constantemente toma decisões, tanto técnicas quanto gerenciais.
A
capacidade de enxergar e compreender o sistema como um todo é fundamental nas
decisões. Em projetos de software, os gestores quando buscam visualizar de
forma integrada todos os fatores de influência do seu processo de
desenvolvimento, de maneira que terão maior capacidade em tomar decisões mais
adequadas. Entretanto, gestores acabam optando por decisões reativas,
considerando apenas o problema presente, sem relacioná-lo com o seu ambiente e
demais fatores correlacionados. Isso se torna um risco relevante no projeto, uma
vez que decisões gerenciais tomadas de maneira equivocada podem levar a grandes
prejuízos e mais do que isso, podem causar falhas críticas no software. Logo, é
indispensável o uso de ferramentas que auxiliem os gerentes em suas tomadas de
decisão, identificando os riscos antes de eles se materializarem.
A
qualidade do produto de software é um aspecto que deve ser acompanhado durante
todo o processo de desenvolvimento. A participação humana é um fator de grande
presença nos projetos de software, justificando a ocorrência de defeitos, até
mesmo se as melhores técnicas e procedimentos forem utilizados. Com isso, fica clara a importância de um
processo de garantia da qualidade que atue em todas as fases do processo de
desenvolvimento. Revisões de artefatos de software têm se mostrado uma
abordagem eficiente e de baixo custo para encontrar defeitos, reduzindo o
retrabalho e melhorando a qualidade dos produtos (ler Nota do DevMan 1).
[nota] Nota DevMan 1. Inspeção de Software
A inspeção é
um tipo particular de revisão que contribui para garantir a qualidade do
produto de software. Todas as etapas do processo de desenvolvimento de software
são suscetíveis à incorporação de defeitos, que podem ser detectados pela
inspeção e posteriormente removidos.[/nota]
É
importante destacar que quant
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|

Neste post você encontrará o código fonte desenvolvido pela equipe de suporte DevMedia referente ao Curso JavaScript: Explorando as diferentes ferramentas fornecidas pelo JavaScript.
O código fonte se encontra dividido em pastas - cada uma representando uma aula do curso. Dessa forma você pode ter o código completo e acessar um ponto específico do curso para estudo, quando precisar.
Se você estiver acompanhando o curso e seu projeto apresentar problemas de compilação, recomendamos fortemente que você utilize este código como fonte de comparação, assim você pode verificar onde ocorreu o erro.
Este código fonte é uma forma de consulta adicional ao curso em questão e mais um serviço prestado pela equipe DevMedia.
Bons códigos. -->">
|
|
|
| |
|