Aplicativos BlackBerry HTML5 WebWorks para o Tablet BlackBerry PlayBook Módulo 1 - Visão geral Programa acadêmico
2 2012 Research In Motion Limited Módulo 1 - Visão geral
2012 Research In Motion Limited. Todos os direitos reservados. BlackBerry, RIM, Research In Motion, SurePress, SureType e marcas comerciais, nomes e logotipos relacionados são propriedade da Research In Motion Limited e estão registrados e/ou são usados nos E.U.A. e em vários países do mundo. JavaScript é uma marca registrada da Oracle America, Inc.; jquery é uma marca registrada da jquery Project; Dojo é uma marca registrada da The Dojo Foundation. Todas as outras marcas comerciais pertencem a seus respectivos proprietários. Esta documentação, incluindo toda a documentação incorporada por referência, como a fornecida ou disponível através de hiperlink, é oferecida ou disponibilizada "NA FORMA EM QUE SE ENCONTRA" e "CONFORME A DISPONIBILIDADE", sem condições, endossos, responsabilidades, declarações ou garantias de qualquer espécie pela Research In Motion Limited e suas empresas afiliadas ("RIM"), e a RIM não assume nenhuma responsabilidade por erros tipográficos, técnicos ou de outra natureza encontrados neste documento, nem por eventuais omissões. Esta documentação pode usar termos genéricos ao descrever alguns aspectos de tecnologia da RIM com o objetivo de proteger informações confidenciais e de propriedade da RIM e/ou segredos comerciais. A RIM reserva-se o direito de alterar periodicamente as informações contidas nesta documentação e não se compromete a fornecer, seja regularmente ou de qualquer outra forma, tais alterações, atualizações, aprimoramentos ou outras inclusões à mesma. Esta documentação pode conter referências a fontes de informação, hardware ou software, produtos ou serviços de terceiros, incluindo componentes e conteúdo protegidos por direitos autorais e/ou sites de terceiros (coletivamente chamados de Produtos e Serviços de Terceiros ). A RIM não controla ne m se responsabiliza por quaisquer Produtos e Serviços de Terceiros, incluindo, sem limitações, conteúdo, precisão, conformidade com leis de direitos autorais, desempenho, compatibilidade, confiabilidade, legalidade, decoro, links ou qualquer outro aspecto a eles relacionado. A inclusão de uma referência a Produtos e Serviços de Terceiros nesta documentação não implica o endosso da RIM quanto a esses produtos e serviços, nem aos terceiros que os fornecem. SALVO NA MEDIDA EM QUE FOR ESPECIFICAMENTE PROIBIDO PELA LEGISLAÇÃO APLICÁVEL NA SUA JURISDIÇÃO, TODAS AS CONDIÇÕES, ENDOSSOS, RESPONSABILIDADES, REPRESENTAÇÕES OU GARANTIAS DE QUALQUER ESPÉCIE, EXPRESSAS OU IMPLÍCITAS, INCLUINDO, SEM LIMITAÇÕES, QUAISQUER CONDIÇÕES, ENDOSSOS, RESPONSABILIDADES, REPRESENTAÇÕES OU GARANTIAS DE DURABILIDADE, ADEQUAÇÃO A UMA FINALIDADE OU USO ESPECÍFICOS, COMERCIALIZAÇÃO, QUALIDADE DE COMERCIALIZAÇÃO, NÃO-VIOLAÇÃO, QUALIDADE SATISFATÓRIA OU PROPRIEDADE, OU QUE RESULTEM DE UM ESTATUTO OU COSTUME, OU DE NEGOCIAÇÃO OU USO COMERCIAL, OU RELACIONADAS À DOCUMENTAÇÃO OU AO SEU USO, OU AO DESEMPENHO OU À FALTA DE DESEMPENHO DE QUALQUER SOFTWARE, HARDWARE, SERVIÇO OU DE QUAISQUER PRODUTOS OU SERVIÇOS DE TERCEIROS CITADOS NESTE DOCUMENTO, FICAM AQUI EXCLUÍDAS. VOCÊ TAMBÉM PODERÁ TER OUTROS DIREITOS DEPENDENDO DO SEU ESTADO OU PROVÍNCIA. ALGUMAS JURISDIÇÕES NÃO PERMITEM LIMITAÇÕES NEM EXCLUSÕES DE GARANTIAS E C ONDIÇÕES IMPLÍCITAS. NA EXTENSÃO PERMITIDA PELA LEI, QUAISQUER GARANTIAS OU CONDIÇÕES IMPLÍCITAS RELACIONADAS À DOCUMENTAÇÃO NA MEDIDA EM QUE NÃO PUDEREM SER EXCLUÍDAS CONFORME ACIMA ESTABELECIDO, MAS PUDEREM SER LIMITADAS, FICAM AQUI LIMITADAS A 90 (NOVENTA) DIAS A PARTIR DA DATA DA AQUISIÇÃO DA DOCUMENTAÇ ÃO OU DO ITEM QUE SEJA OBJETO DA REIVINDICAÇÃO. NA MÁXIMA EXTENS ÃO PERMITIDA PELA LEGISLAÇ ÃO APLICÁVEL NA SUA JURISDIÇÃO, EM NENHUMA CIRCUNSTÂNCIA A RIM SE RESPONSABILIZARÁ POR QUALQUER TIPO DE DANO RELACIONADO A ESTA DOCUMENTAÇ ÃO OU AO SEU USO, OU AO DESEMPENHO OU FALTA DE DESEMPENHO DE QUALQUER SOFTWARE, HARDWARE, SERVIÇO OU QUAISQUER PRODUTOS E SERVIÇOS DE TERCEIROS CITADOS NESTE DOCUMENTO, INCLUINDO, SEM LIMITAÇ ÕES, QUALQUER UM DESTES DANOS: DANOS DIRETOS, RESULTANTES, EXEMPLARES, INCIDENTAIS, INDIRETOS, ESPECIAIS, PUNITIVOS OU AGRAVADOS, DANOS POR LUCROS CESSANTES OU PERDA DE RECEITA, N ÃO CUMPRIMENTO DE METAS COMERCIAIS, INTERRUPÇÃO DOS NEGÓCIOS, PERDA DE INFORMAÇÕES COMERCIAIS, PERDA DE OPORTUNIDADES COMERCIAIS, OU PERDA DE DADOS OU DADOS CORROMPIDOS, PROBLEMAS DE TRANSMISS ÃO OU RECEBIMENTO DE DADOS, PROBLEMASSOCIADOS A APLICATIVOS USADOS JUNTO COM PRODUTOS OU SERVIÇOS DA RIM, CUSTOS DECORRENTES DE TEMPO DE INATIVIDADE, PERDA DE USO DE PRODUTOS OU SERVIÇOS DA RIM OU DE QUALQUER PARTE DELES OU DE QUAISQUER SERVIÇOS DE TRANSMISS ÃO SEM FIO, CUSTO DE MERCADORIAS DE REPOSIÇÃO, CUSTOS DE SUPORTE, EQUIPAMENTOS OU SERVIÇOS, CUSTO DO CAPITAL OU OUTRAS PERDAS FINANCEIRAS SEMELHANTES, SEJAM TAIS DANOS PREVISÍVEIS OU IMPREVISÍVEIS, E MESMO QUE A RIM TENHA SIDO ALERTADA SOBRE A POSSIBILIDADE DE TAIS DANOS. NA MÁXIMA EXTENSÃO PERMITIDA PELA LEGISLAÇÃO APLICÁVEL NA SUA JURISDIÇÃO, A RIM NÃO TERÁ QUALQUER OUTRO TIPO DE OBRIGAÇÃO, DEVER OU RESPONSABILIDADE, SEJA CONTRATUAL, EXTRACONTRATUAL OU DE OUTRA FORMA RELACIONADA A VOCÊ, INCLUINDO QUALQUER RESPONSABILIDADE POR NEGLIGÊNCIA OU RESPONSABILIDADE OBJETIVA. AS LIMITAÇÕES, EXCLUSÕES E ISENÇÕES DE RESPONSABILIDADE AQUI ESTABELECIDAS SERÃO APLICADAS: (A) INDEPENDENTEMENTE DA NATUREZA DA FORMA DE AÇÃO, DEMANDA OU AÇÃO REALIZADA POR VOCÊ INCLUINDO, SEM LIMITAÇÕES, VIOLAÇÃO DE CONTRATO, NEGLIGÊNCIA, RESPONSABILIDADE EXTRACONTRATUAL OU OBJETIVA OU QUALQUER OUTRA TEORIA LEGAL E PERMANECERÃO EM VIGOR MESMO NO CASO DE VIOLAÇÕES FUNDAMENTAIS OU DO NÃO CUMPRIMENTO DO PRINCIPAL OBJETIVO DESTE CONTRATO OU DE QUAISQUER RECURSOS CONTIDOS NESTE DOCUMENTO; E (B) À RIM E SUAS AFILIADAS, SEUS SUCESSORES, PROCURADORES, AGENTES, FORNECEDORES (INCLUINDO PROVEDORES DE SERVIÇOS DE TRANSMISSÃO S EM FIO), DISTRIBUIDORES AUTORIZADOS DA RIM (INCLUINDO TAMBÉM PROVEDORES DE SERVIÇOS DE TRANSMISSÃO SEM FIO) E SEUS RESPECTIVOS DIR ETORES, FUNCIONÁRIOS E PRESTADORES DE SERVIÇO INDEPENDENTES. ALÉM DAS LIMITAÇÕES E EXCLUSÕES ACIMA ESTABELECIDAS, EM NENHUMA CIRCUNSTÂNCIA OS DIRETORES, FUNCIONÁRIOS, AGENTES, DISTRIBUIDORES, FORNECEDORES, PRESTADORES DE SERVIÇO INDEPENDENTES DA RIM OU DE QUALQUER UMA DE SUAS AFILIADAS TERÃO QUALQUER TIPO DE RESPONSABILIDADE RESULTANTE DA DOCUMENTAÇÃO OU A ELA RELACIONADA. Antes de assinar, instalar ou usar quaisquer Produtos e Serviços de Terceiros é sua responsabilidade garantir que o provedor de serviços de transmissão sem fio concorde em oferecer suporte a todos os recursos. Alguns provedores de serviços de transmissão sem fio talvez não ofereçam a funcionalidade de navegação na Internet com uma assinatura do BlackBerry Internet Service. Consulte sua operadora para obter informações sobre disponibilidade, recursos e planos de roaming e de serviço. A instalação ou uso de Produtos e Serviços de Terceiros com os produtos e serviços da RIM podem exigir uma ou mais licenças de patente, marca comercial ou direitos autorais ou outras licenças a fim de evitar a infração ou violação dos direitos de terceiros. É sua total responsabilidade determinar se Produtos e Serviços de Terceiros devem ser utilizados e se é necessário obter licenças de terceiros para tanto. Em caso afirmativo, você será o responsável pela aquisição das mesmas. Você não deverá instalar ou usar Produtos e Serviços de Terceiros até que todas as licenças necessárias tenham sido obtidas. Quaisquer Produtos e Serviços de Terceiros fornecidos com produtos e serviços da RIM são fornecidos como uma conveniência para você e NO ESTADO EM QUE SE ENCONTRAM, sem condições, endossos, responsabilidades, declarações ou garantias de qualquer espécie, explícitas ou implícitas, por parte da RIM, e a RIM não assum e qualquer tipo de responsabilidade em relação a eles. O uso que você faz dos Produtos e Serviços de Terceiros será regido e estará sujeito à sua aceitação dos termos das licenças individuais e de outros contratos aplicáveis com terceiros, a menos que sejam expressamente incluídos em uma licença ou outro contrato com a RIM. Certos recursos descritos nesta documentação exigem uma versão mínima do software BlackBerry Enterprise Server, do BlackBerry Desktop Software e/ou do BlackBerry Device Software e podem exigir desenvolvimento adicional ou Produtos e Serviços de Terceiros para fornecer acesso a aplicativos corporativos. Este produto inclui software desenvolvido pela Apache Software Foundation (http://www.apache.org/) e/ou licenciado de acordo com o documento Apache License, versão 2.0 (http://www.apache.org/licenses/). Para obter mais informações, consulte o arquivo NOTICE.txt que acompanha o software. A men os que exigido pelas leis aplicáveis ou estabelecido em acordo por escrito, o software é distribuído sob a licença NA FORMA EM QUE SE ENCONTRA, SEM GARANTIAS OU CONDIÇÕES DE NENHUMA ESPÉCIE, sejam elas expressas ou implícitas. Consulte a licença para conhecer as limitações e permissões específicas ao seu idioma sob os termos da mesma. Os termos de uso de qualquer produto ou serviço da RIM são estipulados em uma licença individual ou em outro contrato com a RIM aplicável a eles. NENHUM TERMO DESTA DOCUMENTAÇÃO DESTINA-SE A SUBSTITUIR CONTRATOS OU GARANTIAS EXPRESSAS POR ESCRITO FORNECIDAS PELA RIM PARA PARTES DE QUALQUER PRODUTO OU SERVIÇO DA RIM QUE NÃO SEJA ESTA DOCUMENTAÇÃO. Módulo 1 - Visão geral 2012 Research In Motion Limited 3
Sobre este manual de trabalho Este material foi elaborado pressupondo que os participantes atenderam a todos os requisitos antes de tentar os exercícios. Para evitar um impacto negativo na qualidade da experiência de aprendizagem, a RIM recomenda que os alunos atendam aos pré-requisitos. 4 2012 Research In Motion Limited Módulo 1 - Visão geral
Sumário Sobre este manual de trabalho... 4 Visão geral do BlackBerry HTML5 WebWorks... 6 Introdução... 6 Objetivos... 6 Pré-requisitos... 6 O que é o BlackBerry HTML5 WebWorks?... 7 Alguns exemplos de aplicativos HTML5 WebWorks... 7 Arquitetura de alto nível... 9 Por que o HTML5 WebWorks é importante?... 11 De que forma o HTML5 WebWorks é diferente - A continuidade... 12 Abordagem de procedimento JavaScript... 14 Exemplo: Abordagem de procedimento JavaScript... 14 Exemplo: HTML + Abordagem de serviço... 15 Resumo e mais aprendizagem... 16 Resumo... 16 Recursos adicionais... 16 Tutoriais em vídeo... 16 Módulo 1 - Visão geral 2012 Research In Motion Limited 5
Visão geral do BlackBerry HTML5 WebWorks Introdução Este módulo descreve o que é o BlackBerry HTML5 WebWorks, como configurar as ferramentas, uma visão geral da arquitetura de programação detalhada e por que a abordagem HTML5 WebWorks é importante para o desenvolvimento de aplicativos móveis. Objetivos Neste módulo, serão apresentados os seguintes conceitos ao aluno: O que é o HTML5 WebWorks? Alguns exemplos de aplicativos HTML5 WebWorks Por que desenvolver aplicativos HTML5 WebWorks A arquitetura de alto nível dos aplicativos HTML5 WebWorks A arquitetura detalhada dos aplicativos HTML5 WebWorks Por que o HTML5 WebWorks é importante Qual a diferença entre o HTML5 WebWorks e outras abordagens de desenvolvimento? Pré-requisitos Para este módulo, os pré-requisitos recomendados de habilidades e áreas de conhecimento são: Conhecimento básico dos padrões web, como HTML, CSS e JavaScript Familiaridade com os seguintes conceitos o Padrão MVC (Model-View Controller, Controle de modelo e exibição) o Lógica comercial Familiaridade com os seguintes itens o Bibliotecas de Javascript como JQuery, Dojo e Sencha o Mecanismo de navegação WebKit Familiaridade com as abordagens de desenvolvimento java e web (navegador) Conhecimento básico de programação Java 6 2012 Research In Motion Limited Módulo 1 - Visão geral
O que é o BlackBerry HTML5 WebWorks? BlackBerry HTML5 WebWorks é uma plataforma de aplicativos que permite aos desenvolvedores criar aplicativos independentes que utilizam tecnologias de web modernas e padronizadas. Ele aproveita as tecnologias de web do setor, como JavaScript, CSS e HTML 5. Aplicativos HTML5 WebWorks são "super aplicativos" completos, por causa de sua capacidade de integração com smartphone BlackBerry nativo e recursos do PlayBook. Você pode adicionar funcionalidade nativa ao seu aplicativo HTML5 usando a plataforma BlackBerry HTML5 WebWorks. Um aplicativo BlackBerry HTML5 WebWorks é um programa independente, o que significa que você não precisa indicar um servidor remoto para carregar uma página ou aplicativo da web (a menos que queira). Nesse caso, o aplicativo reside em um aparelho BlackBerry. É essencialmente um conjunto de ativos da web que são empacotados em um contêiner que pode ser visto por um "headless browser" o contêiner do mecanismo WebKit. Usando o BlackBerry HTML5 WebWorks, você pode obter acesso total às APIs da plataforma através de invólucros JavaScript, que você pode usar para estender seu aplicativo e tirar proveito de recursos específicos do BlackBerry (por exemplo, BBM, PIM, mídia, hardware), fornecendo um experiência de usuário final integrada. Os layouts de página podem ser feitos em JavaScript, CSS e HTML e não requerem a escrita de código Java. Desenvolvedores web podem reutilizar suas habilidades e criar um aplicativo que permite integração total com a plataforma. O HTML5 WebWorks amplia os limites do HTML5 em CSS, em JavaScript, em Gráficos vetoriais escaláveis. Alguns exemplos de aplicativos HTML5 WebWorks Guitar Chords (Catálogo My App) Hollywood Bowl (LA Philharmonic) Aplicativos Guitar Chords e Hollywood Bowl para smartphone BlackBerry são exemplos de aplicativos que foram criados aproveitando as ferramentas do BlackBerry HTML5 WebWorks. Exemplos adicionais de aplicativos BlackBerry HTML5 WebWorks podem ser encontrados em www.blackberry.com/appworld. Módulo 1 - Visão geral 2012 Research In Motion Limited 7
8 2012 Research In Motion Limited Módulo 1 - Visão geral
Arquitetura de alto nível A plataforma BlackBerry HTML5 WebWorks é desenvolvida no mecanismo Webkit, que é uma solução integrada à plataforma BlackBerry. O Webkit tem uma ótima pontuação Acid, taxa de conformidade CSS e está aumentando a conformidade do HTML5 com o suporte a um número crescente de APIs. O mecanismo Webkit apresenta um eficiente uso de dados, que é importante considerar ao projetar um aplicativo para uso comercial. A plataforma HTML5 WebWorks começa com um aplicativo que está sendo executado dentro de um WebKit. Dentro do mecanismo WebKit, um aplicativo e um processo WebKit estão sendo executados simultaneamente. Os desenvolvedores podem aproveitar o HTML5 e as estruturas de web avançadas para o desenvolvimento da interface de usuário (UI) de seus aplicativos. Extensões JavaScript e APIs JavaScript que permitem que os desenvolvedores tenham acesso à plataforma para tarefas em segundo plano, envios, APIs de BBM, publicidade e monetização disponíveis para um aplicativo Java no BlackBerry também estão disponíveis para aplicativos web através dessas extensões Há muitas coisas que vão direto para a plataforma através dessas APIs do HTML5 (suporte HTML5 e, por meio disso, armazenamentos de SQL, localização geográfica). Para um aplicativo HTML5 WebWorks, isso é empacotado dentro do arquivo COD. O arquivo COD pode conter todos os ativos da web, como menu, definições de configuração, ícone da tela inicial do smartphone, políticas de segurança, etc. Módulo 1 - Visão geral 2012 Research In Motion Limited 9
Se um desenvolvedor tiver um aplicativo java baseado no padrão MVC os dados terão sido separados o máximo possível da interface do usuário. Com um aplicativo HTML5 WebWorks, os dados podem ser usados em conjunto com as APIs JavaScript para tornar o aplicativo como um serviço e uma extensão de um aplicativo web. A API JavaScript (o código do modelo que envolve o campo do navegador se as classes exatas do ambiente Java forem desconhecidas) gerencia a instância WebKit. Ele transporta os dados entre o ambiente Java e o processo WebKit que processa a entrada. O WebKit é também de código aberto. O packager de aplicativos tem código aberto para incentivar desenvolvedores que criam ferramentas de desenvolvimento de aplicativos para serem integradas à estrutura mais facilmente, e para que os desenvolvedores não tenham de executar ferramentas separadas em uma linha de comando. Os desenvolvedores podem criar conexões diretamente no packager para gerar o que precisam A estrutura WebKit é uma estrutura de código aberto no GitHub. 10 2012 Research In Motion Limited Módulo 1 - Visão geral
Por que o HTML5 WebWorks é importante? O mundo aí fora tem muitas opções para os desenvolvedores. Há muitas tecnologias web de aproveitamento de smartphones e sistemas operacionais. Sólidos padrões Web suportados em várias plataformas permitem aos desenvolvedores reutilizar recursos da Web e suas próprias habilidades para criar aplicativos BlackBerry. Desenvolvedores web tradicionais podem escrever aplicativos completos com modernas tecnologias web, e integrá-los totalmente ao ecossistema BlackBerry. Desenvolvedores Java também pode usar tecnologias web modernas, como CSS, HTML 5, JavaScript e Gráficos vetoriais escaláveis para descarregar a rica interface do usuário e problemas de layout flexíveis. O desenvolvimento de aplicativos HTML5 WebWorks fornece aos desenvolvedores um conjunto de habilidades e ferramentas para criar ótimos aplicativos que aproveitam padrões web abertos e avançados. A única tecnologia que permite que você direcione todos eles é a Web. A Web permite que você acesse a riqueza e os diferenciais de cada plataforma. A abordagem "escreva uma vez, execute em qualquer lugar" pode não ser apropriada ou irrealista (menor efeito denominador comum). Módulo 1 - Visão geral 2012 Research In Motion Limited 11
De que forma o HTML5 WebWorks é diferente - A continuidade A plataforma HTML5 WebWorks não é uma arquitetura ou um padrão único de escrever um aplicativo. Ela aproveita os mundos Web e Java. Para aplicativos puros de Java um desenvolvedor pode formatálos usando algumas APIs para o processamento de dados da interface do usuário (UI) que estarão em um site. Para um aplicativo java, um desenvolvedor pode quebrar a arquitetura usando padrões MVC tradicionais e quebrar o URI (Universal Resource Indicator, Indicador de recursos universal) baseado em navegador do núcleo Java. Isso pode ser feito com o mecanismo de extensões e pode criar este tipo de arquitetura de duas camadas. A lógica de negócios (os algoritmos funcionais que processam a troca de informações entre um banco de dados e a interface do usuário) em um aplicativo Java puro indica que tudo é codificado em Java. Para um aplicativo HTML5 WebWorks, a lógica Java pode constituir sua maior parte, mas há uma tabela variável em que grande parte da lógica de negócios pode ser movida para o navegador usando JavaScript. A terceira dimensão da continuidade é ver onde os recursos do aplicativo estão localizados. Como todos os recursos são empacotados em um arquivo COD para um aplicativo HTML5 WebWorks, eles podem ser armazenados localmente (mas ainda assim ter capacidade web completa). Um desenvolvedor pode chamar um JavaScript gerado em um servidor, juntamente com alguns ícones em cache. Poderia ser uma mistura de recursos locais. 12 2012 Research In Motion Limited Módulo 1 - Visão geral
Um desenvolvedor pode querer incluir alguns JavaScripts estáticos, algumas bibliotecas de ajuda e coisas do gênero no pacote de arquivo COD. Mas ainda assim haveria muito da lógica dinâmica que ocorre no servidor atendida por solicitações HTTP tradicionais que aproveitam os recursos web tradicionais. Obviamente há outra linha que separa onde, em algum ponto, um desenvolvedor acabou de criar um site móvel padrão que não aproveita a plataforma móvel. Este aplicativo não tem acesso à infraestrutura móvel. É apenas um site móvel comum. Para aplicativos HTML5 WebWorks, a maioria dos desenvolvedores pode decidir usar código baseado em Java, mas realmente a parte central do aplicativo é baseada na web. Os desenvolvedores terão a opção de recursos locais que serão empacotados com o aplicativo versus serviços remotos. Eles poderão comparar serviços, dados e recursos locais com os dados, recursos e serviços vinculados à rede. Módulo 1 - Visão geral 2012 Research In Motion Limited 13
Abordagem de procedimento JavaScript Em termos de JavaScript API esse é um código simples que cria um compromisso no calendário. Um desenvolvedor pode criar o compromisso, definir o local, o resumo, colocar uma nova data, etc. O desenvolvedor define o início, o fim e pode criar uma variedade de participantes antes de salvar. No JavaScript, na página web, o desenvolvedor criou um compromisso no calendário do BlackBerry. Essa é uma abordagem de procedimento que usa chamadas de métodos e objetos. Será de fácil leitura se o desenvolvedor estiver familiarizado com Java e JavaScript. Exemplo: Abordagem de procedimento JavaScript <script type="text/javascript"> // Criar compromisso var newappt = new blackberry.pim.appointment(); newappt.location = "Seu escritório"; newappt.summary = "Falar sobre o novo projeto"; // Criar grade de programação var start = new Date(); newappt.start = start; var end = start.sethours(start.gethours() + 1); newappt.end= end; // Criar participante var attendees = new Array(); var onlyattendee = new blackberry.pim.attendee(); onlyattendee.address = "john@foo.com"; attendees.push(onlyattendee); // Salvar compromisso newappt.attendees = attendees; newappt.save(); </script> 14 2012 Research In Motion Limited Módulo 1 - Visão geral
Em termos de uma abordagem web/navegador, um desenvolvedor pode criar um formulário e estruturá-lo usando HTML que inclua campos para o local, resumo do compromisso, seleção de data e hora, etc. Mas o aplicativo chama um serviço na plataforma para de fato criar essa entrada de calendário e o desenvolvedor faz isso através de uma chamada de caractere XA. No exemplo acima, ele está usando a chamada de caractere XHR.submit para criar a entrada de calendário. Diferentes bibliotecas de JavaScript como JQuery (www.jquery.com), Dojo (www.dojotoolkit.org) e Sencha (www.sencha.com) têm estruturas diferentes para involucrar essas chamadas, tornando mais fácil para os desenvolvedores criar aplicativos que possam trabalhar em diferentes plataformas móveis. Exemplo: HTML + Abordagem de serviço <form id= form1 method= POST action= device://calendar/new ; > onsubmit = return XHR.submit ( form1, MyCallback) Local : <input type= text name= location ><BR> Resumo : <input type= text name= summary > <BR> Início : <input type= datetime name= start >, Fim : <input type= datetime name= end ><BR> Obrigatório : <input type= text name= mandatory ><BR> Opcional : <input type= atext name= optional ><BR> </form> <script> function MyCallBack (código, mensagem) { if (code==0) alerta ( Entrada de calendário criada com sucesso ); else alerta ( Woops: +mensagem+ \n(código de erro: +código+ ) ); } </script> Módulo 1 - Visão geral 2012 Research In Motion Limited 15
Resumo e mais aprendizagem Resumo Neste módulo, os seguintes tópicos foram abordados: O que é o HTML5 WebWorks Alguns exemplos de aplicativos HTML5 WebWorks Por que desenvolver aplicativos HTML5 WebWorks A arquitetura de alto nível dos aplicativos HTML5 WebWorks A arquitetura detalhada dos aplicativos HTML5 WebWorks Por que o HTML5 WebWorks é importante Qual a diferença entre o HTML5 WebWorks e outras abordagens de desenvolvimento A continuidade e onde HTML5 WebWorks se encaixa e a abordagem de procedimentos versus serviço As próximas etapas incluem familiarização com as ferramentas de desenvolvimento do HTML5 WebWorks e download e instalação das ferramentas. Recursos adicionais BlackBerry no GitHub BlackBerry HTML 5/ HTML5 WebWorks Micro Site University of Guelph Center for Mobile Education and Research (CMER) Tutoriais em vídeo Treinamento em HTML5 WebWorks Congresso mundial de tecnologia móvel 2011 Criando seu primeiro aplicativo BlackBerry usando o HTML5 WebWorks Demonstração de PhoneGap e Ripple 16 2012 Research In Motion Limited Módulo 1 - Visão geral