Como analista de mobilidade e programador de dispositivos móveis, fiquei me coçando por um bom tempo para colocar as mãos nas ferramentas utilizadas pelo pessoal da Apple para desenvolver os tão aclamados softwares utilizados no iPhone.
Assim que o produto saiu minha primeira reação foi “Será possível programar para o iPhone?”. Após meses de angústia eis que é lançado do SDK.
Infelizmente tive que esperar mais um tempo até que pudesse testá-lo afinal trabalho no mundo PC e utilizo Windows com Visual Studio para programar para dispositivos Windows Mobile com plataforma .NET Compact Framework, ou seja, não tenho um Mac!
Mas nada que um pulinho para o lado underground da coisa não resolvesse meu problema. Acabei instalando uma versão modificada do Mac OS X Leopard para rodar em PCs normais. Arrumei um Pentium 4 com suporte a SSE3 e mander ver.
Mac OS instalado e atualizado, instalei o SDK do iPhone. A instalação é bem simples, como todo o resto do sistema, e a plataforma fica disponível em menos de 15 minutos para o vôo!
Baixei o HelloWorld do site da Apple e rodei, PERFEITO! O emulador é muito rápido, praticamente o iPhone na tela do PC. É possível simular o multi toque, além de virar o equipamento e utilizar o acelerômetro.
O SDK é interessante e possui muitas ferramentas que auxiliam a produtividade no momento de programar. Algumas ferramentas são muito boas e úteis como o utilitário de depuração e de análise de performance.
Os contras são a linguagem Objective-C, a organização dos arquivos devido a sua compatibilidade com as linguagens C e C++ e o próprio paradigma Mac OS que para os que vêm do Windows é uma coisa muito complicada.
No mais o conjunto da obra é excelente e muito produtivo resta agora aprender a utilizar com agilidade a linguagem Objective-C e partir para o abraço!
| Compartilhe! | Imprimir Post
|
25 Jun
Postado por
Raphael de Bem em Tecnologia
Toda atividade possui os seus macetes e dicas para que seja desenvolvida da melhor forma possível. A marcenaria por exemplo tem suas melhores praticas para o aproveitamento de material e de tempo.
A programação não é diferente. Nesse artigo, separei dez dicas para uma programação mais produtiva e mais prazerosa.
1. Conheça a fundo a linguagem que você utiliza
Essa dica é quase um mandamento. Se você não conhecer o máximo sobre a linguagem que você utiliza, hora ou outra gastará um enorme esforço e tempo para resolver problemas que poderiam nem existir caso você dominasse a linguagem de programação em questão. Você programa em linguagens procedurais como Cobol ou C, então trate de estudar e entender todos os tipos de dados, seus fundamentos, como funciona o compilador, a utilização de bibliotecas, os principais laços, os comandos de decisão e tudo o mais que envolva essa determinada linguagem. Você programa em linguagens orientadas ao objeto, então começe a estudar cada detalhe, os seus tipos de dados, as declarações de variáveis, eventos, herança e tudo que envolva a linguagem utilizada. Domine a linguagem para que ela não o domine! A propósito, você sabe o que é um delegate?
2. Utilize design patterns
Em linguagens orientadas ao objeto a utilização de design patters auxilia a reutilização de código e a abstração da solução, tornando a programação muito mais prazerosa e fácil. Os design patterns são soluções para os problemas recorrentes em programação, como a verificação de troca de estado de um objeto ou o tratamento de um evento.
3. Utiliza comentários em seu código fonte
A documentação de um projeto é algo muito utilizado quando precisa-se analisar a possibilidade de adicionar um novo recurso, porém na hora de implementar ou alterar um recurso, nada melhor do que os comentários no código fonte. Não tenha dó de seus dedos, capriche nos comentários e dê a preferência para os comentários que podem ser utilizados para gerar documentação de seu código fonte. Algumas IDEs permitem uma notação de comentário que é utilizada posteriormente para a geração da documentação das classes e de seus projetos. Algumas outras ferramentas como a doxygen, permitem documentar uma infinidade de linguagens e posteriormente gerar documentação impressa.
4. Seja claro com o nome das variáveis e métodos sem beirar o ridículo
Tirando algumas limitações da linguagem utilizada, a maioria delas permite que suas variáveis possuam vários caracteres e seus métodos ou funções tenham nomes mais coerentes como CarregaDadosCliente do que simplesmente CDC. Faça com que suas variáveis e nome de métodos sejam auto-descritivos, mas sem exageros como MetodoUsadoParaFiltrarClientesInativosAntesDoFinalDoAnoAtual.
5. Utilize modelos de implementação em camadas
Utilizar modelos de implementação em camadas como o MVC pode ser complexo no começo, mas permite que seu código fique muito mais claro e que o papel de cada parte do seu programa seja delineado além de permitir uma manutenção muito mais tranquila do que a programação macarrônica ou POG. Invista seu tempo estudando algum modelo de implementação em camadas e faça uso deles, mesmo que em pequenos projetos para ir pegando prática. Isso serve para qualquer linguagem de programação, mas alguns conceitos são melhores aproveitados por linguagens orientadas ao objeto.
6. Programe sempre pensando em performance
Não! Não precisa ser um carro da F1, mas quem sabe um da Fórmula Indi? Pense em performance sempre que estiver programando, acostume-se a criar algoritmos rápidos e que não consumam processamento à toa. O que é rápido ou aceitável hoje, pode se tornar inaceitável e acabar com todo o seu projeto em um ou dois meses. Invista um tempo analisando seus algoritmos e veja se é possível otimizá-los, MAS CUIDADO para não cair na tentação da otimização extrema ou precoce, em especial nos locais de pouco uso. Concentre o seu esforço em áreas do seu programa que terão uma utilização constante. Um relatório de fechamento de mês pode demorar um pouco mais para ser executado, mas a inclusão de um ítem no ato de uma venda não pode esperar nem 1ms!
7. Utilize controle de versionamento de arquivos
Parace estranho, mas depois que você passa a utilizar um sistema de versionamento de arquivos, mesmo que você trabalhe sozinho, o efeito “máquina do tempo” que esse tipo de ferramenta fornece é de extrema utilidade. Você consegue recuperar qualquer versão do seu código fonte ou documentação a qualquer momento, além de centralizar a rotina de backup (você tem um backup né? Ah é claro…) e permitir rastrear o seu desenvolvimento e ainda de quebra permitir restaurar qualquer erro durante a produção de um software além da possibilidade de comparar versões de uma forma extremamente fácil e rápida. A curva de aprendizado das ferramentas de versionamento é bem simples e sua produtividade agradece! Dê uma olhada na plataforma SVN e no software TortoiseSVN. Você irá me agradecer…
8. Crie pontos de verificação
Durante o processo de programação é muito fácil o foco ser perdido, ainda mais se você trabalha em equipe. Para que isso seja evitado, crie pontos de verificação ou marcos. Para cada nova funcionalidade a ser implementada, estabeleça o prazo para a sua finalização e a divida em várias tarefas, com prazo para serem finalizadas, e vá fazendo o acompanhamento dessas atividade e as devidas correções nos prazos, se necessário, para que as mesmas não consumam mais tempo do que o necessário. Crie o hábito de descrever cada funcionalidade nova a ser acrescentada e dividi-la em tarefas para que seja fácil analisar e definir prazos para um novo projeto. Caso ache interessante e em especial se você trabalha com uma equipe, verifique a possibilidade de adotar algum método de desenvolvimento ágil de software e uma ferramenta de acompanhamento como o open-source Trac, os ganhos são fantásticos!
9. Utilize dois monitores
Parece coisa de doido ou viciado em programação ou ainda um nerd muito introspectivo, mas a utilização de dois monitores para a tarefa de programação é algo fantástico e deveria ser utilizada por todos os programadores e pessoas que utilizam computadores diariamente como ferramenta de produtividade. Exceto se o seu trabalho é apenas codificar algo já elaborado o granho de produtividade é muito alto. A facilidade de se programar em um monitor e acompanhar a documentação em outro ou ainda a ajuda referente a uma API ou um componente em específico é fantástica. A grande sacada dos dois monitores é você não mudar o contexto. Quando utilizamos o papel coma documentação impressa e a tela para programar temos uma constante mudança de contexto entre o low-tech, papel, e o high-tech, monitor. Já com a utilização de dois monitores essa mudança de contexto não ocorre e a área maior disponível para a abertura de várias janelas e sua organização ajudam no ganho de desempenho. Faça essa experiencia, é fascinante!
10. Tenha um bom fone de ouvido
(e demais equipamentos como computador, monitor, teclado, mouse de excelente qualidade!)
Aqui pode estar o “pulo do gato”! Em muitos momentos durante a programação uma boa música pode dar o insight necessário para a finalização de um trabalho, além de ajudar a isolar os ouvidos e a atenção do mundo externo. Opte por fones confortáveis com armação regulável e invista uma boa grana neles, afinal de contas, você só tem esses dois ouvidos já os fones você poderá comprar outros. Além dos fones, invista em uma boa máquina, um ou dois monitores descentes de LCD, teclado e mouse confortáveis e de precisão, um ambiente bem iluminado e arejado. É claro que se você se sentir bem trabalhando ao lado de uma britadeira não deve perder seu tempo em uma sala silenciosa, caso contrário trabalhe o ambiente onde você irá ficar.
Dica bônus!
Seja feliz programando!
Espero que com essas dicas você consiga elevar o seu grau de satisfação com sua programação e produtividade!
Bom trabalho e mão no teclado!
Até a próxima!
| Compartilhe! | Imprimir Post
|
24 Jun
Postado por
Raphael de Bem em Assuntos Diversos
O blog Efetividade.net, em comemoração ao seu aniversário, lança uma grande promoção “Promoção: Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!“. Não deixe de participar!!!
Os prêmios estão excelentes e de quebra você ajuda a projetos livres que tantos nos ajudam no dia-a-dia. Comemore junto com o Efetividade.net e concorra a vários prêmios!!!
Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!
Eu fiz a minha parte e me inscrevi para participar! Parabéns ao Efetividade.net por mais um ano de vida e pela excelente promoção!
| Compartilhe! | Imprimir Post
|
11 Jun
Postado por
Raphael de Bem em Tecnologia, PocketPC, Caderninho do Macgyver
Um grande problema de todos os smartphones é, sem dúvida, a vida da bateria. A cada ciclo de carga podemos usufruir de poucas horas utilizando os equipamento em sua plena carga.
Se você for usuário de WiFi ou ainda usuário intensivo de programas que necessitem de processamento, como o caso do Skype, sua bateria não durará mais do que algumas horas.
A idéia dessa dica é mudar a forma como o HTC Touch controla a velocidade do processador e permitir que a velocidade do mesmo seja reduzida nos momentos em que não se faz necessária a utilização do processador.
Essa dica vale para todos os equipamentos com processador TI OMAP.
A primeira coisa a fazer é instalar o excelente aplicativo BatteryStatus Advanced, que pode ser encontrado em http://www.chi-tai.info/cs_batterystatus_xda_neo_wm5_ext_im_cs.htm
Feito o download e instalado o programa, basta entrar em suas configurações e na guia OMAP ativar as opções Overclock to Speed, Overclock on Wakeup e Remember last CpuSpeed. Já na guia CpuScaler, selecione as opções Enable CpuScaler.
Feito isso, o processador do seu HTC Touch irá flutuar de acordo com a necessidade de processamento, economizando bateria.

