Desenvolvendo sistemas dedicados à plataforma Palm OS
Há alguns anos, desenvolver sistemas para dispositivos PDA conectados a um SGBD (Sistema Gerenciador de Banco de Dados) constituía uma tarefa árdua, pois além de poucos recursos de hardware esbarrávamos em problemas clássicos da plataforma. Neste artigo, veremos os últimos avanços que possibilitaram a disponibilização de recursos poderosos de bancos como Microsoft SQL Server, MySQL e Oracle neste ambiente, tornando o ciclo de desenvolvimento produtivo e robusto. Para isso, analisaremos passo a passo como construir uma aplicação de atendimento de clientes em restaurantes para Palm OS.
Palm OS ou Pocket PC?
É comum encontrar no mercado equipamentos da marca Pocket PC sendo vendidos com o nome de Palm OS. Isso porque a Palm OS foi a primeira empresa a entrar neste mercado e atuou “sozinha” até final da década de 90, porém seu monopólio ruiu e sua divisão fortaleceu seu maior rival, o Pocket PC. Palm OS e Pocket PC são marcas de dispositivos que se enquadram em uma classe chamada PDA (Personal Digital Assistants).
Os sistemas operacionais existentes nestas duas marcas são completamente diferentes, entretanto, ambos podem realizar o mesmo tipo de trabalho.
Os hardwares da Palm Inc. possuem a fama de serem baratos, isso porque geralmente perdem no recurso disponibilizado. Falta na Pocket PC um modelo “popular” como o famoso Z22 da Palm Inc. que custa R$ 390,00 e pode ser adquirido até em lojas de eletro-eletrônicos. Esse fato é suficiente para garantir ao Palm a maior fatia do mercado.
O que é preciso saber sobre Palm OS
Na plataforma Palm OS é comum encontrar transferência de dados entre PDA e Desktop através de um ADD-IN comumente chamado de conduit. Este componente é registrado no software disponibilizado pela Palm Source chamado Hotsync, que faz parte do pacote chamado Palm Desktop.
O Hotsync é responsável por gerenciar a execução de todos os conduits. Ele sempre tem um inicio, meio e fim sem intervalos. Se algum processo encontrar problemas e permanecer sem comunicação durante dois minutos, a execução do conduit é abortada.
Outro ponto que devemos ter em mente é o fato de que na plataforma Palm OS temos dois tipos de arquivos:
- PRC: Arquivos compilados. Podem ser Shared Library ou Aplicativos;
- PDB: base de dados.
Estes arquivos são comumente instalados no Palm OS através do Palm Quick Install, outra ferramenta que faz parte do pacote Palm Desktop.
Perguntas frequentes
- Um programa compilado para a plataforma Palm OS pode ser executado diretamente em um Pocket PC ou vice-versa? A resposta é não, pois são dois sistemas operacionais completamente diferentes.
- Devo utilizar Palm OS ou Pocket PC? Eu deixo esta escolha por parte do cliente, apenas apresento as duas plataformas bem como especificações técnicas e financeiras.
- Posso programar em quais linguagens? Atualmente existem compiladores para quase todas as linguagens comerciais.
Exemplo abordado neste artigo
A partir de agora veremos passo a passo como desenvolver um sistema dedicado ao atendimento de clientes de um restaurante. Vamos chamá-lo de ComandaFacil.
O sistema terá as seguintes características:
- Uma tela onde um recepcionista terá informações de mesas disponíveis;
- Telas para o garçom selecionar produtos e adicionar a lista de produtos consumidos.
No nosso artigo não vamos utilizar o conduit, vamos utilizar uma forma de conexão um pouco mais sofisticada: serão disparadas instruções SQL contra um servidor.
Instalando e configurando o ambiente
O HB++ (Handheld-Basic) foi o IDE escolhido para o desenvolvimento deste projeto, isso porque sua interface é amigável e seu grau de programação é de alto nível.
Para simular o PDA, vamos utilizar o mais famoso emulador desta plataforma, comumente chamado de POSE (Palm OS Emuator).
O SGBD escolhido foi o Microsoft SQL Server 2000. Para prover a comunicação entre o Palm OS e o Microsoft SQL Server vamos utilizar o RemoteSync.
Na Plataforma Palm OS temos a deficiência da falta de drivers de conexão comumente utilizado na programação da plataforma Desktop. O RemoteSync será esta ponte “driver” entre o PDA e o SGBD e a única exigência do RemoteSync para realizar esta ligação é que o PDA tenha alguma forma de comunicação TCP/IP com o RemoteSync e que o SGBD esteja acessível ao RemoteSync. Neste artigo vamos utilizar uma rede Wi-Fi que prove ao PDA uma conexão TCP/IP, entretanto é possível também utilizar o RemoteSync para se comunicar com equipamentos remotos via celular e linha telefônica convencional.
Definindo a base de dados
Como já foi dito, neste artigo vamos utilizar o SQL Server 2000, entretanto, poderíamos utilizar qualquer SGBD que aceite conexão ODBC sem alterar nenhuma linha de código do aplicativo Palm OS.
Entre no Enterprise Manager do SQL Server 2000, crie um novo Database e crie tabelas segundo o DER exibido na Figura 1. Utilize como dicionário de dados as informações contidas na Tabela 1.
CF_ATENDENTE | CF_MESA | ||
---|---|---|---|
ID_ATENDENTE | Int | ID_MESA | Int |
LOGIN | Varchar(12) | DESCRICAO | Varchar(30) |
SENHA | Varchar(12) | LUGARES | Int |
NOME | Varchar(30) | DISPONIVEL | Varchar(5) |
CF_PRODUTO | CF_ATENDIMENTO_PRODUTO | ||
ID_PRODUTO | Int | ID_ATENDIMENT_PRODUTO | Int |
DESCRICAO | Varchar(30) | ID_ATENDIMENTO | Int |
PRECO | Decimal(9,2) | ID_PRODUTO | Int |
ID_ATENDENTE | Int | ||
QUANTIDADE | Float | ||
CF_ATENDIMENTO | CF_ATENDIMENTO_MESA | ||
ID_MESA | Int | ID_ATENDIMENTO | Int |
ID_ATENDIMENTO | Int | ABERTO | Varchar(5) |
Codificando
Inicie o HB++, crie um novo projeto selecionando a opção Minimal Projetc conforme a Figura 2.
Utilizar o Handheld-Basic é muito fácil. Isso porque ele disponibiliza Wizards simples e objetivos. Na Figura 3 temos o primeiro passo no Wizard de criação de um projeto. Neste, utilize os dados apresentados na Tabela 2.
Propriedade | Valor |
---|---|
Project Name | CFacil |
Project Filename | Diretório_qualquer\Cfacil.hbp | ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.