Como trabalhar com Smarphone

Software e Hardware para uC STM

Moderadores: andre_luis, 51

Como trabalhar com Smarphone

Mensagempor Guri » 14 Abr 2020 17:27

Eu queria entender e saber quais ou qual a linguagem mais apropriada para criar aplicativos para smartphone s.o. android.
Também se é necessário algum harware para interfacear com o smartphone...
Quero tentar trabalhar com esses aparelhos de forma profissional na criação de aplicativos, mas não sei por onde iniciar, nem faço idéia. :shock:

Agradeço as dicas :D
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Como trabalhar com Smarphone

Mensagempor tcpipchip » 14 Abr 2020 18:25

Se nao está afim de programar, usa o APP INVENTOR!

Outra opcao é o B4A e RAD STUDIO

Testei os 3, funcionam bem!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Como trabalhar com Smarphone

Mensagempor chipselect » 14 Abr 2020 18:27

Hardware basicamente é o cabo usb, seu pc e o celular android. Pra depurar basta entrar no menu de configurações do Android e ativar o modo desenvolvedor, está oculto:
https://tecnoblog.net/277750/como-ativa ... o-android/

Dá até para eliminar o cabo USB e usar via conexão sem fio, mas é um pouco mais trabalhoso configurar, e nem sei se todo celular permite de forma fácil, mas será simples você usar um simulador de Android, como o próprio que vem com o Android SDK (lento) ou configurar uma VM como o Genymotion para depurar com o Android Studio, por exemplo. É bem provável que você vá criar uma penca de VMs com Android, cada qual com configurações diferentes, principalmente de tela, pra ver como sua aplicação vai se comportar em hardwares diferentes.

