Diego Santos

Vocês anseiam pelo dia em que homens serão homens e escreverão seus próprios devices drivers?

Codecamp Forum Nokia setembro 26, 2008

Filed under: Mobilidade — diegosantos @ 7:11 pm
Tags: ,

O Codecamp Forum Nokia que vai acontecer aqui no Brasil no dia 22 de
outubro no Rio de Janeiro e no dia 24 de outubro em São Paulo:

http://www.onlineintl.com/Nokia/

Nesse Codecamp eles irão fazer um “overview” da plataforma S60 da
Nokia e irão apresentar dois tutoriais:

– Python para smartphones S60
– Web Runtime Widgets para smartphones S60

Vocês podem obter informações detalhadas e se inscreverem para o
evento no site informado acima.

Anúncios
 

Python for S60 setembro 10, 2008

Filed under: Mobilidade,PyS60 — diegosantos @ 7:23 pm
Tags: ,

Após alguns artigos falando sobre o desenvolvimento para móveis, irei mostrar agora um pouco sobre o PyS60 uma das melhores maneiras de se desenvolver para a Série 60 da Nokia. Em breve postarei mais algumas traduções referentes ao desenvolvimento para o Iphone e também algumas dicas sobre Objective-C, a linguagem do Iphone.

Pra começar: Porque Python?
Pythonis a simple, consistent and effective programming language. [Manual Getting Started With Pyton]

Algumas coisas interessantes antes de começar

Python for S60 tem algumas peculiaridades interessantes. Dentre todas, quero citar algumas:

  • Instalação simplificada
  • Possibilidade de programar diretamente no celular
  • Possibilidade de instalar bibliotecas
  • Construir aplicações gráficas
  • Acessar arquivos do cartão de memória/ ou memória do telefone
  • Construir aplicativos com tecnologia bluetooth
  • Acessar câmera
  • SMS
  • Lista telefônica

Como deu pra perceber, é possível construir um número infinito de aplicativos utilizando esta tecnologia.

Requisitos

Celular Nokia com Symbian S60 ou superior.

Um computador… Pois o download do interpretador Symbian para o celular está geralmente em um arquivo .zip. É necessário descompactar o arquivo e instalar o .sys via Pc Suite. Você pode fazer o download dele pelo link para o Forum da Nokia

E um editorzinho de texto. Seja no computador ou no celular….. No PC serve até o notepad, no celular eu gosto de usar o Yedit ou o Notepad. Você pode fazer o download de ambos no symbianbrasil.com

Funfando…

Vamos escrever nosso primeiro script em Python. Será algo extremamente complexo e cansativo. Vamos construir o nosso primeiro “Hello World!” (ou quase um Hello World!).
O código será o seguinte:

  1. print O primeiro programa PyS60

Só isso? Sim, só isso!
Igualzinho ao nosso bom e velho Python na linha de comando. Para um Hellow World gráfico, o código ficaria:

  1. import appuifw
  2. appuifw.app.title = uO primeiro programa PyS60
  3. appuifw.note(uO primeiro programa PyS60, ‘info’)

Phyton_hello_world
Para rodar o aplicativo, basta renomea-lo para arquivo.py e envia-lo ao celular. Quando o arquivo for executado, o interpretador já saberá que o programa que o executa é o Python.

 

Um overview sobre o desenvolvimento para iphone julho 29, 2008

Filed under: Mobilidade — diegosantos @ 9:29 pm
Tags: ,

Esse texto, a alguns outros que virão, é a tradução do centro de desenvolvimento para iphone do qual faço parte.

extraído de : http://developer.apple.com/iphone/gettingstarted/docs/iphoneosoverview.action

O iPhone OS inclui sistema operacional e tecnologias que você pode usar para executar aplicativos nativamente em iPhone e iPod touch . Ainda que compartilhe uma herança comum a muitas tecnologias com o Mac OS X, O iPhone OS foi concebido para satisfazer as necessidades de um ambiente móvel, onde as necessidades do usuário são um pouco diferentes. Os desenvolvedores do Mac OS X irão encontrar muitas tecnologias familiar, mas eles podem também encontrar tecnologias que estão disponíveis apenas no sistema operacional do iPhone sistema operacional, tais como a interface Multi-Touch e o acelerómetro.

