Mobile

Solução Web JSF – Desktop, Mobile e Tablet

Postado em Atualizado em

Melhor que desenvolver uma solução web com JSF e Primefaces para uso simultâneo em desktop, celular e tablet, é ter condições de testar todos eles ao mesmo tempo:

1

2

3

Para testar isso em todos os dispositivos mobiles, veja o navegador Blisk. Para os interessados em adquirir, use o cupom FFETLM para ter 35% de desconto no Blisk.

“Eu olho sempre para o SENHOR, pois ele me livra do perigo.” Salmos 25:15

Anúncios

Devo eu criar soluções mobile híbrido ou nativo?

Postado em Atualizado em

O que é um app mobile nativo?

Os aplicativos nativos são instalados e armazenados dentro do dispositivo mobile, baixados através de uma loja específica para cada plataforma (como iOs ou Android). Eles são feitos usando os SDKs e as linguagens nativas especificas de cada uma dessas plataformas, o que facilita o acesso a funcionalidades do sistema operacional e sensores como GPS e a câmera. Uma das grandes vantagens de concentrar o desenvolvimento em um aplicativo nativo é a facilidade de otimizar o código por tratar diretamente com as bibliotecas do sistema operacional do dispositivo. A desvantagem é que um aplicativo nativo custa mais caro, precisando de desenvolvedores com conhecimentos totalmente específico.

O que é um app mobile híbrido?

Aplicativos híbridos são feitos usando linguagens e tecnologias de web apps e usam wrappers ou frameworks para serem convertidos em um aplicativo instalável no dispositivo do usuário. Esse tipo de app também é publicado na loja e funciona de forma similar aos nativos. Sua grande vantagem é exigir apenas conhecimento de desenvolvimento web e, portanto, tem um custo muito menor de desenvolvimento. Alguns frameworks têm bibliotecas para facilitar a integração de aplicativos híbridos com várias funcionalidades de dispositivos. E a alternativa mais rápida e barata para garantir presença do seu aplicativo em todas as app stores. O produto mais usado desse segmento é o Cordova – https://cordova.apache.org.

Vejo muito “bla bla bla” por ai em torno desse assunto, hoje então gostaria de dar meu pitaco, baseado em minhas experiências no assunto, sempre é claro respeitando a sua.

1. Qual é melhor?

Vou começar falando mais uma vez, e já to cansado de falar isso, não existe solução melhor ou pior! Tudo tem seu valor e pode se encaixar dependendo do contexto em si. Voltamos ao assunto da Alice no país das maravilhas.

2. João disse: “Eu gosto do nativo”. Maria replicou: “Eu prefiro híbrido”

Segundo, essa escolha não é baseada em emoções, premonições ou gosto pessoal. É uma decisão puramente técnica! Do ponto de vista do seu usuário, não há diferença. Um aplicativo híbrido bem construído se integra à plataforma da mesma forma que um nativo. Sendo assim, essa decisão deve ser feito baseado em argumentos sistemáticos e não em opinião pessoal.

3. Híbrido é lento de mais

Mentira e frescura pura! Hibrido tem sim performance inferior ao nativo, mão não é nada lento. É muito bom e bem rápido. Você usando um bom controller JS e um kit de GUI HTML5 moderno ai de hoje, o uso fica bem acima do aceitável. Você já deve ter alguns ai no seu Smartphone e nem noto isso. Há diferenças de performance apenas em casos muito específicos que exijam realmente bastante processamento no dispositivo. Somente nesses casos, opte pelo nativo. Segue abaixo soluções reais, instale esses apps hibridos no seu smartphone e veja por sim mesmo:

4. Quando exatamente o nativo é melhor?

Aqui é aonde eu vejo o pessoal pecar muito. Nativo é melhor em casos como: games 3D complexos, ou em aplicações que precisem de multithreading. Não é recomendado também para apps que precisem ficar executando serviços em background. Só o ambiente nativo consegue fazer isso de forma realmente eficiente, sem consumir a bateria do usuário. Somente nesses casos, opte pelo nativo.

5. Experiencia única

Outro caso que também pode ser considerado, seria a questão de oferecer uma experiência única ao seu usuário no seu app.  Como o híbrido usa HTML e CSS para criar o visual, é comum acabarmos com um design comum a várias plataformas, apenas com pequenos ajustes. Mas se você quer algo que use os componentes nativos, nesses casos, opte pelo nativo. Mas eu te pergunto: Vai valer a pena o custo? tempo? e manutenção? Essa “suposta experiência” cobre tudo isso? É algo a ser pensando. O que eu vejo na prática é a necessidade de disponibilizar servições corporativos no mobile, sem frescuras de GUI.

6. Na dúvida deve eu escolher nativo?