Em relação à linguagem para app Android, depende muito do tipo de aplicação que você queira desenvolver, pois se for jogos, sugiro usar engines gráficas, uma das mais simples de usar é a Unit3d (lingagem C#, lua, javascript... você escolhe dentre as opções que ele permite)

Se for programar aplicações nativas com relativa complexidade, o básico do Android é o próprio Android Studio com JAVA, mas pode utilizar também o Xamarin da Microsoft, o que te permite gerar aplicativo para iPhone, Android e Windows Universal (ios precisa do mac com o xcode pra compilar e etc). Tanto java quanto c# permite você chamar rotinas escritas em c/c++ também via JNI ou interop, mas não vejo muita vantagem nisso, só se for algo que exige muita performance em cálculo com muitos dados (provavelmente matrizes), como quando você for usar o OpenCV. Dá até pra programar jogos com java e C#, mas seria melhor usar um framework para jogos, como Ogre Android, ou outro para não sofrer tanto. Uma outra opção interessante talvez seja o Flutter da Google, que promete velocidade de desenvolvimento.

Pra fazer aplicações genéricas, além do Java e C#, pode usar as plataformas baseadas em Javascript também, como o IONIC, Phongap/Cordova, coisas como React Native e etc, mas eu não sou muito fã de javascript, então não gosto muito desses "frameworks", além do que volta e meia dá uma dor de barriga em um programador JS e ele vai lá e cria mais uma plataforminha em Javascript para mobile.

O bom do js é que é muito mais fácil pra gente fazer engenharia reversa do que com java ou c# quando for necessário, o ruim é que essas plataformas tendem a ser igual roupa para mulher, vai mudar a cada estação e, se você não ficar atualizando, vai ficar "fora de moda". Não estou afirmando que isso não acontece com Java e C# (xamarin), mas os dois existem desde muito tempo, evoluíram, não foi criado alternativas a eles, as chances deles serem descontinuados é bem menor que a de muitas plataforminhas em JS por aí.

Sugiro usar uma IDE boa, como o próprio Android Studio (nativo JAVA, IntelliJ IDEA, Eclipse), Visual Studio (Xamarin) ou até o Visual Studio Code, mas esse último não é muito "out of the box", mesmo assim é bem fácil.
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Re: Como trabalhar com Smarphone

Mensagempor Red Neck Guy » 14 Abr 2020 20:37

Na minha opinião o caminho mais convervador é Android Studio + Java, mas já é coisa de velho nesse mundo.
O caminho da "moda" é Kotlin.
Pensando melhor, o caminho mais "conversador" é utilizar QT5 e desenvolver um pedaço em C++.
Na real, a tecnologia pouco importa,pra desenvolver nessas plataformas você precisa conhecer bem de poo, estruturas dados,callbacks,conversao de tipos,json,xml e, é bem recomendável, saber de padrões de projeto.
Você também pode ser um copyAndPaste boy e ir copiando código do starckoverlow sem entender, neste caso, recomendo utilizar Kotlin.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Como trabalhar com Smarphone

Mensagempor dreher » 15 Abr 2020 08:54

Atualmente creio que as linguagens hibridas estão mais em voga. Flutter, react native ou Ionic.
Eu uso Ionic, mas infelizmente não gera nativo, o flutter e o react sim. Grandes empresas estão usando flutter atualmente, se não me engano a Nubank e iFood estão com essa tecnologia
dreher
Byte
 
Mensagens: 489
Registrado em: 12 Out 2006 11:10
Localização: Blumenau - SC

Re: Como trabalhar com Smarphone

Mensagempor tronico » 27 Abr 2020 08:52

Utilizo Android Studio + Java e estou estudando Flutter, recomendo o Flutter.
tronico
Byte
 
Mensagens: 112
Registrado em: 08 Set 2011 07:48
Localização: Blumenau SC

Re: Como trabalhar com Smarphone

Mensagempor chipselect » 27 Abr 2020 11:07

Se realmente for programar regras simples e somente no celular, Flutter ou qualquer outra linguagem com framework para desenvolvimento rápido te servirá bem.

Caso vá programar sistemas completos, que também consiste em servidores, dê preferencia a plataformas de desenvolvimento que lhe permita colocar tudo em uma solução de projetos, preferencialmente na mesma linguagem, para que possa ser utilizado código compartilhado. Nesse caso, Microsoft Visual Studio possui isso pronto, mas dá pra fazer nos outros IDEs e frameworks que usam linguagens como java e javascript, com um pouco mais de esforço.

Isso porque quando programamos sistemas maiores, várias regras de negócio são comuns em vários dispositivos (servidores, desktop e mobile), e se a linguagem não permitir, você vai escrever esse código comum diversas vezes. O pior disso é a manutenção futura do código, que acaba virando um pesadelo. Uma outra alternativa é utilizar um framework de regras de negócios que suporte todas as linguagens requeridas (servidor, mobile e desktop, as que existirem).

Se lembre de que, se você estiver nessa situação, não adianta usar algo só porque está na "moda", tem que ter escalabilidade de código e ferramentas que lhe permita checar rapidamente alterações que afetem vários projetos. Infelizmente ainda não vejo uma forma fácil de fazer isso com coisas recentes como GO (servidores) e Flutter (mobile), por exemplo.

Outro ponto importante é que eu não vi tipos Decimal (ou BigDecimal do java) no Dart/Flutter, o que desqualifica ele para cálculo financeiro, mas isso não terá problemas caso você faça todos os cálculos no servidor e não no Android. O javascript até possui uma biblioteca de ponto fixo, mas ela exige um esforço maior do programador para evitar erros numéricos, devido à natureza do javascript não forçar tipagem por padrão, como é em Java ou C# (parece que só "coisa velha" sabe fazer conta financeira nativamente...).

Como o tópico é "Como trabalhar com Smartphone", e estamos falando de construção de aplicativos, a questão deveria levar em conta também o seu objetivo final, para ver se podemos ficar somente com "regras simples" ou se terá implicações como performance (jogos...) ou precisão numérica como em cálculo financeiro... só lembrando que se fizer os cálculos no servidor, daí isso também não importa muito, como acontece com aplicativos tipo do iFood e afins, pois são 100% online... basta jogar tudo que é realmente sério pro servidor.

Resumidamente, não há a "melhor linguagem" para fazer qualquer coisa, você tem que analisar o seu caso em específico, e se for direto para plataformas que "estão na moda", existe uma chande de você errar.
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Re: Como trabalhar com Smarphone

Mensagempor Guri » 04 Mai 2020 12:24

Agradeço todas as dicas do ilustres e inteligentes amigos :D

Achei interessante o Flutter...vou olhar um pouco para ele e ver como me saio.

O meu objetivo no momento é criar aplicações simples para comandar um MCU, por bluetooth no momento, coisas como botões apenas.

Fico grato pela paciência em explicar sobre o assunto. :D
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais


Voltar para STMicroelectronics

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x