Pular para o conteúdo principal

Programando no Chromebook: Melhores IDEs para o ChromeOS

Olá,
Quem já acompanha meu blog sabe que possuo um notebook de baixo custo com Intel N3010 e 4Gb de ram, comprado numa Black Friday 2016 e que a Positivo enviou com o Mandriva (na qual estou escrevendo este artigo =) Até uns 3 meses atrás estava usando Debian com Xfce e mudei para o Manjaro Xfce.
Bom, voltei ao ChromeOS!

Dentre minha necessidades atuais, a principal é um editor de código ou uma IDE que consiga suprir o que preciso.
No meu trabalho diário basicamente preciso de bash, python, ansible e terraform. Raramente devido a AWS acabo precisando mexer com json e js (policies, lambda, ...).

Parti em busca de uma IDE que consiga principalmente me deixar confortável :-)
Fiz uma lista grande e comecei a testa-los.





IDE por assinatura: ShiftEdit: US$6/mês é restritivo. Outras IDEs excelentes também foram removidas da comparação, como o Cloud9, Codio, ...

O tempo voa! E editores cujo ultima atualização foi em 2014 retirei da lista! Além de outros que na própria descrição informa que o app não está 100% ainda... 
Os que saíram da lista: Celestia, Parallax, ChIDE...

Para textos curtos, frases, listas e anotações eu uso o Google Keep, textos maiores ou em desenvolvimento uso o Evernote. Como alternativa ao Evernote, há o 'Paper' do Dropbox (vale a penas dar uma olhada neste também).

Mas e IDE? Um editor de código?

Caso seu ambiente utilize alguma plataforma que ofereça uma IDE prefira-o, sempre tenho comigo a ideia de 'manter as coisas dentro de casa' como exemplo usar o Eclipse Che estando na plataforma OpenShift da RedHaat ou usar o Cloud9 caso trabalhe com a AWS e tenha 'livre acesso' a usar um ambiente com o C9 (assim como sempre pergunto: para que usar um github/bitbucket/gitlab se você usa a AWS e lá temos o CodeCommit?).

Se você usa o Gitlab, vale a pena tentar usar o Web IDE dele, bem simples (até demais) porém funcional.

IDE online para o Github

Caso seus projetos estejam todos no Github e você não fica offline, use o Gitpod!
Importante: A versão free limita a 100 horas por mês e repositórios públicos! A versão paga inclui tempo ilimitado, repositórios privados, suporte ao Gitlab dentre outros recursos.

Crie sua conta no https://gitpod.io e dê as permissões para ele ler e escrever seus repositórios públicos.


Pronto!

Agora basta acessar a pagina do repositório que deseja abrir com a IDE e na URL inserir o prefixo https://gitpod.io/#


Usei como exemplo o versionamento da configuração do meu zsh.

Caso prefira, existe a extensão para o chrome que adiciona o botão na pagina do repositório:


A plataforma irá subir um contêiner com o seu projeto aberto na IDE.




Na pagina inicial do Gitpod você tem os workspaces que criou e consegue administra-los.
Possibilitando iniciar eles ou remove-los.






IDE offline para Chromebook e ChromeOS

Sem dúvidas, o melhor app que testei foi o Code Pad Text Editor.

  • É nativo na Chrome Store
  • Funciona Offline

É possível usar seu sistema de controle de versão (desde que habilite o Linux no ChromeOS) e abrir os arquivos com o CodePad. 

No meu exemplo usei o Git (costumo criar uma pasta chamada 'Git' e dentro dela colocar os projetos/repositórios).
Com o Linux habilitado no ChromeOS o terminal já terá instalado o Git e o SSH, então basta configurar as chaves ou clonar com https mesmo.
Obviamente, com o Linux habilitado no seu Chromebook (Debian!) nada te impede de instalar sua IDE preferida. Visual Code, Atom, Sublime, Gedit, Geany, Spyder, PyCharm, Notepad++, etc...

O Code Pad é open source, seu código-fonte está no github: https://github.com/andrewbrg/codepad-chrome-app

Acesse-o na Chrome Web Store




O último commit no projeto foi a quase 1 ano atrás e no readme.md informa que está sem manutenção, porém é recente e pelo excelente app, espero logo um fork ou novas atualizações.

O CodePad suporta as seguintes linguagens: Bash, C/C++, CoffeeScript, CSS3, Dockerfile, GitIgnore, GoLang, HTML5, Java, JavaScript, JSON, Less, Markdown, MS SQL, Perl, PHP, PHTML, Plain text, Python, Ruby, Rust, Sass, Scala, SQL, TypeScript, XML, XHTML.

Barra lateral com navegação e gerenciamento do projeto
Diversos temas e configuração de fontes.
Syntax das linguagens, identificação e alertas de erros
Diversos snippets prontos e autocomplete para as linguagens suportadas.

