Como instalar o Ubuntu SDK IDE, para desenvolver apps para plataformas móveis.

O pacote Ubuntu SDK IDE contém aplicativos e bibliotecas importantes para começar a desenvolver aplicativos para a plataforma Ubuntu (o que inclui o Ubuntu Touch ou Ubuntu Phone).
O pacote contém softwares que suprem a necessidade de ter dispositivos móveis compatíveis à mão.
ubuntu sdk ide phone development
O Ubuntu SDK é uma IDE (Ambiente de Desenvolvimento Integrado) voltada para escrever apps para a plataforma Ubuntu.
É baseado no QtCreator e fornece ao desenvolvedor todas as ferramentas que ele precisa para estar pronto a desenvolver novos aplicativos, com o uso de QML, HTML5 e C++, entre outras possibilidades, ainda em desenvolvimento.

Como instalar Ubuntu SDK IDE

A mais nova versão, até o momento, precisa de uma rápida configuração no sources.list, antes de poder ser instalada.
Siga estes passos:

# adicione o repositório
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa


# sincronize os repositórios
sudo apt update


# atualize o sistema
sudo apt dist-upgrade


# instale o pacote de aplicativos
sudo apt install ubuntu-sdk-ide

A inclusão desta PPA é necessária para poder obter a versão mais atual do pacote ubuntu-sdk.
Contudo, há uma versão mais estável e menos atual disponível nos repositórios normais da distro.
O pacote da PPA, além de versões mais atuais do ubuntu-sdk e de algumas bibliotecas, inclui o pacote ubuntu-sdk-ide — que envolve todo o ambiente de desenvolvimento.
Dependendo da sua instalação atual, os pacotes podem vir a ocupar aproximadamente 800 MB no seu HD.
Para dar início ao aplicativo, abra o Dash e digite ‘ubuntu-sdk’.
Daqui, pra frente, é começar a estudar o ambiente, com mais profundidade. Para isto, siga os links abaixo.
screenshot ubuntu sdk ide

Referências

https://developer.ubuntu.com/en/blog/2016/09/07/releasing-410-ubuntu-sdk-ide/.
https://launchpad.net/~ubuntu-sdk-team/+archive/ubuntu/ppa.
https://developer.ubuntu.com/en/phone/platform/sdk/.
https://developer.ubuntu.com/en/phone/platform/sdk/installing-the-sdk/.
https://developer.ubuntu.com/en/phone/.

Como instalar o Unity 3D Game Editor no Debian (ou no Ubuntu)

O Unity 3D Game Editor é uma das engines mais populares na criação de jogos no mundo.
A versão de que tratamos, neste post, trata-se de uma versão experimental (de acordo com os desenvolvedores).

  • Existe um post mais atualizado sobre a instalação deste software aqui.

Por um lado, é muito bom ter uma engine destas disponível em um ambiente poderoso e estável como o Linux — na verdade, não vejo sentido em se trabalhar com desenvolvimento em uma máquina Windows. No Mac, ainda vai… :p (minha opinião)
Por outro, saiba que alguns recursos ainda não estarão disponíveis — suporte a importação de modelos de aplicativos de terceiros, só para citar um exemplo.
Unity 3D engine for Linux
Neste post vou explicar como instalar o Unity, como resolver alguma possível complicação e, por fim, demonstrar um método alternativo de instalação do aplicativo (você escolhe).

O que esperar do Unity para Linux

Descrito como uma “plataforma de desenvolvimento flexível e poderosa para criação de jogos multi-plataforma”, o Unity é desenvolvido pela Unity Technologies — e o pacote de instalação traz um editor gratuito (mas não é código aberto ou open source).
A decisão sobre se vale a pena prosseguir a partir desta versão prévia do software para Linux depende de uma série de fatores — tais como a receptividade da comunidade de desenvolvedores de jogos Linux, a quantidade e a escala de dificuldade de problemas levantados pela comunidade e, por fim, o quanto pesa dar suporte a esta versão para Linux.
O trabalho para dar suporte ao Linux runtime do Unity 3D, lançado em 2012 (também como uma prévia), foi muito pouco.
Portanto, faz sentido esperar que este esforço de agora frutifique.

