Pular para o conteúdo principal

Um Pouco sobre os Novos Sistemas Operacionais para Mobile



O mercado de plataformas móveis está claramente centralizado em dois nomes: iOS e Android. A dupla revolucionou o mercado e acabou com o império do Symbian, que durava mais de uma década. Uma pesquisa da Strategy Analytics mostrou que ambas foram responsáveis por 92% de todos os smartphones embarcados no quarto trimestre de 2012.

Mas engana-se quem pensa que outras empresas jogaram a toalha. Temos as duas mais conhecidas de todas. O Windows Phone e o recém-lançado BlackBerry 10.

O Windows Phone é uma plataforma que já tenho um pouco de experiência, tendo escrito alguns artigos para revistas e, começamos a trabalhar com ela na StillRocker. Empresa da qual sou sócio.É um bom sistema operacional, com um visualmente e conceito totalmente inovador. Mas ainda não vingou no mercado.

Já o BlackBerry 10 é totalmente novo em relação aos seus antecessores, nos quais trabalhei durante três como desenvolvedor. Tive a oportunidade de participar de um evento de pré-lançamento da plataforma realizada em São Paulo no ano de 2012. Confesso que achei o sistema operacional bonito e estável. Basta esperar e ver se a empresa canadense vai recuperar seu mercado perdido.

Mas não paramos por aí. O final de 2012 e início de 2013 estão sendo marcados pelo anúncio de novos sistemas operacional para o mundo mobile. Neste texto, vamos falar dos principais: Firefox OS, Ubuntu Phone, Tizen e SailFish OS.

Vamos começar falando do SailFish OS, desenvolvido pela Jolla, empresa formada por ex-funcionários da Nokia insatisfeitos com a morte do MeeGo. Este OS ainda é prematuro, não contendo muita informação na internet. Seu SDK vai ser lançado no início deste ano (2013).

Segundo minha pesquisa o SailFish terá suporte a aplicativos Android. Na página oficial do projeto pode ser visto uma citação ao Qt e a ferramenta QtCreator. Que, concidentemente é uma das apostas no novo BlackBerry 10. Abaixo, segue um vídeo lançado pelo Jolla que mostra um pouquinho do que será este OS.


Já o Tizen é uma iniciativa liderada pela Samsung, Intel e Linux Foundation. É baseado no Linux e terá forte apelo a tecnologia HTML 5 (outra constante nestas novas plataformas). Segundo consta, também terá suporte a aplicativos Android. Porém, tem foco em dispositivos mais simples.