O Kit de desenvolvimento para iPhone (iPhone SDK) contém o código, a informação, e as ferramentas que você precisa para desenvolver, testar, executar, depurar e aplicações para sincronizar com o iPhone OS. O ferramentas do Xcode foram atualizados para apoiar o desenvolvimento do iPhone OS. Para além de constituir a base de edição, compilação, depuração e de ambiente para o seu código, Xcode prevê também o ponto de lançamento para testar seus aplicativos em um iPod ou iPhone touch. Xcode também lhe permite executar aplicativos em um simulador de iPhone , uma plataforma que imita a base do iPhone OS em ambiente local no seu computador Macintosh.

Este artigo fornece uma visão geral de alto nível das características básicas encontradas no iPhone OS, para ajudar a orientá-lo na plataforma. Você encontrará outros artigos do iPhone Dev Center para ajudar a chegar até a velocidade mais rápida e para ajudá-lo a entender o processo básico para a criação de aplicativos para iPhone. Você deve usar esses artigos para ajudar a guiar o seu caminho para a aprendizagem da plataforma do iPhone OS.

Camadas de tecnologia do iPhone OS

No iPhone OS, o sistema de arquitetura e muitas das tecnologias são semelhantes aos encontrados no Mac OS X. O kernel do sistema operacional do iPhone é baseado em uma variante da mesma base Mach kernel que se encontra no Mac OS X. No topo desta kernel estão as camadas de serviços que são usados para executar aplicações na plataforma. A Figura mostra uma visão geral de alto nível dessas camadas.

Isto dá-lhe opções camadas quando se trata de implementar seu código. Por exemplo, as camadas núcleo do sistema operacional (Core OS) e o o Núcles dos Serviços (Core Services)  contém as interfaces fundamentais para iPhone OS, incluindo os utilizados para acessar aos arquivos, tipos de dados de baixo nível, serviços Bonjour, soquetes de rede e assim por diante. Essas interfaces são na sua maioria à base do C e incluem tecnologias como a Core Fundation, CFNetwork, SQLite, e acesso a POSIX threads e sockets UNIX entre outros.

Nas camadas superiores, você encontrará as mais avançadas tecnologias que utilizam uma mistura de interfaces baseadas em C e Objective-C. Por exemplo, a camada dos Meios de Comunicação Social (Media) contém as tecnologias fundamentais utilizados para apoiar desenho 2D e 3D, áudio e vídeo. Esta camada inclui as tecnologias baseadas em C o OpenGL ES, Quartz, e Core Audio. Contém também Core Animation, que é um avançado engine de animação baseado em Objetivo-C.

Na camada Cocoa Touch, a maior parte das tecnologias utiliza Objetivo-C. O framework dessa camada fornecer as infra-estruturas fundamentais utilizadas pela sua aplicação. Por exemplo, o frame provê suporte a orientação a objetos colecções, gerenciamento de arquivos, operações de rede, e mais. O framework UIKit prevê a infra-estrutura visual para sua aplicação, incluindo classes de janelas, pontos de vista, controles  e os controladores que gerenciam esses objetos. Outros frameworks deste nível permitem o acesso do usuário à informação e de contato e foto para o acelerômetros e outras características de hardware do dispositivo.

O ponto de partida para qualquer novo projecto é a camada Cocoa Touch , e o framework UIKit , em particular. Ao decidir quais tecnologias adicionais  utilizar, é recomendado que você comece com framework das camadas de nível superior e se apoiar nos framework das camadas mais baixas, conforme necessário. Os framework de nível superior torna mais fácil o suporte aos comportamenntos do sistema com menos esforço da sua parte. A única vez em que você deve descer para os framework de nível mais baixo é quando você deseja implementar um comportamento personalizado que não seja fornecida a um nível superior.