Como sempre, usar as versões beta, testar exaustivamente, dar feedback para os desenvolvedores e incentivar outras pessoas a fazer o mesmo é a melhor forma de impulsionar qualquer software.

Como instalar o Unity 3D Game Editor

Você deve baixar o pacote .DEB e em seguida fazer a instalação — o processo é o mesmo no Debian e em todas as distros derivadas dele (o que inclui o Ubuntu, Mint etc.)
Clique no botão abaixo, para baixar o pacote oficial do Unity 3D:
Download
Note que se trata de uma versão para sistemas 64 bits.
Após o download, abra um terminal e faça a instalação com o dpkg:

sudo dpkg --install unity-editor-5.1.0f3+2015082501_amd64.deb
_

Se quiser desinstalar, posteriormente, use o seguinte comando:

sudo dpkg --purge unity-editor

Para iniciar o Unity, procure por “unity” no Dash ou dispare-o do termnal:

/opt/Unity/Editor/Unity &

Como corrigir erro na inicialização do Unity 3D

Nas versões preliminares do Unity, um erro tem impedido que o aplicativo inicie.

Chromium Embedded Framework requires that the file '/opt/Unity/Editor/chrome-sandbox' is owned by root and has permissions 4755
Chromium Embedded Framework requires that the file ‘/opt/Unity/Editor/chrome-sandbox’ is owned by root and has permissions 4755

Traduzindo, ele informa que o Framework em questão requer que o arquivo /opt/Unity/Editor/chrome-sandbox tenha permissões 4755.
Isto é muito fácil de resolver. Basta seguir as instruções da própria mensagem para alterar as permissões do arquivo:

sudo chmod 4755 /opt/Unity/Editor/chrome-sandbox 

Após esta alteração já será possível executar o editor.

Instalação alternativa do Unity 3D

Existe uma outra forma (não oficial) de instalar o aplicativo editor, através do Agnostic Installer.
Este processo também é bastante simples, embora seja um pouco mais cru (e também um pouco mais demorado).
Comece por baixar o script de instalação abaixo:
Download
Quando terminar o download, altere as permissões do arquivo baixado e execute-o, como superusuário:

chmod aug+x unity-editor-installer-5.1.0f3+2015082501.sh 
sudo unity-editor-installer-5.1.0f3+2015082501.sh 
Installer for Unity 5.1.0f3

Press Enter to begin extracting to ./unity-editor-5.1.0f3

Unpacking Unity 5.1.0f3 ...
Extraction complete. Run ./unity-editor-5.1.0f3/Editor/Unity to begin

Agora, já é possível rodar o aplicativo:

./unity-editor-5.1.0f3/Editor/Unity

Divirta-se!

Conheça algumas ferramentas de desenvolvimento da interface GNOME 3.

Algumas ferramentas ou atalhos voltadas para uso de desenvolvedores, estão incluídas na interface gráfica do GNOME e podem ser acessadas através de alguns atalhos simples.
As dicas, dadas neste post, só terão utilidade para desenvolvedores envolvidos em projetos no GNOME 3 (ou superior). Para o restante do público, são mera curiosidade.
Gnome 3 logo vertical oficial

Gnome Looking Glass

O Looking Glass é a ferramenta de inspeção integrada ao Gnome Shell.
Trata-se de um console JavaScript, útil para as atividades de debugging ou depuração de erros.
Como acessar: pressione Alt + F2, digite ‘lg’ e tecle Enter.
Para sair do Looking Glass, pressione ‘Esc’.

O Looking Glass é um depurador integrado à Shell GNOME e tem a intenção de ser uma espécie de Firebug do GNOME.

GNOME SHELL

Como reiniciar o GNOME

Pressione a combinação Alt + F2 e digite ‘r’ ou ‘restart’. A seguir, tecle Enter.
Este procedimento serve para reiniciar a GNOME Shell.
É útil para quando se está fazendo alguma alteração ao código do Gnome, enquanto está trabalhando na própria GNOME Shell.
É útil ter recurso, se você apenas fez alterações no código JavaScript da interface e, portanto, não há necessidade de compilar nada.
Neste caso, reiniciar o ambiente gráfico é o suficiente.
Pressione a combinação Alt + F2 e digite ‘rt’. Em seguida tecle Enter.
Este procedimento irá recarregar o tema da GNOME Shell.
É útil para os designers de temas testarem seus projetos, sem reiniciar toda a Shell.
O arquivo em questão é share/gnome-shell/theme/gnome-shell.css — recarregado com este comando.