LEMBRE-SE: Nunca faça overclock do processador para margens muito altas! O recomendado por esse artigo é manter a velocidade de overclock a mesma da velocidade original. USE ESSAS INFORMAÇÕES POR SUA CONTA E RISCO!
Para constar, o processador (TI OMAP850 @ 201Mhz) do HTC Touch trabalha sem travamentos, porém com aquecimento, na velocidade máxima de 273Mhz.
Boa sorte e vida longa à bateria!
| Compartilhe! | Imprimir Post
|
10 Jun
Postado por
Raphael de Bem em Assuntos Diversos, Desenvolvimento Pessoal
“Os hindus têm a vaca como um animal sagrado e não se toca em uma vaca por nada. Os animais circulam livremente pela cidade e podem destruir impunemente qualquer plantação sem serem molestadas. Qualquer um que se atrever a mexer numa delas corre risco de morte. Um povo que padece de fome e miséria com um dos maiores rebanhos do mundo.”
É impressionante, mas o paradoxo descrito acima existe também nas empresas, impedindo o crescimento, a inovação e destruindo a comunicação, o relacionamento e o lucro. Velhas práticas que não têm mais motivo de ser e só impedem de crescer. Algumas dessas velhas práticas podem levar a um retrocesso e até mesmo à falência!Não é só o mundo dos negócios que é habitado por vaca sagradas, muitas vezes a nossa vida é atormentada por essas velhas idéias e conceitos que não deveriam mais existir e que nos impedem de evoluir e melhorar.
Você já matou uma vaquinha sagrada hoje? Experimente, não é uma tarefa fácil, afinal desde que ela nasceu você cuida dela, mas é uma exercício de crescimento saudável e prazeroso.
Leitura recomendada:
http://www.saraivauni.com.br/index.cfm?p=artigos&idArtigo=362
| Compartilhe! | Imprimir Post
|
| « Posts Anteriores |