Executando verificação de segurança...
22

Como Aprender a Programar pelo Celular - do Zero ao Node e React

Moto g2

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

Como aprender lógica de programação
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

Curso de HTML
Link: Curso HTML

Curso de CSS
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.

Curso de Javascript
Link: Curso Javascript

Passo 4 - Terminal no celular

Terminal pelo 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 depois apt 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

ReactJS e Node.js pelo celular

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

Postgres e MongoDB

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

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

LinkedIn

Github

3

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.

2

Bacana d+, adorei, teria alguma rota com dicas de aprendizado em C# pelo cell? maior parte do tempo to em onibus ou trabalho e seria bacana aprender essa linguagem que me apaixonei.

1

Tem um app chamado "C# Shell .NET IDE", não sei c# então nunca usei realmente...
Ele exporta apk, mas a interface não é tão boa.

1
1

quando eu testei ele não tava tão bom, e se não ne engano ele presisa de internet. Eu sempre tento usar so apps offline, para ser mais acessível

1

Muito bom cara! Parabéns pelo esforço pra democratizar esse conhecimento que tem mudado a vida de tanta gente! Espero que isso aqui ajude muitas pessoas a chegarem mais perto de seus objetivos.

1
1
1
1
1

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?

1

Olha, realmente é complicado você ter que lidar com lentidão e também com a falta de praticidade de fazer isso pelo celular, ainda por cima um tão fraco, mas acredito que seja possível aprender varias coisas interessantes mesmo com essas limitações. Eu não tinha opção, ou era aprender com o meu Moto G2 ou nada, então depois da minha experiência quis fazer esse post para tentar facilitar para quem está com as mesmas limitações mas ainda assim tem vontade de aprender. No fim valeu a pena, graças a essa dedicação hoje trabalho com isso. O que começou como diversão sem pretensão profissional mudou minha realidade.

1
1

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.

1
1

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.

1

Fico feliz de poder facilitar o processo de quem já está em uma jornada tão difícil. É ótimo ver que minha experiência está sendo útil para mais pessoas, por isso obrigado pelo seu comentário!!

1

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.

1

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 ..

1
1

Então, é basicamente inicializar o typeorm na aplicação com npx typeorm init, opcionalmente pode se passar uma flag --db pra especificar o banco de dados qua vai usar, nesse caso mysql, ele instalar o driver mysql por padrão, mas pra mim aqui o mysql2 dá menos problemas.

Daí o typeorm vai instalar as dependências necessárias e criar as configurações dele, as pastas entity e migration e o arquivo do data-source que é onde fica os dados de conexão com o banco.

Ai vai precisar também de um client MySQl instalado, eu uso o mysql-server, que dá pra instalar via apt no Ubuntu aqui.

ps: tudo dentro do proot-distro logado em uma distro linux

1

Dicas muito boas! Eu como iniciante (mas pelo desktop) agradeço pelo compartilhamento de cursos muito bons, parabéns pelo artigo e pelas dicas!

1

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.

0
1
0