Saindo do GNOME Shell

Pressione Alt + F2. Digite ‘debugexit’ e tecle Enter.
Este procedimento irá sair da GNOME Shell.
Costuma ser útil quando você está rodando uma versão em desenvolvimento da GNOME Shell, que você executou a partir da linha de comando: em sessão do GNOME 3 normal.
O gnome-session irá apeas reiniciar a GNOME Shell se você tentar sair dela.
Divirta-se!

Qual a importância da linha de comando ou console para web designers?

A linha de comando, ou console, é onde se pode fornecer uma sequência de comandos, para executar um aplicativo ou vários, realizar uma tarefa ou uma sequência de tarefas etc.
Amparados por parâmetros, opções e cláusulas os comandos, dados no console ou no terminal, têm uma enorme (quase infinita) flexibilidade.
Command line tools for web design cover picture

Administradores de sistemas, desenvolvedores, hackers, autores etc. já descobriram o “poder divinal” que um terminal oferece a quem se dispõe a aprender a dominá-lo.

Mas, enfim… qual a utilidade ou a importância desta ferramenta a um web designer?
Se por um lado, a interface gráfica tem um grande apelo visual e facilidade de uso, ela também prejudica a flexibilidade e a agilidade — nenhum designer de interface “enche a tela” de botões para realizar uma determinada tarefa de n maneiras diferentes.
Além disto, a interface gráfica é comumente lenta em computadores mais antigos — o que implica na demora para iniciar a execução de alguma atividade.
O terminal permite determinar exatamente como se deseja que uma tarefa (ou uma sequência de tarefas) seja executada e ela começa a partir do momento em que você dá Enter.

Não abro mão da flexibilidade e da agilidade que só o terminal proporciona. É uma ferramenta que eleva exponencialmente o meu nível de controle sobre o sistema.

Terminal do Linux, do Windows ou do MacOS?

Se você ainda não usa o GNU/Linux, no seu trabalho, insisto: você deveria começar a considerar seriamente esta opção profissional — que te pode possibilitar trabalhar com softwares 100% legalizados a custos muito baixos ou gratuitos.
O terminal do Windows também oferece uma razoável dose de flexibilidade. O sistema, contudo, foi desenhado para que se usassem apenas as opções da interface gráfica. O processo de “castração” do terminal DOS, começou a partir do Windows 3.0 (Maio/1990) e tem se fortalecido até os dias de hoje.
A Microsoft tem se esforçados para esconder o terminal do usuário, como se fosse um parente indesejável.
O MacOS foi construído sobre a plataforma Unix FreeBSD e tem um terminal poderoso. A cultura dos usuários, incentivados pelo departamento de marketing da Apple constitui uma forte barreira para seu uso. Mas ele está lá. 😉
Usuários do MacOS X podem usar o Homebrew para instalar as ferramentas que não são parte do pacote de aplicativos padrão.
O Linux, como estes outros sistemas operacionais, também veio do ambiente em caracteres e evoluiu para o uso predominante da interface gráfica.
O Linux, contudo, convive muito bem com o uso do terminal. Todas as grandes distribuições oferecem facilidades de acesso ao console.
Embora haja ferramentas visuais sofisticadas para instalar softwares, muitos usuários Linux se sentem muito à vontade para instalar seus aplicativos com as ferramentas de linha de comando, como o apt-get — sendo que, na maioria das vezes, lhes basta copiar e colar a instrução de um site no seu terminal, podendo fazer as mudanças que achar pertinentes, se for o caso.
Encontre mais artigos sobre o uso do apt-get, na caixa de busca deste site.

O que há na linha de comando para profissionais do web design?