O Tizen parece ser uma plataforma mais madura que o SailFish. Por exemplo, tem um guia para desenvolvedores bem completo (https://developer.tizen.org/documentation/dev-guide). Terá suporte para aplicativos com padrões Web (HTML5, CSS  e JavaScript), aplicativos nativos (C/C++) e híbridos. Infelizmente, parece que o download do SDK do Tizen está com problemas, então, não vou conseguir falar sobre isso.

Abaixo, um vídeo com o Tizen 2.0 Magnolia:


 
O Tizen terá suporte a features avançadas, como o NFC por exemplo. Além do GPS, 4G e versões para tablets, notebooks e televisores.

O Ubuntu Phone, criado pela Canonical também tem um nível de maturidade bom. Basicamente será uma versão semelhante ao Ubuntu para Desktop, porém, para smartphones, tablets e televisores.

Assim como o Tizen, Web Apps são o foco principal. Possui API´s específicas para uma melhor integração com o hardware. Logicamente, a tríade HTML 5, CSS e Java Script está presente. Porém, para rich applications a plataforma fornece um ambiente de desenvolvimento nativo, misturando QML com uma engine C ou C++. Além de suporte a OpenGL.

Infelizmente também não consegui instalar este SDK, pois, encontrei somente a linha de comando apt-get no site oficial. Como não utilizo Linux no notebook ficou impossível testar.

Veja mais sobre o SO no vídeo abaixo:



E, por último, mas não menos importante, temos o Firefox OS. Que tem um slogan grande na sua página oficial dizendo “trazendo a open web para dispositivos mobile”. É desenvolvido pela Mozilla Foundation.

Talvez o que vou falar já não é mais surpresa, mas, foca no uso do HTML5 juntamente com API fornecidas pela Mozilla para criação de aplicativos com uma experiência de usuário melhor. CSS e Java Script fornecem o apoio restante no ambiente de desenvolvimento.

A plataforma também já conta com um site com uma vasta documentação e um esboço de marketplace. Não encontrei nenhuma referência a SDK no site oficial.

Abaixo, um vídeo que mostra um pouco do que é o Firefox OS:


E o que estes novos sistemas operacional para dispositivos mobile nos dizem? Que devemos esquecer Android, a plataforma líder de mercado atualmente? Que java está com os dias contados e devemos correr desesperadamente para HTML5?

Minha opinião é bem simples. Essa resposta quem nos dará é o mercado. Não conseguimos estudar todas as plataformas, sistemas operacionais e outras novidades que surgirem. Indico conhecermos basicamente cada uma delas e aumentar o tempo de estudo conforme aumenta sua adoção no mercado. Um bom exemplo é o Windows Phone. É uma ótima plataforma, o Metro Style acertou em cheio no design mas, ainda não ganhou mercado.

E o HTML5, CSS e Java Script? Se você leitor, for um desenvolvedor de aplicativos nativos para Android ou iOS, eu sugiro que começe a estudar um pouco mais estas tecnologias. Afinal, não temos bola de cristal para saber o comportamento do mercado.

E o Android? Mesmo que ele comece a perder espaço (o que eu duvido), isso ainda vai levar um bom tempo. Talvez o sistema operacional do Google imite a Nokia e o Symbina, reinando por uma década e meia.

Att.
Ricardo

Comentários

Postagens mais visitadas deste blog

Compilador GWT, não se preocupe com JavaScript!

Nesse post vou escrever um pouco sobre o Compilador do Google Web Toolkit , qual é o seu papel no kit, além de algumas dicas para o dia-a-dia no desenvolvimento com a tecnologia. Como exemplo vou usar um novo Projeto Web no Eclipse criado a partir do Google Plugin   para desenvolvimento GWT e/ou App Engine, acesse aqui mais informações e download. Depois de instalar o plugin, dentro do Eclipse siga a sequência para criar o projeto: New - Others - Google - Web Application Project - Defina o nome do projeto e a estrutura raiz de pacotes - Finish. Vou adotar como nome do projeto appGWT e pacote br.com.globalcode . O plugin gera uma aplicativo pronto que permite ao usuário preencher um campo e realizar o envio ao servidor de forma assíncrona (Ajax), quando o servidor responde um Dialog é apresentado com a mensagem de retorno. Para testar a aplicação é só executar o projeto com a opção Wep Application . Veja: O GWT, como já foi comentado , adota um conceito bem interess

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad

Dica rápida: Apagando registros duplicados no MySQL

Ola pessoal, Sei que vocês estão acostumados a ver posts meus sobre tecnologia móvel ou algo relacionado, mas hoje vou falar sobre um pequeno "truque" que usei esse final de semana com o MySQL. Eu estava desenvolvendo o lado servidor de uma nova aplicação mobile (ahh, então "tem a ver" com mobile hehe), e quando fui fazer alguns testes percebi que tinha quase 7 mil registros duplicados (!!!) na minha base de dados! Bom, o meu primeiro reflexo como programador foi pensar em fazer um "programinha" Java para buscar e deletar todos esses registros duplicados. Mas ai, resolvi tirar as teias de aranha dos neurônios e usar os vários anos de experiência que passei com SQL e criar uma query que fizesse esse trabalho todo de uma vez!! E a query ficou assim: delete from TABLE_NAME USING  TABLE_NAME, TABLE_NAME  AS  auxtable WHERE   ( NOT  TABLE_NAME.id  =  auxtable.id ) AND   ( TABLE_NAME.name  =  auxtable.name ) Explicação direta: TABLE_NAME

Devo fazer um curso ou ler um livro?

Acredito que todos os instrutores ou professores, independentemente da área, escola ou centro de treinamento, já devam ter recebido essa pergunta alguma vez na vida: devo fazer um curso ou ler um livro? Para responder a essa pergunta, precisamos avaliar os prós e contras de cada opção. Trabalho com treinamento há algum tempo e, hoje, recebi essa pergunta de um aluno. Não adianta responder a ou b sem argumentar, demonstrando as opções conforme a situação do aluno. O conteúdo, a forma de transmissão e a capacidade de assimilação do indivíduo são chaves para haver benefício maior de aprendizado. Tanto em um bom curso quanto em um bom livro, o conteúdo é a premissa básica . Por conteúdo entendemos: se está organizado; se respeita pré-requisitos; se promove o aprendizado guiado e incremental; se aborda de forma satisfatória os principais pontos; se tem bom balanço entre teoria, exemplos e prática (favorecendo exemplos e prática); se tem como premissa a acessibilidade possível (e cabível) pa

Saiba como programar para Arduino sem ter nenhum hardware disponível

O Arduino já é uma tecnologia muito difundida entre os amantes de tecnologia. É difícil encontrar um profissional da computação que não brincou um pouco com esta ferramenta de prototipagem ou, que gostaria de fazer isso. Porém, em alguns casos, o programador quer conhecer o arduino mas não dispõe de nenhum hardware, nem mesmo da placa. Como isso poderia ser resolvido? A primeira resposta seria aquela mais simples e direta: ir as compras. Isso pode ser feito em uma loja física ou pela internet. No meu caso, por exemplo, tive a felicidade de encontrar em um site (não me lembro qual) um kit arduino, com um conjunto de sensores e um DVD com 41 vídeo aulas. Mas digamos que o profissional não esteja passando por um bom momento financeiro, ou ainda, simplesmente não queira comprar o Arduino sem antes conhecê-lo um pouco melhor. Para a última situação também já existe uma resposta, e diga-se de passagem, uma excelente resposta. Trata-se do site 123D Circuits.io . Depois de criar seu u

JavaMail: Enviando mensagem HTML com anexos

Introdução Depois do post "JavaMail: Enviando e-mail com Java" , que apresentava como enviar um e-mail com Java, resolvi complementar a assunto apresentando como enviar uma mensagem formatada, em HTML , e também como realizar o envio de anexos. Bibliotecas Além da biblioteca JavaMail, veja mais no post anterior , é necessário incluir o JavaBeans Activation Framework (JAF), apenas se a versão utilizada for anterior ao JSE 6.0 , que já tem o JAF incluso. O JAF está disponível em http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html , e neste download encontramos, alguns exemplos na pasta demo , documentação, incluindo javadocs, na pasta docs e a biblioteca activation.jar , que deve ser acrescentada no classpath da aplicação para versões anteriores ao JSE 6.0. Exemplo Primeiramente devemos realizar a configuração da javax.mail.Session e da javax.mail.internet.MimeMessage , estes passos podem ser vistos no post anterior . Agora vamos montar um