PE?O CONSELHO ESTRATÉGIO SOBRE UNIVERSO MÓBILE

MARCOS 06/03/2015 13:28:32
#445037
Boa tarde,Colegas!
Já perdi a conta das veses que [Ô]Tentei[Ô], sair do desenvolvimento para [Ô]DeskTop[Ô] que faço hoje,
para o universo Mobile (SmartPhone e Tablet).Mas,agora finalmente consegui o mais difícil,
o [Ô]Tempo[Ô]. Antes de iniciar neste mundo,fiz uma pesquisa na Internet.Estou preocupado,pois já
percebi que existem muitas ferramentas e tecnologias diferentes para trabalhar com desenvolvimento
de Tablets e SmartPhone.Não quero,dedicar tempo e dinheiro investindo em ferramentas obsoletas
e que a comunidade já abandonou.

Por isto peço o conselho dos colegas, sobre o é melhor usar para desenvolver para Tablet e SmartPhone na atualidade ( Para dispositivos Android ):

O que eu descobri pesquisando:

Pesquisando na Internet,me parece que o que existe de mais [Ô]moderno[Ô] e de menor custo são as seguintes tecnologias:

- O novo Visual Studio 2013 (E o próximo 2015) usando C#
- Usar o Visual Android ( Usado pelo comunidade que programa em Java)

Na opinião dos colegas,qual destas tecnologias hoje é a que permite um aprendizado mais rápido e qual delas permite construir uma
aplicação em menor tempo (Produtividade) ???
OCELOT 06/03/2015 14:45:57
#445040
Resposta escolhida
Para Android existem diversas alternativas que são usadas.

A oficial é o Android Studio, este é o SDK oficial do Android, e Java é a linguagem oficialmente usada para se programar para ele, porém apenas a linguagem e as bibliotecas básicas são iguais a do Java, todas as bibliotecas que te dão acesso aos recursos do Android são próprias dele e não existem no Java normal, a compilação também é diferente e gera um código diferente do bytecode do Java que funciona praticamente apenas no Android.

Para se trabalhar com C# acho que a melhor opção é o Xamarin.Android, este é o que uso atualmente, porém a versão gratuita permite apenas que se use o Xamarin Studio, para se programar com o Visual Studio você precisa comprar a licença de $999,00

Sei que existem outras mas realmente não as conheço, sei por exemplo que se pode programar em Python e que existe também um outro chamado Phone Gap que se usa basicamente HTML, CSS e JavaScript para fazer o app, mas nunca usei eles então não posso entrar em detalhes.

Quanto as duas que citei antes, a em Java é a que você sempre vai ter todos os recursos sempre atualizados mais rapidamente, pois é a oficial, mas a do Xamarin também é muito bom, sempre tem atualizações e quase não existem limitações do que se pode fazer no Java e não se possa fazer no C#, geralmente são apenas algumas coisas que são raramente usadas ou até mesmo que não se deveria usar que eles não dão suporte, até hoje não tive problemas com isso.

O Xamarin também possui alguns recursos que facilitam desenvolver aplicativos multiplataforma, no caso para Android, iOS e Windows Phone usando o mesmo código para todos, claro que assim ficando um pouco mais limitado no que se pode fazer, mas dizem que simplifica bastante o desenvolvimento, mas eu mesmo não cheguei a usar eles, quando comecei eles ainda não existiam e seria muito trabalhoso para mim fazer a mudança agora.

Então não levando os novos recursos do Xamarin, ao se comparar as duas primeiras ferramentas que citei eu diria que são praticamente equivalentes no que se diz respeito a produtividade, e neste caso a melhor vai ser a que usa a linguagem que você está mais acostumado, Java ou C#, ambos vão te dar praticamente os mesmos recursos.
KERPLUNK 06/03/2015 17:05:32
#445045
O desenvolvimento da interface em si é muito simples e pode sim ser utilizado tanto o Visual Studio ou o Visual Android. A grande mudança, é na estrutura. Ao contrário de uma aplicação Desktop, o acesso à dados, não deveria ser usado do modo tradicional desktop, mas sim algum tipo de fonte de dados remota, que responda JSON ou XML, como uma WebAPI. Essa é a grande mudança principal. A interface em si, pode até ser feita usando HTML e convertida para uma aplicação Android sem problemas.
GUIMORAES 07/03/2015 09:06:53
#445055
Vou passar um pouco sobre minha experiência com desenvolvimento mobile.

Primeiro iniciei desenvolvendo em HTML, com o framework jquery Mobile, que era convertido com o Phone Gap para as principais plataformas. O grande problema é o desempenho, fica muito ruim, dependendo da aplicação.

Após esse banho de água fria iniciei o desenvolvimento do mesmo aplicativo para Windows Phone, nativo com C#, no visual studio 2012. O mundo é outro, a aplicação se torna infinitamente mais rápida com o código nativo, entre outros fatores, como a utilização de componentes mais complexos e completos.
Quando finalizei este projeto, iniciei o mesmo para Android, com o Android Studio, foi fácil, tendo em vista que eu já tinha um conhecimento razoável em java e a experiência do C# com Windows Phone.

Para comunicação com meu banco de dados, tive que criar um Web Service, em C#, que se comunica com as duas linguagens, tornando o desenvolvimento ainda mais fácil.

A única dica que dou sobre desenvolvimento mobile para windows phone é que utilize C# como linguagem padrão, pois existem muitas limitações com o Visual Basic.net, infelizmente pude perceber que o vb.net não faz a mesma coisa que o C# , principalmente quando trabalhamos com eventos dinâmicos em um listbox por exemplo.

Para Android, existem um framework que converte seu web service para código em android, facilitando muito a comunicação.
http://www.wsdl2code.com/
Basta gerar o WSDL do seu Web Service e converter.

Ah, outra coisa, já usei o Xamarim, e na minha humilde opinião não vale a pena!. No final das contas é mais fácil desenvolver o aplicativo na sua respectiva plataforma.









MARCOS 09/03/2015 12:15:30
#445084
Agradeço muito as orientações dadas pelos colegas!
No que diz respeito a plataforma a ser utilizada,já me
decidi, levando em consideração o que os amigos
disseram acima.No entanto,peço só mais uma dica:

- No caso,de programar usando o Visual Studio (C#) eu pretendo usar o Sql Express
- Caso utilize o Visual Android pensei em usar o SQLite.

São boas escolhas,ou o recomendado seriam outros Bancos de dados?????
OCELOT 09/03/2015 14:58:41
#445094
Banco de dados no Android você provavelmente vai ter que usar SQLite independente de qual linguagem ou IDE usar. Não existe SQL Express no Android, e não sei dizer se é possível conectar a um SQL Server remoto a partir do Android, nunca precisei disso mas eu diria que no geral se conectar diretamente a um banco de dados remoto a partir do Android não é muito recomendado, geralmente se faz isso através de um Web Service

E não sei se você está confundindo mas nunca ouvi falar de Visual Android, acredito que você queira dizer Android Studio
GUIMORAES 09/03/2015 15:32:48
#445096
SQLite deverá funcionar em aplicações .net e Android, agora o SqlExpress não.
Seria interessante você trabalhar com apenas um banco de dados, pois você reduz o tempo de desenvolvimento.

Agora se não tem opção, assim como eu que utilizo Firebird, o recomendado é criar um web Service.
MESTRE 10/03/2015 09:03:59
#445113
Também to querendo desenvolver uns aplicativos mobile aqui para a empresa, em C#

tem como conectar o MySql a algum dispositivo Android?? pq utilizamos aqui no ERP o banco Mysql..

Grato!
Tópico encerrado , respostas não são mais permitidas