Há muito que um webdesigner já faz, usando a interface gráfica, que pode ser feito na linha de comando.
Eu sou um evangelista do uso do software livre e do uso de comandos no terminal — mas eu entendo, veja bem, que você deva usar sempre o que lhe oferecer os melhores resultados.
Tudo o que este artigo pede é que você abra os olhos para o terminal do seu sistema e veja (com generosidade e sem preconceitos) se há lá alguma coisa que lhe possa ser útil. Só isso.
Veja alguns pontos que Cadmin’s blog elenca como favoráveis ao uso do terminal:

  • O uso de pacotes de softwares de terceiros se torna invisível — Webdesigners usam vários pacotes de terceiros, tais como o Bootstrap, jQuery, Normalize.css etc.
    A gestão de pacotes, contudo, é muito morosa, quando feita manualmente.
    Com o uso do terminal, é possível inserir os pacotes requeridos pelo seu projeto com alguns comandos: bower install jquery, bower update jquery
  • Para quem não sabe, o Bower é um gestor de pacotes, semelhante ao apt-get ou o PIP.

  • No terminal, compilar é muito mais rápido — HTML, CSS e JavaScript são 3 linguagens sempre presentes em projetos de design web, entre outras. As ferramentas da linha de comando tornam a produção e entrega de código mais eficiente nestas linguagens.
    Eventualmente, compilar pré-processadores, é muito mais rápido na linha de comando.
  • Ferramentas de teste de sites — Há várias ferramentas de teste da rede e da eficiência de seu website ou do provedor em que ele se encontra hospedado, que podem ser invocadas do terminal — não somente as opções de execução, mas também as informações fornecidas, são extremamente flexíveis e maleáveis.

Uma vez iniciado o uso da linha de comando, você adquire o costume e um mundo novo de possibilidades surge, ao alcance de seus dedos.

Referências

Site oficial do Bower: bower.io
How important is command line for web designers — http://auckland.fortuneinnovations.com/how-important-command-line-web-designers
Command line tools for frontend developers — http://seesparkbox.com/foundry/command_line_tools_for_frontend_developers

Conheça os sensores do seu smartphone ou tablet

Smartphones atuais podem ter mais de 20 sensores importantes que auxiliam no seu funcionamento, fornecem informações aos aplicativos e recolhem dados do ambiente ou do próprio usuário.
Alguns são de hardware, outros são de software e há os que combinam as funções de outros sensores, adicionando novas funcionalidades ao sistema.
Neste post, vou mostrar os mais comuns, encontrados nos dispositivos mais vendidos. Você pode obter mais informações sobre os sensores presentes no seu aparelho, consultando o seu manual.

Os tipos de sensores presentes nos smartphones

Já sabemos que estes aparelhos têm funções que vão muito além de telefonar.
Além de acessar as redes sociais e se comunicar através de inúmeros aplicativos, você pode jogar videogames avançados que fazem de todo o aparelho um joystick.
Aplicações de monitoramento de atividades físicas também são muito comuns aos usuários de celulares — e em função destas, os celulares passaram incorporar biometria e análise de funções do corpo do seu portador.
Se você contar as câmeras (frontal e traseira) e a tela de toque, um smartphone comum incorpora facilmente mais de 12 sensores em seu sistema.

Relação de sensores no Samsung Galaxy S4
Clique para ver detalhes.

Informações básicas sobre sensores em smartphones Android

Os aparelhos Android tem embutidos sensores que medem movimento, orientação e são capazes de obter várias informações sobre as condições do ambiente que os cerca.
Estes sensores podem oferecer dados precisos aos aplicativos (que os interpretam), que permitem monitorar o ambiente e estabelecer suas condições atuais, além de detectar eventuais mudanças.
Um aplicativo de jogo pode monitorar as leituras do sensor de gravidade do aparelho para calcular os gestos e movimentos do usuário — como o tilt, chacoalho, rotação, giro etc.
Um aplicativo de meteorologia pode fazer uso do sensor de temperatura e de humidade para calcular e informar o ponto de orvalho.

O cálculo do ponto de orvalho tem importância na aviação, mas também serve para indicar desconforto térmico — se relacionar os fatores temperatura, pressão atmosférica e umidade.
(Wikipedia)

Um aplicativo de viagens pode usar o sensor de campo magnético, associado ao acelerômetro, para informar o rumo que se está tomando.

Sensores suportados pela plataforma Android