Muito errado! Como a maioria das apps não se encaixa exatamente nas categorias 3, 4, e 5, um híbrido é suficiente! E o que pesa em seu favor é o menor custo de desenvolvimento. Um único projeto, um único código serve todas as plataformas. Não é necessário ter equipes específicas programando Android, iOS, Windows Mobile e outras, por exemplo. Isso reflete diretamente no custo, tempo, cronograma e manutenção. Esses são os principais argumentos que pesam em favor do híbrido. Outro fator é que se você já tem uma equipe com conhecimentos de HTML, CSS e JS, a curva de aprendizado para o híbrido é bem pequena. E se não sabe, aprender uma única plataforma baseado em W3C é infinitamente mais rápido e barato de acontecer e manter.

7. Mas se eu optar pelo híbrido e depois precisar acessar código nativo?

Soluções híbridas hoje te da acesso a vários serviços nativos com grande cobertura. Conforme o tempo avança, novos serviços são disponibilizados em novas versões. A chance de você fazer uma coisa extremamente especifica e que não seja coberta pelo serviços hibrido é baixa. Infelizmente poucos sabem que as decisões técnicas devem ser feitas baseadas nas necessidades reais e não em especulações ou bola de cristal.

8. Já fiz uma solução hibrida, já esta produção e agora eu tenho que fazer algo realmente nativo e específico. O que fazer?

Qual é problema disso? Nenhum! Isso é desenvolvimento de software brother! Mudança sempre! Você fez exatamente o que deveria fazer, começou com uma app híbrida para cobrir rapidamente o maior número de plataformas, e depois se precisar, se realmente surgir ou emergir necessidades não existentes na híbrida, você pode então custear a produção de uma versão nativa, agora realmente embasado em uma decisão técnica, substituindo a versão hibrida. O Facebook começou assim, todo em HTML5, e hoje tem aplicações nativas em várias plataformas (além de um excelente site mobile). O grande erro aqui é começar bancando vários nativos sem necessidade nenhuma e ao longo de vários anos, não emergir nada que justificasse ter a solução em nativo, virando desperdício total por parte da gestão.

O post fica aberto para você nos dar sua opinião. Até a próxima pessoal!

“Como dizem as Escrituras Sagradas: “Rios de água viva vão jorrar do coração de quem crê em mim” João 7:38

Solução Web – Desktop, Mobile e Tablet

Postado em Atualizado em

Melhor que desenvolver uma solução web para uso simultâneo em desktop, celular e tablet, é testar todos ao mesmo tempo:

1

2

3

Todas essa facilidades graças ao navegador Blisk. Muito legal de usar 🙂 …..

“Eu olho sempre para o SENHOR, pois ele me livra do perigo.” Salmos 25:15

Especialistas em mobile tem salários até 64% maiores que o salário médio da área TI

Postado em Atualizado em

  • Pesquisa realizada pelo buscador de vagas Adzuna.com.br analisou mais de 17 mil vagas de TI anunciadas online.

  • Profissionais especializados em iOS ou Android encontram menos oportunidades, mas salários maiores.

  • A região Sudeste concentra mais de 2 terços das vagas para especialistas em iOS e Android no Brasil.

A alta popularidade e disseminação de smartphones no mercado brasileiro de telefonia móvel criou uma demanda maior para profissionais com competências técnicas específicas para os sistemas operacionais iOS e Android.

Os dados partem de uma pesquisa feita pelo site de busca de emprego Adzuna.com.br que reúne em um só lugar milhares de vagas dos melhores sites de emprego e consultorias de recrutamento, a pesquisa analisou mais de 17 mil vagas da área de Tecnologia e Informação em todo o Brasil, fazendo a comparação por especialidade, salário e região.

Em destaque esta o fato que apesar do aumento da demanda para especialistas em sistemas operacionais, o volume de vagas abertas para estes profissionais ainda é baixo, comparado com a demanda por profissionais de outras especialidades dentro do segmento de Tecnologia da Informação. Dos anúncios analisados, apenas 6,87% das vagas são para os profissionais especializados em programação mobile.

Essa porcentagem pode parecer pequena, mas o salário desses especialistas é recompensável, chegando a ser 29% mais alto do que a média salárial do setor como um todo. O salário médio de todas as vagas especializadas em sistemas operacionais para smartphones é R$3,371, contra a média geral da área de TI de R$2,609.

Outro momento em que a porcentagem menor de vagas é compensada pela média salarial maior é quando é quando olhamos os números para quem tem conhecimento especializado em iOS versus quem se especializa em Android.

Vagas específicas para conhecedores de iOS são apenas 9,29% do total das posições focadas em mobile, e especialistas em Android já são procurados por 20,42% das vagas disponíveis. Esse número segue uma tendência de mercado, já que no Brasil, de acordo com uma pesquisa da Kantar Worldpanel, a plataforma do Google tem 89,5% de participação no mercado e o sistema da Apple tem apenas 3,5%.

Porém, o salário médio das vagas para profissionais com foco no sistema operacional criado pela Apple é mais alto do que as vagas destinadas aos especialistas em Android, sendo R$4,286 contra R$3,460. O salário para os especialistas em iOS é também 64% maior que a média salarial de todas as vagas disponíveis no setor de TI do Brasil.

