quinta-feira, 9 de abril de 2015

Cross Mobile

 Cross Mobile entre iOS x Android x Windows Phone.


Durante os últimos 3 meses, estive escrevendo uma aplicação mobile para Android utilizando o seguinte ambiente:

S.O:            Linux
IDE:          Android Studio      https://developer.android.com/sdk/index.html
Emulador:  Genymotion         https://www.genymotion.com/


O meu objetivo foi escrever uma aplicação nativa, que contemplasse as seguinte features técnicas.

  • Google Maps - GeoLocalização
  • Fragments  
  • Persistência de dados utilizando SQL Lite
  • Gerenciamento de Memória
  • Exercitar o Modelo MVC
  • Utilizar WebServices
  • Utilizar o componente KSoap
  • Compreender o uso de AssyncTasks
  • Criptografia
  • Padrões de Interface
  • Compatibilidade de Interface API
  • Emuladores vs Celulares
  • Adapters
  • Serialização de Objetos
  • Animações

Apos o término desta aplicação, generalizar e partir para uma solução cross mobile com os principais frameworks do mercado.



 Durante o desenvolvimento, foi levado muito em consideração o resultado final da aplicação, que deveria ter uma performance superior, economizar memória, trabalhar em modo off-line, e ter um baixíssimo consumo de banda.

abstract public class BaseActivity  extends Activity{
    @Override
    public void onBackPressed() {
        this.finish();
    }
}

 Criar a aplicação em Java, usando Android Studio, foi a melhor solução encontrada, mas no caso de difícil incorporação no cliente a ser implantado. A mesma aplicação foi reescrita em Xamarin utilizando C#, pois seria a solução completa para depois abraçar o desenvolvimento iOS.

A empresa adotou uma solução Enterprise Xamarin pois teria facilidade de aceitação da equipe de desenvolvedores que ja´era capacitados em C#.

Eu expliquei que mesmo trabalhando com C#, este seria apenas a base da sintaxe da linguaguem  e caberia a equipe se capacitar no uso do SDK de cada ferramenta.

Consultado um Arquiteto Xamarin, ele mesmo confessou que na sua equipe tem um especialista para cada plataforma: Android, iOS, Windows Phone.

Pois os produtos são feitos individualmente e lançados nas lojas em tempos diferentes.


Agora neste ponto de projeto estamos tentando ver na prática a solução que gere Aplicativos Nativos Cross Plataform.

Eu aindo fico com usar códigos nátivos.

Mesmo programando em .NET prefiro marretar os problemas no Java.

Mas para uma empresa que só trabalha com .NET, fica difícil ficar introduzindo linguagens específicas.

Por isto este case não é uma receita de bolo.


§ Tendências de Mercado
§  Aderência Arquitetura TI do seu Cliente
§ Qualidade X Produtividade
§ Necessidade Investimento
§ Prova de Conceito
§ Definição Arquitetura Desenv.
§ Definição Padrões Técnicos
§ Definição Modo de Operação

Postar um comentário