Para maiores detalhes das tecnologias do iPhone OS veja iPhone OS Programming Guide.

Escrevendo Código para iPhone OS

O iPhone SDK suporta a criação de orientada-gráficamente para os aplicativos que correm nativamente em iPhone OS. As aplicações que você criar pode residir no ecrã inicial do usuário, junto com os outros aplicativos de sistema, tais como fotos, previsão do tempo, e Relógio. Depois de serem lançados, com exceção do kernel e alguns daemons de baixo nível ,a sua aplicação é a única aplicação em execução no sistema. Embora executando, a sua aplicação ocupa todo o ecrã e é o foco de atenção do usuário. E quando o usuário apertar o botão Home, a sua aplicação sai do sistema exibe a tela Home novamente. Tendo o sistema é vantajoso para você mesmo, porque dá-lhe acesso total ao sistema de recursos subjacentes. Você pode tirar vantagem do espaço construído, em hardware, tais como os acelerómetros, câmera, gráficos e de hardware para executar apenas o seu código.

Devido à forma como os usuários interagem com o iPod e iPhone touch é fundamentalmente diferente da forma como os usuários interagem com o Mac OS X, a maneira de conceber as suas aplicações também devem ser diferentes. Em uma aplicação do iPhone, não há nenhuma noção de documento separado por janelas para exibir o conteúdo. Em vez disso, todos os dados da aplicação é exibida em uma única janela. Esta situação levou à criação de novos pontos de vista e controles que permitem que você possa apresentar os dados de sua aplicação de modo organizado. Além disso, muitos dos pontos de vista e controles padrão pode se comportar de forma ligeiramente diferente do que os seus homólogos do Mac OS X. A maior parte destas alterações devem ser transparentes, mas alguns podem exigir-lhe repensar a forma de organizar e apresentar os seus dados.

O modelo de tratamento de evento do iPhone SO representa também um importante ruptura em relação as aplicações desktop tradicionais. Em vez de se basear nos tradicionais eventos de mouse e teclado,  o iPhone OS introduz a idéia de “eventos de toque”. Um evento de toque pode ocorrer em qualquer altura e em combinação com um toque adicional ou mais eventos. Toques podem ser usado para detectar simples interações com o conteúdo, tais como a seleção ou arrastar os itens, ou eles podem ser usados para detectar gestos e interações complexas, tais como toque leve ou gestos para abrir ou fechar(utilizado, por exemplo, a zoom in e out nas aplicações de imagens).

Considerando a estrutura básica do seu aplicativo, você precisa pensar sobre o modo como os usuários vão realmente usá-lo. As aplicações do iPhone ser limpas, e focar no que o usuário precisa no momento. Lembre-se que os usuários que estão on-the-go querem obter a informação rapidamente e não gastar muito tempo procurando através de várias camadas de telas. Proporcionar um esquema simples que destaca as principais informações que o usuário precisa é importante. Para jogos divertidos e outros aplicativos, você também deve considerar a forma como os usuários podem querer interagir com o seu pedido e tirar partido das tecnologias, como os acelerômetros e câmera se for esse o caso.

À medida que você começar o desenvolvimento, os framework que pretende utilizar inicialmente estão nos framework UIKit e Foundation . Estes frameworks fornecem os principais serviços utilizados por todos as aplicações do iPhone. Para refinar sua aplicação, você deve investigar os outros frameworks do sistema para ver quais os serviços que oferecem. A documentação conceitual para cada um dos frameworks inclui links para materiais relevantes para ajudá-lo a aprender mais sobre como usar esse framework.

Para obter informações sobre os framework foundation e UIKit , veja Foundation Framework ReferenceUIKit Framework.
e

Onde começar

Criar simples aplicações que são executadas no iPhone OS é relativamente fácil com o projeto de construção de modelos fornecidos pela Xcode, mas criar aplicativos que fazem alguma coisa útil e agradável exige que você gaste algum tempo com leitura através da documentação disponível. No mínimo, você deve ter o tempo para ler as orientações dos artigos do iPhone Dev Center, que explorará as ferramentas e processos para a criação de aplicações.