Abaixo, abri o mesmo projeto que testei com o gitpod:


















A falta que senti é de integrar com o git para verificar os commits, diff, branch... ou alguma opção de integrar com plugins terceiros visto que ele edita e abre projetos a partir do gerenciador de arquivos do ChromeOS podemos ter projetos localmente, dropbox, Google Drive, NFS, diretórios compartilhados na rede... Porém, com algum projeto em git remoto (github, gitlab, bitbucket, etc...) ele não integra ainda (como a IDE do GitKraken por exemplo), a solução é habilitar o modo Linux do ChromeOS e baixar o repositório no seu dispositivo.















Obviamente, com o Linux habilitado nada impede de instalar a IDE que mais gostei ou fique confortável do Linux em seu ChromeOS. Geany, Gedit, VSCode, Atom, Sublime etc.... o VI/VIM já está instalado nele =)

Mas fica aí essas duas dicas para você explorar mais estas opções.


Postagens mais visitadas deste blog

TuxMath - Tux, do Comando da Matemática. Ensino e diversão a crianças.

Tux Of Math Command, (Tux, do Comando da Matemática, em sátira ao desenho animado, Buzz Lightyear, do Comando Estelar) ou simplesmente TuxMath é um game open source, no estilo arcade, originalmente desenvolvido para linux, mas atualmente é multiplataforma, disponível em Windows, Mac, BeOS, web, dispositivos móveis...

Melhor desempenho da memória RAM e SWAP no Linux

Melhor desempenho da RAM/SWAP Objetivo: Determinar através do kernel (sysctl) quando o sistema deverá utilizar a memória swap. Com isto, o linux vai usar mais a memória RAM e dar prioridade a ela, ao invés de levar isto para o HD (swap) e deixar alguns processos mais demorados. Por padrão, o valor de swappiness no debian é 60. Ou seja, usará o swap quando a RAM estiver em torno de 40% a 50% em uso. Verificar valor padrão: # cat /proc/sys/vm/swappiness Reduzindo o valor de swappiness para 10 ou 15 (neste exemplo, reduzi para 5), o arquivo de swap será usado apenas quando o uso da RAM chegar em torno de 80 a 90 por cento. Edite: # vim /etc/sysctl.conf Altere (adicione se não existir a linha) no arquivo: # vm.swappiness = 5 (Há quem coloque 0 ou 1, mas prefiro assim) Para evitar a necessidade de reiniciar o sistema, execute: # sysctl vm.swappiness=5 depois, apenas como verificação, execute: # swapoff -a # swapon -a # sysctl -p /etc/sysctl.conf

Tipos de VPNs: PPTP x OpenVPN x L2TP/IPsec x SSTP x IKEv2 x Chameleon x WireGuard

Olá, Baseando-me no formato do artigo sobre Certificados e a sopa de letras: HTTPS, TLS, SSL, HSTS, CA, PGP, GPG e OpenPGP , com o artigo sobre o WireGuard  e a atual crise mundial que forçou muitos em quarentena a trabalhar remotamente, resolvi fazer um semelhante abordando os diferentes tipos de VPN. O principal problema é que ao ler a documentação e artigos atuais, além de longos eles se prolongam muito no detalhe técnico entre elas, então tentei criar um TL;DR (que ficou um pouco grande, mas bem resumido). Uma VPN, ou rede virtual privada, permite criar uma conexão segura entre duas redes ou entre seu dispositivo/host com alguma rede, usando a internet como meio, como túnel para chegar ao destino. As VPNs podem ser usadas para acessar sites restritos por região (países proíbem torrents, outros proíbem redes sociais, sites de noticias...), proteger sua navegação (em redes não confiáveis como hotéis, wifi de lojas, etc...), acessar um sistema corporativo que está instalado e disponív

DHCP - Guia Completo

atualizado em 18/03/2015 Olá a todos, disponibilizo mais um guia ;-) Apesar de um assunto bem fácil, sem segredos ou mistérios, o tema deste guia é DHCP Servers. Nele, abordo o que é o dhcp, como funciona e como configurar. A novidade neste guia é que mostro como realizar a configuração de um servidor DHCP usando roteadores "home / small office", como os famosos d-link, encore, tenda, pacific, tp-link, etc... Como criar um servidor dhcp usando equipamentos Cisco, como habilitar o DHCP Server usando a plataforma Windows (Windows Server 2003), e finalmente usando o GNU/Linux. Claro que meu foco é favorecer o uso do Linux para prover este serviço, para isto, mostro desde a configuração mais simples, até algumas avançadas, tanto em modo texto quanto as mais variadas interfaces gráficas existentes no S.O. para configurar e monitorar este simples serviço de rede. No GNU/Linux, abordo o DHCP Server mais utilizado no mundo (da ISC), as configurações mais utilizadas, o c