A distribuição dessas vagas não é equilibrada, cerca de 68% das vagas estão concentradas no Sudeste brasileiro, equivalente a quase 12 mil vagas no total. A região com a segunda maior porcentagem de vagas em TI é a sul, com 21%. A região Norte possui a menor porcentagem, com 1%.

Brasil TI vagas

medias salariais

android vs iOS

image

A Adzuna é uma ferramenta de pesquisa de empregos utilizada por mais de 1 milhão de brasileiros por mês, com operações no Brasil, Inglaterra, Rússia, Canadá, África do Sul, Alemanha e França. A Adzuna torna mais fácil encontrar vagas no mercado de trabalho, reunindo milhares de vagas disponíveis na internet em um só lugar. No Brasil, o Adzuna reúne mais de 300 mil vagas de emprego dos principais sites e consultorias de recrutamento.

Os dados produzidos pela Adzuna informam diariamente o primeiro ministro britânico e os oficiais do governo da Inglaterra, com informações sobre crescimento econômico através do aplicativo Dashboard número 10. A Adzuna foi fundada em 2011 por Andrew Hunter e Doug Monro, ex eBay, Gumtree, Qype e Zoopla e possui investimento das empresas Passion Capital, The Accelerator Group e Index Ventures. No Brasil, atua desde abril de 2013.

Respondendo a essa demanda de profissionais qualificados, a FOR-J disponibiliza uma grade completa para treinamentos Java e Mobile.

“…a luz verdadeira que veio ao mundo e ilumina todas as pessoas.” João 1:9 NTLH

Novo Treinamento Mobile

Postado em Atualizado em

mobiledevicesCom o surgimento e a proliferação dos smartphones no mundo, os engenheiros de software precisam estar devidamente capacitado e preparado para atender essa nova demanda de desenvolvimento no setor corporativo. Atualmente temos como plataformas mais utilizadas: Android, iOS, Blackberry, Windows Phone Mobile.

  • Como atender cada um deles?
  • Compensa desenvolver uma solução nativa para cada um?
  • Seria produtivo e sustentável escrever cada solução diferente utilizando quatro tecnologias e quatro linguagens diferentes?
  • Não seria possível desenvolver uma unica solução para todos?

Diante disso, a FOR-J oferece o nosso mais novo treinamento: MOB M2 – Desenvolvimento Mobile Web – JQueryMobile Básico com o objetivo de esclarecer e capacitar os profissionais para responder adequadamente a essa mais nova vertente de desenvolvimento de software.

Objetivo deste curso é introduzir o participante ao desenvolvimento de aplicativos web mobile, tendo como foco principal formar uma base solida de conhecimentos iniciais. O curso compara as estratégias existentes para o desenvolvimento de aplicativos mobile nativo, hibrido e web, focando especificamente na utilização de web apps utilizando o JQueryMobile como framework base. jQueryMobile incorpora os grandes recursos do HTML5 e CSS3 fornecendo todos os recursos e componentes necessários para atendermos com um único código fonte todos os tipos de sistemas operacionais móvel do planeta.O curso aborda a montagem do ambiente de desenvolvimento, componentes visuais, propriedades eventos, temas, paletas, media query e css3.

Invista em você, se preparando para esse novo mundo.

“…logo, já não sou eu quem vive, mas Cristo vive em mim; e esse viver que, agora, tenho na carne, vivo pela fé no Filho de Deus, que me amou e a si mesmo se entregou por mim.” Gálatas 2:20

Emulador Mobile

Postado em Atualizado em

Caso você como eu precise testar aplicativos híbridos HTML5 mobile em vários dispositivos móveis diferentes, segue o emulador da Intel XDK – http://software.intel.com/en-us/html5/tools. Para aqueles que desconhecem a ferramenta, segue um ótimo vídeo da InfQ falando sobre.

Sem título

Essa ferramenta tem nos ajudando e muito a testar soluções web responsivas antes de entrar em produção. Bom final de semana a todos!

“Sabemos que todas as coisas cooperam para o bem daqueles que amam a Deus, daqueles que são chamados segundo o seu propósito.” Romanos 8:28

JSF 1.x com HTML5

Postado em

HTML5_logo_and_wordmark.svgPara aqueles que como eu tem soluções com JSF 1.x e que ainda precisam especializar sua camada web para HTML5, segue uma dica: no carregamento da página, altere o type dos widgets para os novos do HTML5 de forma que os clientes mobile possam usufruir de uma melhor experiência de uso. Segue um exemplo feito com JQuery:

<script type=”text/javascript”>

$(document).ready(function (){

$(‘#ouvidoriaForm\\:ContaCorrente’).attr(‘type’,’number’);

$(‘#ouvidoriaForm\\:Email’).attr(‘type’,’email’);

$(‘#ouvidoriaForm\\:Telefone’).attr(‘type’,’tel’);

$(‘#ouvidoriaForm\\:Celular’).attr(‘type’,’tel’);

});

</script>

“…eu neles, e tu em mim, a fim de que sejam aperfeiçoados na unidade, para que o mundo conheça que tu me enviaste e os amaste, como também amaste a mim.” João 17:23