PE?O CONSELHO ESTRATÉGIO SOBRE UNIVERSO MÓBILE
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) ???
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) ???
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.
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.
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.
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.
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.
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?????
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?????
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
E não sei se você está confundindo mas nunca ouvi falar de Visual Android, acredito que você queira dizer Android Studio
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.
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.
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!
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