SSD no linux

Mitos e verdades do SSD no Linux - Instalando, configurando e otimizando SSD no Linux SSD são suportados no Linux desde o kernel 2.6.29. Schedulers e File Systems também suportam os 'discos sólidos' ou 'não-rotacionais' (SSDs) há um bom tempo. A maioria dos artigos que existem na internet são bem antigos e não refletem os ambientes atuais dos sistemas Linux. Este artigo trás alguns macetes para otimizar o SSD num ambiente onde o sistema operacional estará instalado nele. Tiro alguns mitos de que seria necessário mudanças bruscas no sistema para que o SSD seja bem aproveitado (hoje, basicamente no uso do dia-a-dia, nada é preciso após instala-lo) apenas alguns pontos a serem observados.

Teste de Performance de Rede com Iperf

Troubleshooting,  Throughput,  testes de  conectividade e transmissão de pacotes em rede com Software Livre/Open Source Sumário Base de Conhecimento Rede Local e o tráfego de informações O que é Possíveis situações de uso O Básico - Executando como Server No Windows No GNU/Linux O Básico – o Cliente No Windows No Linux Utilizando UDP Argumentando... Mais Opções Opções gerais -f, --format -i, --interval n -l, --len N -m, --print_mss -o, --output <arquivo> -p, --port n -u, --udp -x, --reportexclude -y, --reportstyle C -w, --window n -B, --bind <host> -M, --mss n -N, --nodelay -V, --IPv6Version Opções para o cliente -P , --parallel -T, --ttl -n, --num -t, --time -d, --dualtest -r, --tradeoff -L, --listenport -b, --bandwidth -F, --fileinput <name> -I, --stdin Opções para o Servidor -s, --server -U, --single_udp -D, --daemon Interface Gráfica em JAVA Conclusão Minha rede está lenta, e agora?? Download e Links Base de Conhecimento O TCP é o protocolo

Colorindo o terminal do Linux

Abaixo, 3 dicas simples para colorir o Linux: Deixar o terminal (bash) colorido; Deixar o vim e o nano colorido; Deixar as manpages coloridas; No bash facilita a identificação de tipos de arquivos, diretórios e permissões (pois cada um terá uma cor diferente). Nos editores de texto, (neste caso o Nano e VIm), as cores facilitam ao criar scripts e programas nas mais variadas linguagens, os esquemas de cores, identificam a sintax da linguagem e colorem de acordo com os comandos, por exemplo, uma cor diferente para scripts entre aspas, comentários, cores diferentes para variáveis, etc... E a melhor de todas as dicas: colorir as manpages! Parece que não, mas facilita muito a vida quando você olha as manpags e enxerga facilmente as flags e opções de cada comando, exemplos e distingui a descrição da opção do comando. Colorindo o Bash Coloque no final do arquivo .bashrc (ele é um arquivo oculto que está dentro do seu /home), é o arquivo de configuração do bash de cada usuário.  

Protocolo RIP - Lab com passo-a-passo em roteadores Cisco

O RIP ou Routing Information Protocol é um protocolo aberto, definido na RFC 1058, e classificado como vetor de distância. As diferenças básicas entre o RIP versão 1 e versão 2 é que o primeiro é classfull, ou seja, suporta apenas classes cheias (A, B ou C) ou subrede com a mesma máscara e troca atualizações de roteamento via broadcast. Já a versão 2 suporta CIDR (classless) e VLSM (divisão de subredes com várias máscaras de subrede), além disso, troca informações através de multicast no endereço 224.0.0.9. Ambas as versões trocam informações utilizando UDP na porta 520. Para IPv6 (versão 6 do protocolo IP) o RIP passa a chamar RIPng (Next Generation) e funciona basicamente da mesma maneira que o RIP versão 2 para IPv4, porém enviando updates no endereço IPv6 de multicast FF02::9. Para configurar o RIP versão 1 basta ativar o protocolo com o comando “router rip”, depois em modo de configuração do roteador definir as redes que serão anunciadas com o comando “network”. No comando

Aula #5 - A estrutura da árvore do Sistema de Arquivos Linux

Existem vários tipos de arquivos presentes em um sistema Linux.  Eles diferem em propósito, tamanho, dono, nível de compartilhamento e volatilidade.  O resultado é uma organização coerente de toda a árvore do sistema de arquivos que é padrão(na medida do possível) entre as distribuições Linux.

Aula #14 - Os sistemas de arquivos ext2/ext3/ext4

  A família de sistemas de arquivos ext tem sido nativa para o Linux desde os seus primeiros dias, e tem sido a mais utilizada. Até recentemente, o ext4 foi a escolha padrão mais comum das distribuições Linux, devido à sua excelente combinação de desempenho, integridade e estabilidade.