Se você é completamente novo ao que diz respeito a iPhone OS e Mac OS X, ter tempo para compreender a concepção básica e padrões e das convenções iPhone OS é crítico para escrever código para a plataforma. Aplicações em iPhone OS funcionam melhor quando se tirar partido do poder fornecidos pelos frameworks . Se você passar algum tempo tentando trabalhar em torno do framework de comportamento básico, você poderá criar a sua aplicação muito mais difícil do que simplesmente a aprendizagem da utilização de padrões de projeto básico. As informações básicas que todos os desenvolvedores de iPhone está  Cocoa Fundamentals Guide. Este documento apresenta os princípios básicos da linguagem Objective-C e das convenções de programaçã e padrões utilizados por UIKit design e muitos outros frameworks do sistema.

Depois de compreender a base de convenções você usará para criar aplicações para o iPhone, pode  o  iPhone OS Programming Guide para detalhes específicos sobre o processo de desenvolvimento. Este livro oferece tarefa-chave de base conceitual e informações sobre como escrever aplicações para o iPhone, incluindo exemplos de como exibir uma interface de usuário, manipular eventos e tirar partido das características-chave do iPhone OS. Ele também descreve o processo global de desenvolvimento e explica como você usa o Xcode para construir e executar seus aplicativos.

Além de iPhone OS Programming Guide, você deve olhar também códigos de amostra disponíveis. Você também pode olhar os códigos disponíveis de aplicações iPhone OS que lhe mostram como usar as tecnologias disponíveis para criar aplicações para o mundo real. Você pode utilizar essas amostras como ponto de partida para as suas próprias aplicações ou você pode olhar para eles para saber mais sobre como usar recursos específicos.

O iPhone promete mudar todos os patamares do que é uma mobile, aliás ele já tem feito, muito ainda existe para ser feito e vale a pena aos techmaníacos ficarem atentos.

 

Desenvolvendo aplicações para Symbian OS S60 julho 27, 2008

Filed under: Mobilidade — diegosantos @ 6:26 pm
Tags: ,

O Symbian OS é um sistema muito versátil permitindo desenvolver aplicações em diversas linguagens diferentes como Symbian C++, JavaME, C entre outras.

O C++ como linguagem nativa do sistema possibilita que aplicações escritas nesta linguagem obtenham acesso maior as APIs (Application Programming Interface) do sistema e desempenho superior se comparado a outras linguagens como Java.
Possibilidades.JPG
Fonte: Symbian Resources

Possibilidades

  • Symbian C++
  • Java ME
  • Python
  • Perl
  • Ruby
  • FlashLite

Symbian C++

Prós:

  • Acesso completo ao sistema de arquivos.
  • Inicialização rápida.
  • Aplicações funcionam em todos os dispositivos sem necessidades de porta-los.
  • Aplicações funcionam em background, foreground, invisíveis.
  • Conta com controles já definidos e padronizados(Grids, Listbox, Forms, etc).
  • IDE gratuíta.

Contras:

  • Requer um conhecimento aprofundado em C++.
  • Maior tempo de produção comparada com outras linguagens.

Java ME

Prós:

  • Grande potencial de mercado.
  • Funcionam em qualquer dispositivos com suporte a Java (apesar da necessidade de portabilidade).
  • Facilidade na elaboração do código.
  • IDE gratuíta.

Contras:

  • Aplicações não podem rodar em background.
  • Demora na inicialização.
  • Fragmentação.
  • Acesso limitado ao recursos do sistema.

Python

Prós:

  • Extensibilidade.
  • Open Source.
  • Fácil programação.
  • Pode ser programado *on-device*.

Contras:

  • Sem pré-instalação

FlashLite

Prós:

  • Grande potencial de marketing
  • Boa IDE para desenvolvimento
  • Fácil de programar

Contras:

  • IDE de alto custo ($700)
  • Limitações do Flash Lite 1.1