Como Aprender a Programar pelo Celular - do Zero ao Node e React
Sumário
- Introdução
- Como aprender lógica de programação
- HTML e CSS pelo celular
- Javascript pelo celular
- Terminal no celular
- Como instalar Node no celular
- Como usar React pelo celular
- Banco de dados MongoDB e Postgres
- GIT
- Considerações finais
- Contato
Introdução
No Brasil vivemos em uma situação em que ter um computador, mesmo que bem simples, é considerado um luxo. Então como fazer para incluir pessoas que não tem condição, mas tem vontade, de ingressar na área de tecnologia, que é a que mais cresce no mundo?
Sempre achei programação algo bem interessante, ouvindo sobre sua função no desenvolvimento de jogos, sites, robótica, e do crescimento imenso da área da tecnologia. Não tinha computador, mas tive vontade de assistir aulas básicas para entender como tudo funcionava.
Para não ter muita enrolação vou dar um resumo: Comecei a estudar e buscar formas de aprender mesmo com minha limitação de ferramentas, driblando incompatibilidades e adaptando conteúdos. Dessa forma consegui desenvolver não apenas com Html, css e javascript, mas também ReactJS, Node.js e até mesmo React Native, utilizando MongoDB e Postgres, tudo com um Moto G2, já ultrapassado e com bem pouca memória performance.
Caso você seja da área talvez não ache isso inteessante ou difícil, mas imagina alguém que nunca utilizou essas tecnologias ter que descobrir tudo sozinho...
Passo 1 - Lógica de Programação
Caso não saiba nada sobre programação, seu primeiro passo é entender a lógica, e para isso recomendo o curso de lógica de programação do canal Curso em vídeo com o profressor Gustavo Guanabara.
E para praticar você precisa instalar um desses aplicativos disponiveis na play store:
- Pseudocode, Visualg Algoritmos
- Portugol Mobile
Link: Lógica de Programação
Passo 2 - HTML e CSS
Aqui é o momento onde você aprende a base de como é feito o visual de um site, como os textos são estruturados e como as páginas são estilizadas.
Para acompanhar recomendo instalar o aplicativo:
- Spck Code Editor
Link: Curso HTML
Link: Curso CSS
Pratique muito, além desses cursos veja mais aulas e faça seus próprios testes! Como você está utilizando o celular não será possível ver como seu projeto ficaria em telas maiores, ainda assim você terá a visão de como seria para telas menores, podendo estudar e ficar tecnicamente preparado, desenvolvendo e adaptando as proporções de forma que se encaixem em seu dispositivo.
Passo 3 - Javascript
Chegou finalmente a hora de falarmos de uma linguagem de programação, e aqui vamos falar de como aprender javascript pelo celular.
Já temos o Spck code editor instalado, e vamos continuar a usa-lo, unindo Javascript aos nossos novos conhecimentos de HTML e CSS.
Para isso recomendo o curso do nosso já conhecido e querido professor Gustavo Guanabara.
Link: Curso Javascript
Passo 4 - Terminal no celular
Na vivência na área de desenvolvimento é essencial o conhecimento básico de uso do terminal, e agora vou passar como você vai fazer isso pelo celular, primeiro instalando o terminal e então aprendendo os principais comandos.
- instale o aplicativo Termux disponível na play store.
- Abra o aplicativo e rode os seguintes comandos:
pkg upgrade
, e depoisapt upgrade
- durante o processo de instalação será necessario em alguns momentos confirmar que deseja fazer instalações dos pacotes. Quando isso acontecer você só precisa digitar a letra 'y' e dar enter.
Principais comandos do terminal
- mkdir: cria uma pasta (também chamada de diretório)
- touch: cria um arquivo
- ls: mostra todos arquivos e pastas que existem dentro da pasta em que você está
- cd: entra ou sai de pastas
- cp: copia arquivos
- rm: deleta arquivos
- rm -r: deleta pastas
- mv: move arquivos e pastas, ou os renomeia.
Exemplo: mkdir teste (cria pasta teste) cd teste (entra na pasta teste) touch main.js (cria arquivo main.js) ls (mostra a existencia do arquivo main.js) mv main.js index.js (muda o nome de main.js para index.js) rm index.js (deleta o arquivo index.js) ls (vazio, pois não há mais nada detro desta pasta) cd .. (retorna para a pasta que estava antes de entrar na pasta teste) ls (mostra a pasta teste) rm -r teste (deleta a pasta teste)
Caso tenha duvidas, pesquise sobre como utilizar o terminal linux.
Passo 5 - ReactJS e Node.js
NÃO SE APRESSE, É MUITO IMPORTANTE QUE ESTUDE MUITO OS PASSOS ANTERIORES ANTES DE CHEGAR AQUI, PULAR ETAPAS VAI TE ATRASAR MUITO NESSA JORNADA DE APRENDIZADO
Instalando um editor
Para editar os arquivos criados no terminal precisaremos de um editor que acesse os arquivos do Termux, e para isso instale aplicativos como:
- Editor de codigos
- QuickEdit
- Ou qualquer outro que tenha a opção de navegar entre pastas Saf
Como instalar node pelo celular
- Entre no Termux e instale o Node com o comando
pkg install nodejs-lts -y
Instale o Aplicativo Restler disponível na play store, para testar api's (Funciona como insomnia)
Criando um projeto ReactJS
- Entre no Termux com o node instalado, e rode o comando
npm create vite@latest
- Escolha o nome de seu projeto
- Selecione a opção React, (preferivel usar javascript pela falta de autocomplete no celular)
- Entre na pasta que foi criada e rode
npm install
Pronto! um ambiente React pronto para ser utilizado!
Passo 6 - Bancos de dados
MongoDB
Para utilizar o MongoDB você pode seguir aulas que ensinam a como utilizar o banco com o mongoose. Crie uma conta no MongoDB Atlas e utilize o banco de dados na nuvem.
Postgres
Também utilizaremos o Postgres na nuvem, com o serviço ElephantSQL do postgres. Não consegui utilizar nem o prisma e nem o TypeORM pelo celular, então aprenda e use Postgres com sequelize
Aprenda Git
Link: Aula de Git
Aprenda Git e utilize em todos seus projetos!!
Considerações finais
Quando for estudar lembre-se sempre de praticar muito tudo que estuda, crie seus próprios projetos e experimente, pesquise e tente implementar coisas novas, encontre e resolva problemas!
caso tenha alguma duvida ou precise de uma mãozinha, pode me chamar que ajudo no que for possível!
Autor
Willian Guedes
Github
Programar no celular
Da para programar no celular em diversas linguagens:
APPS ANDROID PARA PROGRAMAR EM JAVA
- AIDE android IDE
- JAVA N-IDE
APPS PARA WEB (Javacript, HTML e CSS)
Devido a facilidade de executar aplicações WEB, tem varios apps WEB:
- SPCK Editor
- VHEditor (que usa o vscode versão web, baseado no termux)
- Acode
- TrebEdit
APPS PARA C++
- CppDroid
- CxxDroid
- C4Droid (pago)
APPS PARA PYTHON
- Pydroid
- QPython
APPS PARA LUA
- QLUA
- LUA INTERPRETER
APPS UTEIS
Quando você estiver programando você pode presisar de algum desses apps:
IconExporter
É um app que como o nome diz, exporta icones, e ele tem uma grande quantidade de icones.
Pixellab
É um app de edição de imagem bem simples, mas bem util... eu uso para fazer icones, banners, ate capas para por nos meus projetos do github as veses.
Termux
O Termux é basicamente um emulador de terminal, você pode usalo para programar, mas devido a interface de terminal limitada eu não recomendo. O ponto dele é o git, e o gh, para que você possa trabalhar em repositórios remotos do github. Além disso você pode usalo para executar servidores locais, ou mesmo, usar a ferramenta de linha de comando do heruko, para dar deploy em uma aplicação funcional.
DrawPixel
O DrawPixel é uma ferramenta de pixel art muito boa, que você pode usar caso queira programar jogos no celular. Até onde vi, ele é o melhor. Em outros apps de pixel art como Pixel Studio ou Pixly, você pode ter coisas que o Draw Pixel não tem, mas vai ter uma interface muito menos adaptada ao meu ponto de vista.
FL Studio Mobile
Esse app é pago, mas é muito bom para criar musicas, basta um pouco de treino. Você pode baixalo na Play Store ou em algum outro lugar...
Trello
Esse app é muito bom para organizar seus projetos. Ele tem uma versão para PC, e bem famoso.
Apps de fluxograma
Tenho 3 apps de fluxograma:
- HaunaMind
- Transno
- Obsidian Assim como o Trello, esses apps ajudam bastante a planeijar os projetos, mas o Transno e o Obsidian também podem ser usados para anotar seus estudos.
Youtube e Google
Não tenho que esplicar, todo mundo tem esses dois no celular. Todo o conhecimento que você pode vir a precisar vai estar em algum deles.
Logcat Extreme
Obrigatorio ter root (Lembrando que fazer root é um processo perigoso!) Caso você estiver programando apps no AIDE, ou usando qualquer outro app capas de gerar apk, é bom usar esse app para debugar...
Criação de jogos
Para criar jogos, em codigo puro, você pode usar LibGdx no AIDE, PyGame no Pydroid ou mesmo alguma bibliotema de jogos para web em qualquer app de programação WEB, como SPCK EDITOR. Mas, caso você queira usar alguma game engine mobile, tenha em mente que todas (que forem verdadeiramente para android) vão ser limitadas. Vou listar algumas, ordenadas da mais poderosa para a menos.
Godot mobile
A Godot, ue é uma engine para PC, a alguns meses vem implementando uma verão para android, que atualmente se encontra na versão 3.5.1 (embora tenha algumas betas mais recentes). Vale a pena testala, caso você tenha um teclado fisico, embora ela ainda esteja em desnvolvimento e cheia de bugs.
It's Magic
A It's Magic foi desenvolvida por um brasileiro, e ja foi referenciada como Unity Mobile. Ela é voltada a jogos 3D, e eu nunca tive uma experiência longa o sulficiente para saber ate onde ela vai, mas sei que a interface não é muito intuitiva e, quando eu usei, tinha alguns problemas... Ela infelizmente tem um sistema de moedas para exportar apk e instalar assets, o que te limita alem dos anuncios atrapalharem o uso.
Max 2D
É a tipica engine mobile, embora tenha uma boa interface, é bem limitada, mas ja vi jogos até rasoaveis nela. Não sei se exporta apk. Eu diria que vale apena testar. A programação nela usa um sistema de codigo visual, semelhante ao Blueprint da Unreal.
Pocket Code
Eu nunca usei, mas parece ser muito limitado. Ela é uma das mais usadas e usa um sitema de programação com blocos.
TIC-80
Nunca entendi como usar, a interface não ajuda muito... Mas ja vem com editor de som 8bit, editor de sprite 8bit... é tudo 8bit nele. Alem disso, ele usa programação em Lua. Acho que ele saiu da Playstore, mas você pode baixar em outros sites da internet.
Além dessas engines tem varias outras, cada vez mais limitadas. A unica que chega a nivel de PC é a Godot que pode fazer praticamente td q a versão de PC consegue, tirando as partes que ainda estão em desenvolvimento.
Presiso de algo além do celular?
Não. Para programar no celular, geralmente você não presisa de mais nada, mas alguns apps como o VHEditor, e a própia Godot não funcionam sem almenos um teclado fisico. Um mouse tambem ajudaria, mas não é necessario.
Achei muito interessante todo esse conteúdo e os aplicativos. Sinceramente, acho incrível esses aplicativos que possibilitam tantas coisas. Mas fiquei com uma dúvida: como alguém conseguiria absorver todo esse conteúdo por meio de um Moto G2, que já não roda vários apps?
muito bom! interessante são alguns novos apps, vou fazer minha primeira publicação aqui em breve sobre isso. parabéns pelo conteúdo!👏👏
Obrigado pelas recomendações! Com certeza é bastante relevante conseguir lidar com a inclusão digital no Brasil. E, mesmo que não esteja começando agora, nunca havia usado terminal e editor de código no celular, mas agora vou. Ainda assim, acho relevante deixar a recomendação: o aplicativo Replit. É excelente para quem quer ir direto ao código, usei o site em desktop quando comecei a universidade na área, já que recebi recomendação de professores e foi muito bom. Quando o aplicativo foi lançado, corri para testar e ele traz algumas vantagens bem interessantes, como por exemplo, aprimoramento do teclado do celular, facilitando a navegação pelo código.
ok este é o meu primeiro passo neste site e este é logo o primeiro artigo que abro.
trabalho na equipe tecnica em um Teatro de minha função demanda muito tempo a disposição para ser chamado a qualquer momento o que me impede de abrir o computador para estudar.
assim, acabo passando o tempo ou lendo, ou em rede social.
estou tentando começar a estudar com o Guanabara a 4 anos e nunca evoluo muito.
Esse post, neste momento, foi revolucionário para a minha cabeça.
e logo no primeiro artigo, no meu primeiro acesso.
muito obrigado.
Esta é a minha primeira manifestação no tabnews, primeiramente gostaria de dizer que achei muito boas suas recomendações, o professor Guanabara é simplesmente é incrível, recomendo bastante também pra quem ta começando, assistir os vídeos da Rafaella Ballerini e também os da Rocketseat, além de seus eventos(Ignite Lab, NLW) onde é possível ir ao próximo nível 😁, mas acredito por exemplo que o uso do Git/Github pode muito bem ser usado antes de saber Node ou frameworks de Javascript. O básico de HTML, CSS e JS creio que seja o necessário para começar a publicar repositórios e projetos. Eu sou usuário de iPhone(infelizmente ou felizmente kk) e o uso de terminais ou aplicativos para programar foi uma dificuldade e ao mesmo tempo uma decepção no decorrer do tempo. Mas hoje um aplicativo que realmente encontro valor é o Replit🎆, tem diversos templates para começar a codificar, é possível criar projetos do zero, é possível atráves do site se conectar ao Github e desta forma importar repositórios inteiros para trabalhar neles e utilizar Git pelo celular! Eu achei interessantíssimo, mas graças ao bom Deus eu tenho a oportunidade de estudar e programar por um computador o qual acho infinitas vezes mais prático.
Vou aqui deixar meus centavos de contribuição:
Tem um pacote que voce instala pelo Termux chamado proot-distro
, e dentro dele vc pode instalar uma distro linux, como Ubuntu, Arch, Fedora, ai o ceu é o limite.. eu uso aqui, fica meio pedacinho no armazenamento com o tempo, mas é delicinha 3 já da pra fazer muito mais coisa, até o TypeORM já dá pra brincar com node, nvm, mysql-server e etc.. Até dá pra arriscar codar apps levinhos com Expo e ExpoGO ..
Dicas muito boas! Eu como iniciante (mas pelo desktop) agradeço pelo compartilhamento de cursos muito bons, parabéns pelo artigo e pelas dicas!
Suas dicas foram excelentes!
Como complemento, eu sugiro que também aprendam vim que com os plugins certos pode se tornar uma potente IDE para desenvolvimento web. Digo isso por exeperiência própria. No começo vai se ter um pouquinho de trabalho, mas depois tudo flui e fica tranquilo. Vim ou Neovim aliados ao Tmux no Termux dão um excelente trabalho em equipe e a baixo custo de hardware.
teste
mobile first e levado a serio aqui
Uma verdadeira façanha ja que se trata de um moto g2