Programar no Apple Watch
A levar a sério experiências malucas
- Publicado
- Atualizado
- (criado )
- Escrito por
- Willem L. Middelkoop
- Temas
- SSH · ThinkPad · apple · criar · criatividade · experiência · hacking · iOS · iPhone · portátil · linux · minimalista · programação · retro · smartphone · vim · relógio · trabalho
- Versão humana deste artigo
- https://willem.com/pt/2017-02-16_programar-no-apple-watch/
- English
- Programming on Apple Watch
- Nederlands
- Programmeren op de Apple Watch
- Deutsch
- Programmieren auf der Apple Watch
- Español
- Programando en el Apple Watch
- Français
- Programmer sur l'Apple Watch
- Italiano
- Programmare su Apple Watch
- Papiamentu
- Programá riba Apple Watch
- Frysk
- Programmearje op de Apple Watch
- Idiomas
- Traduzido do original em inglês por um modelo de linguagem em duas passagens (tradução e revisão) com um glossário e um corretor ortográfico; ainda não revisto por um falante nativo.
Resumo
Nos últimos anos as experiências malucas não têm sido novidade para mim, mas desta vez quis mesmo levar a coisa ao extremo: programar num Apple Watch. Será possível escrever código num aparelho tão minúsculo? E para quê o esforço? Este artigo é sobre a razão de ser das experiências malucas e porque é que também deves experimentar!
Texto completo
Há uma semana estava a trocar uns emails com o meu amigo Niels, a contar-lhe esta ideia de usar um iPhone para trabalhar. Ele sugeriu (em neerlandês) que levasse a ideia ao nível seguinte... Apple Watch.

Enquanto ele usava as suas brilhantes capacidades de Photoshop, eu usei o Xcode, os meus conhecimentos de Linux, SSH, VIM, a rede local, um teclado bluetooth, um Apple Watch a sério, algum tempo e paciência.... e o resultado foi esta prova de conceito:


Como funciona (para totós)
Criei uma pequena app para o Watch que se liga a um computador externo onde corre o software de desenvolvimento. O teclado está ligado a esse computador externo, para que eu possa mesmo escrever código. O princípio é simples e pode comparar-se à app Câmara que vem por defeito no relógio: usas o relógio como visor da câmara do iPhone. Esta app do Watch é como um "visor" para código de programação.
Como funciona (para quem percebe de tecnologia)
Na rede local corro um pequeno servidor NodeJS numa máquina Linux que tira capturas de ecrã de uma sessão de shell onde corre o meu editor de código preferido, o VIM. O teclado está ligado a este portátil por Bluetooth. No Watch criei uma app simples que vai buscar uma nova captura de ecrã de poucos em poucos segundos e a mostra em ecrã inteiro. É uma prova de conceito, nada digno da AppStore (há bastante latência entre atualizações, mas funciona). Se estás a pensar construir isto, procura WKInterfaceImage, UIImage, NSURLSession e dataTaskWithURL

Porquê
Experimento regularmente, porque me permite aprender sobre a forma como faço as coisas. As experiências obrigam-me a repensar coisas que dou por adquiridas ou normais. Em muitos aspetos, "a caçada é melhor do que a captura".
Experimento ativamente com hardware e software novos, só para me manter atualizado e aprender coisas novas. Em 2008, poucos meses depois de a AppStore ser lançada, fui dos primeiros a começar com o desenvolvimento para iOS. Mesmo sem o potencial ser claro, aprendi e experimentei com a tecnologia. A minha experiência inicial ajudou-me a programar a app Snake '97 em 2011, outra ideia maluca que se revelou um jogo com 20 milhões de transferências... :-))

O que aprendi
Portanto, em vez de perguntares "Porquê?", é melhor perguntares "O que aprendi?". Bem, bastantes coisas, na verdade:
- Passa o teu ambiente de programação para o terminal: Aposta no texto, larga o IDE (como o Visual Studio) e aprende a usar bem o VIM (ou o emacs) com atalhos de teclado. Estas ferramentas funcionam praticamente em qualquer aparelho e não exigem um sistema operativo proprietário.
- Adeus, rato: mantém os dedos onde escreves código, no teclado. Em vez de procurares o rato, usa o teclado (atalhos). Pode demorar algum tempo a conhecê-los, mas no fim és muito mais rápido. Para além da velocidade, ganhas também a possibilidade de usar qualquer ecrã, porque mais aparelhos suportam teclados do que ratos (pensa em consolas de jogos, smart TVs, AppleTV, aparelhos à moda antiga)
- Usa os píxeis com sabedoria: Se te limitares a um ecrã pequeno, és obrigado a pensar melhor em como usar os píxeis. Precisas mesmo de todas essas barras de ferramentas sempre visíveis? Quantos menos elementos de interface permanentemente visíveis, mais espaço tens para o conteúdo em si. Menos distração, mais foco.
- Escreve melhor código: Para manter as coisas legíveis num ecrã pequeno, aprendes a prestar mesmo atenção à estrutura do código, à lógica das funções e aos nomes. Os ecrãs pequenos incentivam linhas de código mais curtas e corpos de funções mais compactos. Obriga-te a simplificar e a encurtar, a repetir-te menos. Estas vantagens aplicam-se também a ecrãs maiores.
- Já não precisas mesmo de um PC: Se é possível num Watch, pensa nos outros aparelhos que levas contigo, como o smartphone e o tablet. Conseguir usar melhor o(s) teu(s) aparelho(s) móvel(is) vai tornar-te menos dependente dos PCs tradicionais.
- O Apple Watch tem potencial: Antes, programadores do Facebook já conseguiram pôr o famoso jogo 3D Doom a correr no Apple Watch. Também eu aprendi que o aparelho tem um potencial sério. Começo a achar que o Apple Watch é muito mais um "computador móvel sempre presente" do que algo para comparar com um relógio mecânico tradicional.

Conclusão
Esta experiência toda empurrou-me mesmo para a frente em computação móvel. Aprendi a otimizar o meu conjunto de ferramentas e a minha forma de trabalhar. Na verdade, este artigo inteiro foi criado num iPhone, incluindo as fotografias (tirá-las, cortá-las), e não me pareceu estranho de todo. Adoro, porque torna tudo mais fácil, e isso fez esta experiência valer a pena
Bónus: Nokia Communicator e Jolla
Enquanto escrevia este artigo, pensei se os meus velhos Nokia Communicator ainda funcionariam. Depois de mexer um pouco nas baterias velhas, consegui pôr o E90 e o 9300i a funcionar. Com o Putty e wifi 802.11b, consegui ligar-me ao sistema de desenvolvimento acabado de criar que usei para esta experiência com o Apple Watch. Adivinha? Funcionou na perfeição. Quem precisa de um telemóvel novo? :-)