De acordo com a documentação oficial, disponibilizada para desenvolvedores, a plataforma Android suporta 3 categorias abrangentes de sensores:

  • Sensores de movimentação — estes sensores medem as forças de aceleração e as forças rotacionais através de 3 eixos. Esta categoria inclui os acelerômetros, os sensores de gravidade, o giroscópio e os sensores de vetor rotacional
  • Sensores de ambientação — estes sensores colhem vários dados do ambiente que cerca o seu aparelho, tais como a temperatura do ar, a pressão atmosférica, iluminação do local e umidade. A categoria inclui barômetros, fotômetros e termômetros.
  • Sensores de posicionamento — detectam o posicionamento físico do dispositivo móvel. Esta categoria envolve os sensores de orientação e magnetômetros.

Você pode acessar os sensores disponíveis no seu dispositivo.
Os desenvolvedores Android dispõem de um framework para testar os sensores do aparelho, mas você pode baixar aplicativos que fazem isto pra você na Play Store.
Com eles é possível realizar os seguintes testes:

  • Determinar que sensores estão disponíveis no seu dispositivo.
  • Determinar as capacidades individuais de cada sensor, tais como sua abrangência máxima de área, seu fabricante, seu consumo de energia, requisições energéticas e sua resolução.
  • Capturar dados crus (ainda não interpretados por um aplicativo) vindos do sensor e definir a taxa mínima de dados que ele deve repassar.
  • Registrar ou remover o registro de aplicativos com privilégios de obter dados de um determinado sensor.

Obviamente, alguns destes recursos só estão disponíveis para aparelhos rooteados.
Veja, na tabela abaixo, os tipos de sensores suportados pela plataforma Android:

Sensor Tipo Descrição Usos
Acelerômetro HW Mede a força da aceleração em m/s2 aplicada ao dispositivo em todos os três eixos físicos (x, y e z), incluindo a força da gravidade. detecção de movimento (ao chacoalhar, ao bater etc.)
Termômetro (temperatura ambiente) HW Mede a temperatura em graus Celsius. Monitoramento da temperatura do ambiente.
Gravidade HW e SW Mede a força da gravidade em m/s2 aplicada a um dispositivo em todos eixos físicos. Detecção de movimento (chacoalho, batida, toque etc.)
Giroscópio HW Analisa a rotação em rad/s em torno de cada um dos 3 eixos. Detecção da rotação (giro, virada etc.)
Luz HW Detecta e analisa a intensidade da iluminação ambiente em lx. Adaptar o brilho da tela em função da iluminação local.
Aceleração linear HW e SW Mede a força de aceleração em m/s2 aplicada ao aparelho em todos os 3 eixos físicos (x, y e z), excluída a força da gravidade. Monitoramento da aceleração ao longo de um único eixo.
Campo magnético HW Mede os valores do campo magnético ao redor do dispositivo relativo a todos os 3 eixos em µT. Criar uma bússola.
Orientação SW Mede graduação da rotação que o dispositivo faz em torno dos 3 eixos físicos. Através de uma API, o desenvolvedor pode obter dados da matriz de inclinação e de rotação, com o uso do sensor de gravidade associado ao sensor de campos magnéticos. Determinar a posição do aparelho.
Pressão HW Mede a pressão ambiente do ar em hPa ou mbar. Monitorar as alterações na pressão atmosférica.
Proximidade HW Mede a proximidade em relação a um objeto em cm a partir da tela. Determinar se o smartphone está próximo ao ouvido/rosto do usuário.
Umidade relativa HW Mede a umidade relativa do ambiente em percentuais (%). Monitorar o ponto de orvalho, absoluto e umidade relativa.
Vetor de rotação SW e HW Mede a orientação de um dispositivo, providenciando os 3 elementos do seu vetor de rotação. Detecção de movimento e de rotação.
Temperatura HW Mede a temperatura do dispositivo em graus Celsius. Este sensor varia entre os diversos dispositivos Android e tem sido substituído pelos fabricantes monitor de temperatura ambiente. Monitorar temperaturas.
HW = Hardware; SW = Software.

Além destes, as câmeras e os microfones também contam, embora não estejam relacionados.
É importante lembrar que a versão instalada do Android, dá suporte ou não a determinados recursos.
O uso de sensores combinados, pode criar novas situações e possibilidades via aplicativos, como um sensor de movimento, que ativa a câmera quando detecta a presença de alguém — o que dá chance para criar softwares de vigilância, prevenção de furtos etc.

Referências