Tema Central do Consegi 2013: Portabilidade, Colaboração e Integração

Tamanho: px
Começar a partir da página:

Download "Tema Central do Consegi 2013: Portabilidade, Colaboração e Integração"

Transcrição

1 O Congresso Internacional de Software Livre e Governo Eletrônico (Consegi) tem como premissa apresentar, ao governo e à sociedade, soluções desenvolvidas para Governo Eletrônico, baseadas em Software Livre. São soluções que podem ser copiadas, alteradas e distribuídas gratuitamente princípios básicos de Software Livre. Assim como a troca de experiências sobre tecnologia da informação e comunicação (TIC) para o governo e sociedade. O Consegi chega a sua sexta edição em 2013 e será realizado em Brasília, na Escola de Administração Fazendária (Esaf), no período de 13 a 15 de agosto. Palestras, oficinas, painéis temáticos e espaços abertos para debates farão parte da programação do evento. Nesta edição, serão realizados diversos encontros paralelos, entre eles: O primeiro encontro do Libre Office fora da Alemanha; Festival de instalação de Software livre (Flisol); Encontro de empresas de TI com o Sebrae; Encontro da comunidade Expresso; Encontro com a comunidade Demoiselle. Durante todo o evento, sempre estará em ação pelo menos um tutorial de Linux para Principiantes, oferecido por membros das comunidades das principais distribuições do sistema operacional. Desde 2008, o Consegi é um evento estratégico no estímulo ao debate de temas da política e gestão de tecnologias em Software Livre, permeado pelos conceitos de promoção da cidadania, interoperabilidade dos sistemas de governo, compartilhamento do conhecimento e adoção de normas e padrões. Em 2009, expôs o imenso acervo de soluções e de códigos desenvolvidos e compartilhados pela Esfera Pública. O evento mostrou que, com a lógica do Software Livre, os recursos podem ser mais bem aproveitados. Além disso, os conceitos de liberdade e direito de acesso ao conhecimento foram discutidos por mais de 4 mil participantes. Representantes de 17 países (África do Sul, Argentina, Chile, Coreia do Sul, Cuba, Egito, Equador, França, Índia, Indonésia, Malásia, Paraguai, São Tomé e Príncipe, Uruguai, Venezuela e Zimbábue) participaram dessa edição do evento. Em 2010, o Consegi inovou ao trazer para dentro do governo a discussão sobre Computação em Nuvem e a evolução dos serviços de governo eletrônico a partir dessa nova proposta de infraestrutura tecnológica. A cooperação internacional e a defesa do software livre como melhor alternativa técnica para a Administração Pública continuaram presentes no evento. Em 2011, o tema Dados Abertos trouxe o debate da liberação de informações públicas para o âmago do governo. Instituições públicas e grupos interessados dedicaram-se durante três dias ao compartilhamento de conhecimento em torno da questão, que ainda era embrionária no país. A edição 2012, realizada pela primeira vez fora de Brasília, aconteceu em Belém e abordou a Mobilidade Digital, um advento que vem alterando a forma como os indivíduos usam e se apropriam das tecnologias. O governo, de maneira a inovar nos serviços públicos aos cidadãos, já começou a pensar e disponibilizar aplicativos voltados para os dispositivos móveis. Como ampliar a atuação na área de governo eletrônico, tendo a portabilidade como elemento essencial para melhor atender às pessoas, foi o grande foco de debates da quinta edição. 651 Tema Central do Consegi 2013: Portabilidade, Colaboração e Integração Eixos temáticos: Aplicações de Governo Eletrônico Computação em Nuvem e Infraestrutura de TIC Governança, Gestão e Estratégia de TIC Ecossistema de Software Livre Novas Interfaces Homem-Máquina Tecnologias Emergentes Portabilidade, Padrões e Interoperabilidade Segurança e Defesa Cibernética Tecnologias geoespaciais Informática e Sociedade ISBN

2 VI Congresso Internacional de Software Livre e Governo Eletrônico

3 Ministério das Relações Exteriores Ministro de Estado Secretário-Geral Embaixador Antonio de Aguiar Patriota Embaixador Eduardo dos Santos Fundação Alexandre de Gusmão Presidente Embaixador José Vicente de Sá Pimentel Instituto de Pesquisa de Relações Internacionais Centro de História e Documentação Diplomática Diretor Embaixador Maurício E. Cortes Costa A Fundação Alexandre de Gusmão, instituída em 1971, é uma fundação pública vinculada ao Ministério das Relações Exteriores e tem a finalidade de levar à sociedade civil informações sobre a realidade internacional e sobre aspectos da pauta diplomática brasileira. Sua missão é promover a sensibilização da opinião pública nacional para os temas de relações internacionais e para a política externa brasileira. Ministério das Relações Exteriores Esplanada dos Ministérios, Bloco H Anexo II, Térreo, Sala Brasília, DF Telefones: (61) /6034 Fax: (61) Site:

4 VI Congresso Internacional de Software Livre e Governo Eletrônico Brasília 2013

5 Direitos de publicação reservados à Fundação Alexandre de Gusmão Ministério das Relações Exteriores Esplanada dos Ministérios, Bloco H Anexo II, Térreo Brasília DF Telefones: (61) /6034 Fax: (61) Site: funag@itamaraty.gov.br Equipe Técnica: Eliane Miranda Paiva Fernanda Antunes Siqueira Guilherme Lucas Rodrigues Monteiro Jessé Nóbrega Cardoso Vanusa dos Santos Silva Projeto Gráfico: Daniela Barbosa Programação Visual e Diagramação: Gráfica e Editora Ideal C755 Consegi 2013 : VI Congresso Internacional de Software Livre e Governo Eletrônico / Alisson Wilker [et al.] Brasília : FUNAG, p. : il. ISBN Impresso no Brasil Tecnologia da informação - África do Sul. 2. Software livre - África do Sul. 3. Serviço eletrônico - África do Sul. 4. Tecnologia da informação - congressos etc. I. Consegi 2013 : VI Congresso Internacional de Software Livre e Governo Eletrônico. CDD Bibliotecária responsável: Ledir dos Santos Pereira, CRB-1/776 Depósito Legal na Fundação Biblioteca Nacional conforme Lei n , de 14/12/2004.

6 Conselho Editorial da Fundação Alexandre de Gusmão Presidente: Embaixador José Vicente de Sá Pimentel Presidente da Fundação Alexandre de Gusmão Membros: Embaixador Ronaldo Mota Sardenberg Embaixador Jorio Dauster Magalhães Embaixador José Humberto de Brito Cruz Ministro Luís Felipe Silvério Fortuna Professor Clodoaldo Bueno Professor Francisco Fernando Monteoliva Doratioto Professor José Flávio Sombra Saraiva

7

8 Apresentação Neste ano de 2013 o VI Congresso Internacional de Software Livre e Governo Eletrônico (Consegi) traz como temas a portabilidade, a colaboração e a integração. O nexo dessas três forças mais a estratégia transversal de se utilizar software livre em sistemas de governo eletrônico são capazes de transformar a maneira como é feita a governança eletrônica de sistemas de informação e a preservação da inteligência nacional com segurança. Particularmente as empresas que prestam serviços de tecnologia da informação e comunicação aos Governos devem ter, em sua essência, a capacidade de estabelecer políticas para retenção do saber público e para a garantia da segurança das informações soberanas de um país. Estas capacidades estão intrinsecamente ligadas à capacidade das empresas inovarem a partir dos insumos que a tecnologia fornece. O bom uso dos recursos públicos passa pelo reuso e pela colaboração entre os diversos atores, assim a portabilidade que emerge com a criação de uma nova interface humano-computador para sistemas de governo é viabilizada pelo reuso de serviços que, na era da Web, são integrados através dos chamados padrões de Web Services.

9 Uma das primeiras multiplataformas, surgida na década de 1990, que permitiu a portabilidade de aplicações entre vários sistemas operacionais de computadores diversos foi a Máquina Virtual Java, que se tornou mundialmente adotada por ser um software de licenciamento livre. Atualmente existem mais de 3 bilhões de equipamentos com Java no mundo entre tablets, smartphones, notebooks, computadores, servidores e gadgets diversos. O debate de estratégias para se construir aplicações que possam ser escritas uma vez e ser executadas em várias plataformas diferentes é um dos desafios que está presente neste VI Consegi. Além disso, estarão presentes em palestras e oficinas do Congresso as demonstrações de como se criar e executar aplicações que exijam uma nova experiência do usuário (por exemplo: tablets, tv s conectadas e smartphones) integrando-se com sistemas legados de Governo Eletrônico de forma colaborativa e com uso de padrões abertos. Boa leitura! Marcos Vinicius Ferreira Mazoni Diretor-Presidente do Serpro

10 Sumário Introdução 11 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto 15 Alisson Wilker Andrade, Marlon Carvalho, Serge Rehem, Rodrigo Hjort, Ronaldo Agra, Viviane Malheiros Colaboração e Software Livre 43 Fabio Kon, Carlos D. Santos Os Serviços Eletrônicos de Governo e a Interoperabilidade 67 Marcus Vinicius da Costa, Everson Lopes de Aguiar 9

11

12 Introdução O Congresso Internacional de Software Livre e Governo Eletrônico (CONSEGI) tem mantido a tradição de, a cada ano, homenagear um país, conferindo-lhe especial realce em palestras e debates realizados em torno da temática da edição do evento. O primeiro país homenageado foi a França, no contexto das comemorações do Ano da França no Brasil, em Já em 2010, foi a vez da Coreia do Sul. Em 2011 e 2012 os países focais foram, respectivamente, Espanha e Uruguai. Em 2013, tendo por tema Portabilidade, Comunicação e Integração, o VI CONSEGI presta homenagem à África do Sul, país que vem se destacando nos campos das tecnologias da informação e das comunicações. Ao longo da edição deste ano do Congresso, portanto, expoentes sul-africanos do software livre discorrerão sobre soluções desenvolvidas naquele país em matéria de sistemas operacionais, políticas públicas de TI e gestão da informação. O sistema operacional Ubuntu, que foi desenvolvido na África do Sul, será apresentado com destaque no VI CONSEGI. O referido sistema de código aberto foi batizado com uma palavra que traz uma mensagem de compartilhamento, liberdade e colaboração que são típicos, aliás, do software livre. Conta-se que Nelson Mandela 11

13 Introdução usava essa expressão para incentivar os sul-africanos a trabalhar juntos para alcançar seus ideais de igualdade e liberdade. Em uma de suas entrevistas, o ex-presidente da África do Sul e Prêmio Nobel da Paz que é homenageado pelo CONSEGI nesta sua sexta edição reforçou, nos seguintes termos, o espírito de coletividade ao qual a palavra remete Ubuntu não significa que uma pessoa não se preocupe com o seu progresso pessoal. A questão é: o meu progresso pessoal está a serviço do progresso da minha comunidade?. Seria desnecessário discorrer sobre a importância de manter tal perspectiva no momento atual em que as tecnologias da informação e das comunicações alcançam progresso extraordinário, impactando todas as atividades e as relações entre as pessoas. Os laços e as similaridades entre o Brasil e a África do Sul vão muito além do fato de ambos estarem localizados no Hemisfério Sul e terem seu litoral banhado pelo Oceano Atlântico. São ambos países em desenvolvimento influentes, dotados de grande capacidade de pesquisa e inovação, populações expressivas e de composição multiétnica. Ambos enfrentam, também, grandes desafios nos campos econômico e social. Em relação aos temas focalizados no CONSEGI, Brasil e África do Sul têm procurado explorar formas de tornar cada vez mais relevante o software livre e aberto, especialmente no que se refere à provisão de serviços eletrônicos pelo governo. Nesse sentido, o intercâmbio entre os dois países, durante o CONSEGI 2013, deverá contribuir para estreitar nossas relações nas áreas de software aberto e governo eletrônico, além de reafirmar a parceria e o apoio mútuo em relação aos constantes e significativos desafios para o contínuo desenvolvimento de sociedades da informação cada vez mais inclusivas e transparentes. Pode-se argumentar que a promoção do código aberto, além de oferecer soluções importantes para questões de segurança dos 12

14 Introdução dados, tem o condão de favorecer o aparecimento de tecnologias autóctones e de uma maior variedade de soluções de sistemas, bem como a formação de uma comunidade colaborativa e engajada. Do ponto de vista da estratégia governamental de promoção do desenvolvimento econômico e social, o apoio ao software aberto apresenta-se, portanto, particularmente interessante, não apenas para o avanço das ferramentas e serviços públicos disponibilizados por meio do governo eletrônico, mas, também, pelas oportunidades que proporciona para a afirmação da autonomia tecnológica e para a exploração de possibilidades de cooperação Sul-Sul. Por esses motivos, o Itamaraty tem renovada satisfação e orgulho em colaborar com o SERPRO na organização do CONSEGI Os debates sobre a portabilidade entre dispositivos móveis, a colaboração no ambiente do software livre e a relação entre os serviços eletrônicos de governo e a interoperabilidade compõem um mosaico, em que o traço comum é o espírito colaborativo. Todos esses temas serão desenvolvidos nas páginas a seguir, em antecipação aos estimulantes debates que certamente terão lugar ao longo dos três dias desta sexta edição do Congresso. Benedicto Fonseca Filho Diretor do Departamento de Temas Científicos e Tecnológicos Ministério das Relações Exteriores 13

15

16 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Alisson Wilker Andrade 1 Marlon Carvalho 2 Serge Rehem 3 Rodrigo Hjort 4 Ronaldo Agra 5 Viviane Malheiros 6 1 <alisson-wilker.silva@serpro.gov.br>. 2 <marlon.carvalho@serpro.gov.br>. 3 <serge.rehem@serpro.gov.br>. 4 <rodrigo.hjort@serpro.gov.br>. 5 <jose-ronaldo.souza@serpro.gov.br>. 6 <viviane.malheiros@serpro.gov.br>.

17

18 1. Introdução O mercado de mobilidade tem crescido bastante nos últimos anos. Segundo informações do Business Insider 7, as vendas globais anuais de tablets cresceram de zero a mais de 100 milhões de unidades entre 2009 e 2012 e as de smartphones ascenderam de zero a mais de 600 milhões de unidades entre 2007 e Enquanto isso, as vendas de computadores pessoais e corporativos têm se mostrado estáveis, com pouco menos de 200 milhões de unidades anuais cada, desde Com previsão de que as vendas de tablets e smartphones cheguem a 1,25 milhão em , esse crescimento de dispositivos móveis no mercado atraiu a atenção de pequenas, médias e grandes empresas. Em especial, esses números também têm atraído investidores para diversas start-ups que apresentam inovações em mobilidade. A Apple teve um papel fundamental na aceleração do crescimento da indústria de mobilidade com a criação do iphone, em 2007, e do ipad, em Esses aparelhos introduziram um novo conceito de dispositivos móveis que trazem para as mãos do usuário o poder de processamento de computadores portáteis 7 Mobile is eating the world, Business Insider. Disponível em: < Acesso em: 18/06/ Idem. 17

19 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto junto com vários recursos, administrados pelo sistema operacional, como: bússola, GPS, câmera e acelerômetro. É importante observar que a computação portátil não é recente, pois teve início nos anos 80, com o advento do palmtop ou PDA (Personal Digital Assistant), tendo participação de players como HP, Palm, IBM, Nokia e inclusive Apple 9. Todavia, a grande adoção dos smartphones a partir de 2007 culminou com a obsolescência dos palmtops. Aplicativos para os dispositivos móveis são construídos por diversos desenvolvedores ao redor do mundo. O conjunto de software e hardware dos smartphones e tablets é o que se chama de plataforma móvel. Depois da grande contribuição da Apple, surgiram vários outros aparelhos e outras plataformas móveis concorrentes. Em especial, a Google destacou-se com o lançamento da plataforma Android, que possibilitou a qualquer fabricante criar seus aparelhos sem se preocupar com o desenvolvimento de um sistema operacional próprio. Utilizando essa plataforma em seus dispositivos, a Samsung também cresceu e destaca-se com mais do que o dobro do mercado de dispositivos móveis em relação à Apple no primeiro trimestre de Outras plataformas móveis importantes que surgiram nesse período são: (i) o Windows Phone e o Windows 8 da Microsoft, que operam principalmente nos dispositivos da fabricante Nokia; e (ii) o BlackBerry OS da BlackBerry, que renovou o seu sistema operacional para adaptar-se a novos recursos de smartphones e também lançou aparelhos do tipo tablet. Nesse mesmo tempo, outras plataformas tiveram sua fatia reduzida e 9 Personal digital assistant, Wikipedia. Disponível em: < assistant>. Acesso em: 24/06/ Mobile is eating the world, Business Insider. Disponível em: < Acesso em: 18/06/

20 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto foram simplesmente descontinuadas, tais como Nokia Symbian 11 e Samsung Bada OS 12. O mercado de mobilidade está fragmentado em, pelo menos, quatro plataformas significativas: Android, ios, Windows Phone/ Windows 8 e BlackBerry. Se, por um lado, esta diversidade tem o benefício de trazer opções para os consumidores e aumentar a concorrência entre os fornecedores, por outro, ela gera para as empresas desafios técnicos e operacionais relacionados à portabilidade. No contexto da informática, a portabilidade de um programa de computador refere-se à característica das aplicações serem executáveis (ou facilmente recompiladas) em outras plataformas além daquela de origem 13. No contexto da mobilidade, além deste aspecto a diversidade de tamanho de dispositivos também precisa ser considerada. Com o intuito de diminuir o impacto desta diversidade e das questões associadas à portabilidade propriamente dita, surgiram no mercado soluções para desenvolver o aplicativo móvel uma única vez e distribuí-lo para diversas plataformas e para diferentes formatos de dispositivos. Este artigo discute as alternativas para o desenvolvimento multiplataforma e multidispositivos e apresenta os resultados de uma observação empírica do desenvolvimento de uma solução multiplataforma para Android e ios. O artigo está estruturado da seguinte forma: na Seção 2 são discutidas as características e tecnologias para o desenvolvimento multiplataforma e uma 11 Nokia Confirms The PureView Was Officially The Last Symbian Phone, TechCrunch. Disponível em: < Acesso em: 24/06/ Samsung may discontinue Bada platform by mid-2013, Tech2. Disponível em: < news/smartphones/samsung-may-discontinue-bada-platform-by-mid2013/303262>. Acesso em: 24/06/ Portabilidade (informática), Wikipedia. Disponível em: < %28inform%C3%Altica%29>. Acesso em: 21/06/

21 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto comparação ponto a ponto entre um aplicativo desenvolvido de forma nativa e de forma portável; na Seção 3 são apresentadas técnicas e tecnologias para adaptar o conteúdo da aplicação móvel às características do dispositivo; na Seção 4 são apresentadas as considerações finais. 2. Desenvolvimento multiplataforma para dispositivos móveis O desenvolvimento de aplicações para dispositivos móveis pode ser realizado de três formas: (I) com construção de aplicações nativas, (II) com construção de conteúdo web adaptável ou (III) com construção de aplicações híbridas. Essas três arquiteturas de aplicações foram detalhadas em Consegi 2012 Inovando Serviços com Mobilidade Digital 14, em que se discutiu vantagens e desvantagens de cada uma delas. No mesmo artigo, foi apresentado também um fluxo básico para escolha da melhor arquitetura, com base nas características da demanda e no uso esperado da aplicação. Em resumo, a construção de aplicações nativas utiliza ferramentas e linguagens de programação específicas de cada plataforma. Por exemplo, a construção de uma aplicação para Android utiliza a linguagem de programação Java, o kit de desenvolvimento Android SDK e o ambiente de desenvolvimento Android Studio. Já o desenvolvimento de aplicações para ios requer o uso da linguagem Objective-C, do ios SDK e do ambiente de desenvolvimento Xcode. Dessa forma, cada desenvolvimento de aplicação nativa é especializado para uma plataforma, resultando em manutenção de códigos e capacitação de equipes específicas. O desenvolvimento nativo é interessante para explorar a experiência de uso numa 14 Mobilidade digital aplicada ao governo brasileiro, ANDRADE, Alisson et al. Em anais do Consegi 2012 Inovando Serviços com Mobilidade Digital. ISBN Fundação Alexandre Gusmão, Brasília, DF, pp

22 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto plataforma e para um público-alvo específico, o que geralmente significa uma melhor integração com os recursos da plataforma e uma maior aceitação dos usuários 15. Por outro lado, manter uma equipe focada em cada plataforma e manter códigos distintos pode elevar consideravelmente o custo e o tempo de produção. A construção de conteúdo web adaptável para dispositivos móveis é uma arquitetura que requer um único desenvolvimento. Isto porque o conteúdo web construído de acordo com as especificações da W3C 16 para HTML, JavaScript e CSS possui boa chance de executar sem problemas nos principais navegadores. Por conteúdo web adaptável, leia-se um conteúdo web que se adapta ao contexto em que está sendo executado: (i) navegador móvel ou de computador de mesa, (ii) tela de baixa, média ou alta resolução, etc. Além de ser mais econômico por requerer apenas uma equipe de desenvolvimento e a manutenção de um único código, essa alternativa é mais versátil, uma vez que o mesmo conteúdo web pode ser utilizado tanto em dispositivos móveis como em computadores de mesa. Isto pode ser obtido pelo uso de técnicas de design responsivo (Seção 3) e também pelo uso de bibliotecas para desenvolvimento web multiplataforma como o jquery Mobile 17, que abstraem as especificidades de cada plataforma para o desenvolvedor. Porém, o conteúdo web multiplataforma não possui integração com os componentes visuais nativos de cada plataforma e também possui limitações de performance e de uso dos recursos do dispositivo (como bússola, câmera, GPS, acelerômetro). Isso pode levar a uma experiência de usuário mais limitada e a uma necessidade maior de conexão com a Internet, visto que a interface e as regras de negócio são inicialmente carregadas de um servidor remoto. 15 Idem. 16 W3C, W3C. Disponível em: < Acesso em: 13/06/ jquery Mobile, jquery Foundation. Disponível em: < Acesso em: 13/06/

23 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Como meio-termo entre o desenvolvimento de aplicações nativas e o conteúdo web adaptável, a terceira arquitetura é a de construção de aplicações híbridas. Nesse caso, temos a construção de conteúdo web empacotado em uma aplicação nativa, obtendo, assim, o melhor de cada uma das outras duas arquiteturas. Ou seja, é possível desenvolver e manter um único código escrito com tecnologia web (HTML, JavaScript e CSS) e, ao mesmo tempo, utilizar os recursos nativos do dispositivo. Como o conteúdo da interface é web, não há integração visual da interface da aplicação com os componentes visuais nativos da plataforma. Porém, é possível utilizar estilos CSS e bibliotecas de interface como o jquery Mobile, por exemplo, para aproximar o componente visual web do estilo dos componentes visuais nativos. Além disso, como a aplicação é embarcada como nativa, é mais fácil disponibilizar conteúdo off-line, requerendo menos conectividade com a Internet para usar a aplicação. Para esse tipo de arquitetura, existem frameworks, como o Apache Cordova 18, que facilitam o empacotamento do conteúdo web para cada plataforma e viabilizam a utilização dos recursos nativos do dispositivo. Tendo em vista as três possibilidades apresentadas, uma decisão importante a ser tomada no início do desenvolvimento de uma aplicação para dispositivos móveis é a arquitetura a ser adotada. Considerando que a opção web normalmente é utilizada apenas para a adaptação de portais e sítios já existentes à mobilidade e não é eficiente para o uso de recursos como câmera, acelerômetro, entre outros; na maioria das vezes, essa decisão passa por escolher entre aplicação nativa ou híbrida. Cada uma destas arquiteturas tem suas vantagens e desvantagens, conforme será discutido na Seção 2.2, que apresenta um comparativo entre 18 Apache Cordova, Apache Foundation. Disponível em: < Acesso em: 13/06/

24 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto aspectos técnicos e não técnicos do desenvolvimento de uma mesma aplicação construída em ambas as arquiteturas (nativa e híbrida). Além disso, como a interface de uma aplicação híbrida, em geral, é construída com HTML e CSS, podem ser utilizadas técnicas de design responsivo para adaptar a interface a diferentes características do dispositivo que a executa, como os diferentes tamanhos de tela, por exemplo. Essa discussão é apresentada na Seção Tecnologias para desenvolvimento multiplataforma O desenvolvimento multiplataforma é realizado usando tecnologias diferentes daquelas empregadas no desenvolvimento para uma plataforma específica. Essas tecnologias abstraem as especificidades de cada plataforma, provendo um conjunto de componentes e APIs genéricos. Esses componentes e APIs executam em cada plataforma com as devidas adaptações, a fim de fornecer uma experiência de uso similar ao que é observado em uma aplicação nativa. A seguir, são apresentadas algumas dessas tecnologias. O framework jquery Mobile O jquery Mobile é um framework para desenvolvimento de conteúdo web adaptado à navegação através de telas sensíveis ao toque e de tamanho restrito, o que é o caso de muitos smartphones e tablets. Ele é construído a partir de outro framework de desenvolvimento web muito popular, o jquery 19. Ambos os frameworks são desenvolvidos e mantidos pela The jquery Foundation e estão disponíveis sob licença MIT License. O jquery Mobile, atualmente disponível na versão 1.3.1, é compatível com a versão do jquery. Nesta versão, o 19 jquery, jquery Foundation. Disponível em: < Acesso em: 13/06/

25 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto jquery Mobile disponibiliza diversos componentes visuais (widgets), como botões, caixas de verificação, listas, caixas de diálogo, caixas de texto e barras de navegação, entre outros, todos adaptados à navegação através do toque. Todos esses elementos são compatíveis com os padrões de tecnologia web da W3C, especialmente com HTML5 20 e CSS3 21. Dessa forma, qualquer navegador web atual que suporta esses padrões é capaz de renderizar corretamente os componentes visuais do jquery Mobile, mesmo os navegadores web para desktop. O jquery Mobile atual suporta uma ampla gama de plataformas. Entre elas estão: Android 22, ios 23, Windows Phone 24, BlackBerry 25, WebOS 26, Tizen 27, Bada 28 e Meego 29. Além disso, vários navegadores desktop e móveis como Firefox, Chrome, Opera, Safari e Internet Explorer também são suportados. Essa grande variedade de plataformas e navegadores suportados significa que, em geral, o desenvolvedor do conteúdo web não precisa se preocupar com a plataforma específica em que o seu código será executado, visto que o jquery Mobile abstrai essa questão, realizando os devidos testes e adaptando o conteúdo à plataforma específica em tempo de execução. Esse fato reduz bastante o tempo de desenvolvimento e manutenção e, por conseguinte, os custos de produção. 20 HTML 5, W3C. Disponível em: < Acesso em: 13/06/ CSS 3, W3C. Disponível em: < Acesso em: 13/06/ Android, Google. Disponível em: < Acesso em: 19/06/ ios, Apple. Disponível em: < Acesso em: 19/06/ Windows Phone, Microsoft. Disponível em: < Acesso em: 19/06/ BlackBerry OS, BlackBerry. Disponível em: < blackberry-7-os.html#tab-1>. Acesso em 19/06/ WebOS, Hewlett-Packard. Disponível em: < Acesso em: 19/06/ Tizen, The Linux Foundation. Disponível em: < Acesso em: 19/06/ Bada, Samsung. Disponível em: < Acesso em: 19/06/ Meego, The Linux Foundation. Disponível em: < Acesso em 19/06/

26 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Além dos componentes visuais, o jquery Mobile possui uma API 30 de programação bastante extensa. Através dessa API, é possível realizar diversas operações, como tratar eventos de interação do usuário e executar métodos para navegação entre páginas web, por exemplo. Alguns exemplos de eventos que podem ser tratados pelo jquery Mobile incluem transições de página e criação de componentes visuais, além de todos os eventos comuns de uma página web, como clique, duplo clique, arrastar e soltar, entre outros. O jquery Mobile disponibiliza para o desenvolvedor um conjunto pré-configurado de estilos visuais (temas) que podem ser utilizados no conteúdo web. Esses estilos são baseados nas características visuais dos componentes das principais plataformas, como Android e ios. Porém, se o desenvolvedor precisar criar um estilo próprio, seja por conveniência ou por interesse do cliente/ usuário, o jquery Mobile também permite a personalização de temas. Isto pode ser feito de forma muito simples através de uma aplicação web disponível no site do framework chamada Theme Roller 31. Com essa ferramenta é possível alterar os estilos pré- -configurados do jquery Mobile ou criar um estilo completamente novo. O jquery Mobile é composto por três tipos de conteúdo: JavaScript, CSS e imagens. O JavaScript é responsável por tudo o que é relacionado a comportamento, enquanto que o CSS e as imagens são responsáveis pelo estilo visual do conteúdo web. Para utilizar o jquery Mobile, basta colocar esse conteúdo em um local acessível e referenciá-lo nas páginas HTML. Além do jquery Mobile, é necessário também importar o framework base jquery. 30 Application Programming Interface, do acrônimo inglês. 31 Theme Roller, jquery Foundation. Disponível em: < Acesso em: 13/06/

27 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto O framework Cordova O Cordova é um framework que permite empacotar conteúdo web com características de aplicação nativa. Apenas a casca de aplicação nativa é específica para cada plataforma e, por isso, o ambiente de desenvolvimento de cada plataforma ainda é necessário para desenvolver aplicações híbridas. Porém, a maior parte da aplicação é escrita utilizando tecnologia web padrão W3C, o que facilita bastante a construção e a manutenção do código, além de diminuir os custos de produção. O Cordova é a versão software livre de um projeto da Adobe Systems Inc. chamado PhoneGap 32. O projeto Cordova é mantido pela Apache Software Foundation e distribuído sob a licença Apache License, versão 2.0. Atualmente na versão 2.8.0, o Cordova possui compatibilidade com uma ampla gama de plataformas: Android, Bada, BlackBerry, ios, Mac OS X, QT, Tizen, WebOS, Windows e Windows Phone. Na prática, a aplicação nativa gerada pelo Cordova é apenas um contêiner que interpreta conteúdo HTML, JavaScript e CSS, de forma similar ao que um navegador web comum faz, exceto pelo fato de não possuir barra de endereço ou histórico de navegação, por exemplo. Dessa forma, não existe nenhuma transformação ou geração de código a partir do conteúdo web, que é executado de forma interpretada no dispositivo móvel. O Cordova também disponibiliza uma API para acesso aos diversos recursos nativos do dispositivo. Na versão 2.8.0, o Cordova suporta, entre outros, os recursos de acelerômetro, câmera, bússola, contatos, arquivos, GPS, banco de dados e globalização. Todos esses recursos da API podem ser invocados através do código JavaScript da aplicação de forma independente da plataforma, ou seja, 32 PhoneGap, Adobe Inc. Disponível em: < Acesso em: 13/06/

28 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto sem necessidade de escrever código em linguagem nativa. Dessa forma, a aplicação mantém sua característica de multiplataforma, possibilitando que o mesmo código possa ser distribuído para qualquer plataforma suportada. Para isso, basta que seja criado um novo empacotamento para a plataforma alvo usando o conteúdo web padrão da aplicação. O Cordova não é um ambiente integrado de desenvolvimento (IDE). Assim, para utilizá-lo, deve-se escolher uma plataforma inicial para o desenvolvimento, o que significa adotar a IDE padrão dessa plataforma. Assim, se a plataforma escolhida como base for o Android, será utilizado o Android Studio como ambiente de desenvolvimento. Os ambientes das outras plataformas serão montados e utilizados sob demanda apenas para testes específicos de funcionalidades nessas outras plataformas. Porém, caso o desenvolvimento seja realizado por uma equipe cujos membros possuem especialidades diversas (Android, ios, Windows Phone, ), cada membro pode montar e trabalhar no ambiente da plataforma que se sentir mais confortável, sincronizando o código do conteúdo web em um repositório comum, independente de plataforma. Nesse caso, é possível testar em várias plataformas à medida que o código web comum evolui Comparação entre aplicações híbridas e nativas Para subsidiar uma tomada de decisão em relação ao desenvolvimento nativo ou híbrido, uma análise englobando aspectos técnicos e não técnicos foi conduzida e será apresentada na seção seguinte. Para realizar essa análise, foi implementada uma mesma aplicação em plataforma nativa (Android e ios) e em multiplataforma. O desenvolvimento multiplataforma foi realizado com os frameworks Cordova e jquery Mobile, apresentados na Seção

29 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Os aspectos técnicos considerados na avaliação dos dois tipos de desenvolvimento foram: (i) desempenho (performance) nas transições de tela e rolagens de lista, (ii) tamanho do arquivo executável da aplicação, (iii) integração visual da aplicação com a plataforma, (iv) acesso a banco de dados e API de persistência, (v) API de chamada a serviços e transferência de arquivos, (vi) facilidade de acesso a recursos do dispositivo e (vii) licença para uso comercial. A Tabela 1 apresenta o comparativo desses aspectos em arquitetura híbrida e nativa para uma mesma aplicação. Tabela 1: Comparação dos aspectos técnicos entre arquiteturas nativa e híbrida para uma mesma aplicação (continua) Aspecto Desenvolvimento Nativo Cordova Considerações Performance (desempenho) Na comparação com abordagens híbridas o desenvolvimento nativo sempre apresentou uma melhor performance. Em um âmbito geral, aplicativos desenvolvidos com Cordova tendem a ter um desempenho menor quando comparados a um nativo. Contudo, este desempenho menor não é sempre perceptível. Aplicativos feitos em Cordova e que são bem estruturados e desenvolvidos podem passar despercebidos para usuários leigos. Verificou-se alguns pontos de lentidão nos aplicativos em Cordova. A abertura do aplicativo, por exemplo, é perceptivelmente mais lenta. A interação do usuário com os elementos de tela também demonstra uma lentidão maior. A escolha da abordagem deve balancear necessidades de alta performance com o requisito multiplataforma. Pode ser necessário abrir mão de recursos mais avançados (por exemplo, muitas animações) em favor de uma aplicação mais simples que possa ser utilizada por diferentes dispositivos. 28

30 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Tabela 1: Comparação dos aspectos técnicos entre arquiteturas nativa e híbrida para uma mesma aplicação (continuação) Aspecto Desenvolvimento Nativo Cordova Considerações Tamanho do Executável Aparência / Efeitos Visuais Os executáveis gerados usando apenas recursos nativos da plataforma tendem a ter um tamanho menor. Neste caso, o tamanho final do executável é influenciado, principalmente, pelo tamanho e qualidade dos recursos utilizados, como imagens, sons e outros. Um Hello World feito em Android possui cerca de 175 KB. No desenvolvimento nativo, todos os recursos de tela, transições e animações estão disponíveis para o desenvolvedor com o melhor desempenho possível para a plataforma. Embora o Cordova também gere um executável nativo da plataforma, deve- -se ter em consideração a adição de bibliotecas JavaScript para a realização de determinadas tarefas. Por exemplo, o jquery Mobile, usado para criar a interface UI, necessita de três arquivos extras. Os arquivos possuem, aproximadamente, os tamanhos de 93 KB, 142 KB e 90 KB, totalizando 325 KB. Um Hello World em Cordova possui cerca de 364 KB. Adicionando a biblioteca do jquery Mobile e estruturando a página inicial para utilizá-lo, o aplicativo fica com cerca de 689 KB. Por utilizar tecnologias como HTML e CSS para a criação da interface, um aplicativo em Cordova não possui uma Interface do Usuário (UI) com aparência nativa da plataforma. É possível, no entanto, customizar imagens e estilos para obter-se uma aparência o mais próxima possível com a nativa de uma plataforma específica. Este aspecto pode ser encarado como uma vantagem ou desvantagem a depender do contexto. No caso de um projeto no qual se requer a UI com aparência e usabilidade mais próxima possível do dispositivo, o Cordova com jquery Mobile mostra-se deficiente. Todos os demais recursos, como animação, transição de telas e outros, são fornecidos por ferramentas como o jquery Mobile. É possível, também, criar ou utilizar plugins para o Cordova, bem como usar os próprios recursos existentes no HTML5, CSS3 e JavaScript para realizar efeitos visuais. O uso inadequado dessas tecnologias, contudo, pode implicar em recursos visuais com baixo desempenho, portanto deve-se ter cuidado ao utilizá-los. Não foram encontradas diferenças significativas nos tamanhos dos executáveis de um projeto em Cordova de outro nativo. As bibliotecas JavaScript extras usadas no desenvolvimento com Cordova não apresentaram tamanho demasiado, de tal forma que torne o executável gerado para esta tecnologia significativamente maior ao que usa somente recursos nativos. A escolha entre uma opção ou outra depende bastante da necessidade de se ter um projeto com aparência e usabilidade nativas. Aplicativos em Cordova terão uma aparência igual em todas as plataformas, fato que pode ser uma vantagem, caso se queira manter um único padrão visual para o aplicativo. Deve-se buscar um padrão visual que seja bem aceito por usuários de diferentes plataformas. 29

31 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Tabela 1: Comparação dos aspectos técnicos entre arquiteturas nativa e híbrida para uma mesma aplicação Aspecto Acesso a banco de dados embarcado Chamada a serviços / Transferência de arquivos Desenvolvimento Nativo Utiliza-se dos bancos de dados fornecidos pela plataforma nativa. Normalmente, essas plataformas utilizam o SQLite. O SQLite é uma solução bastante utilizada e com muitos recursos. Permite a utilização de transações, bancos de dados grandes, entre outras funcionalidades 33. As plataformas nativas não possuem suporte nativo a SOAP. Para o uso com serviços REST não há problemas, uma vez que trata-se de uma conexão HTTP comum. No caso do Android existe a biblioteca ksoap-android, que facilita o consumo de serviços SOAP. Em ios, não foram encontradas bibliotecas para facilitar o acesso a serviços SOAP, portanto há que se ter um maior conhecimento do protocolo para desenvolver a solução. Cordova O Cordova provê uma API baseada na especificação W3C Web SQL Database para manipular um banco de dados embarcado. Na prática, as implementações dessa especificação têm utilizado o SQLite mesmo em navegadores desktop. Porém, a escolha da implementação é uma decisão do navegador e não pode ser garantida 34. Como a maioria das plataformas móveis utiliza o SQLite como banco de dados padrão, é normal que os navegadores móveis acompanhem essa tendência. O Cordova também disponibiliza uma API baseada na especificação W3C Web Storage que permite armazenar informações menos estruturadas (pares de chave e valor). Entretanto, foi observado que na implementação do Cordova para Android essa API também utiliza o banco de dados SQLite. Através do Cordova é possível realizar conexões HTTP para ter acesso a serviços REST e SOAP. Considerações (continuação) Tanto o desenvolvimento nativo como o desenvolvimento híbrido permitem que sejam armazenadas informações locais em banco de dados, inclusive com a possibilidade de criação de índices para melhorar o desempenho de consultas. Um banco de dados SQLite é limitado, teoricamente, ao tamanho de 2 terabytes, embora seja improvável que o sistema de arquivos permita esse tamanho para um único arquivo. Além disso, a capacidade de armazenamento dos dispositivos móveis ainda não chegou a esse volume de dados 35. Em ambos os casos, não existem impedimentos para o uso de serviços SOAP, mas pode haver a necessidade de se desenvolver ou utilizar bibliotecas para facilitar o uso. 33 SQLite, SQLite Consortium. Disponível em: < Acesso em: 13/06/ W3C Web SQL Database, W3C. Disponível em: < Acesso em: 13/06/ Appropriate Uses For SQLite, SQLite Consortium. Disponível em: < html>. Acesso em: 13/06/

32 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Tabela 1: Comparação dos aspectos técnicos entre arquiteturas nativa e híbrida para uma mesma aplicação Aspecto Acesso a recursos nativos Desenvolvimento Nativo Cada plataforma nativa possui recursos que são bastante específicos. Há determinadas funcionalidades no Android, por exemplo, que não existem no ios. Neste caso, uma mesma funcionalidade pode ser desenvolvida usando recursos diferentes em cada plataforma. Cordova Há determinadas funcionalidades disponíveis nativamente nas plataformas que, em muitos casos, não estão disponíveis no Cordova. A lista completa dos recursos disponíveis por plataforma pode ser encontrada na página oficial do Cordova 36. Em Android, por exemplo, não está disponível o acesso a Content Providers, Serviços e Intents a partir do Cordova. Para ter estas funcionalidades faz-se necessário escrever plugins para o Cordova, o que acopla a aplicação a código nativo. Considerações (conclusão) Em casos onde há a necessidade de um grande uso de recursos nativos, como serviços, no caso do Android, deve-se considerar a escolha da plataforma nativa. Caso a abordagem multiplataforma venha a implicar em muita especificidade no código, verificando o que pode ser utilizado em cada plataforma, o desenvolvimento nativo deve ser considerado. Um código-fonte com muitas expressões condicionais pode tornar-se difícil de manter e evoluir. Licença 36 Cada plataforma nativa provê suas próprias licenças, contudo, todas permitem a criação de aplicativos comerciais. A licença do Cordova não impõe limites quanto à criação de aplicativos comerciais. Em ambos os casos, a licença não é um problema para a criação de aplicativos comerciais. A Tabela 2 apresenta a comparação dos aspectos não técnicos relacionados ao desenvolvimento para as arquiteturas híbrida e nativa. Os aspectos não técnicos considerados na comparação foram: (I) custo, esforço e prazo para desenvolvimento em cada arquitetura, (II) restrições para implementação de requisitos de negócio, e (III) necessidades de capacitação nas tecnologias relacionadas. 36 Apache Cordova, Apache Foundation. Disponível em: < Acesso em 13/6/

33 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Tabela 2: Comparação dos aspectos não técnicos entre arquiteturas nativa e híbrida para uma mesma aplicação Aspecto Desenvolvimento Nativo Cordova Considerações Custo /Esforço / Prazo Implementação de requisitos de negócio Capacitação Os mesmos requisitos funcionais devem ser implementados para cada plataforma nativa, portanto esforço, custo e prazo tendem a ser maiores do que no Cordova. Nesse caso, geralmente haverá uma equipe de desenvolvedores especializada em cada plataforma, e cada desenvolvedor deve ter seu ambiente (eventualmente hardware e software específicos) disponível. Sem restrições (semelhante ao desenvolvimento de aplicação desktop). Equipes de desenvolvimento precisam ser capacitadas em cada tecnologia nativa escolhida. No caso do Android, a linguagem Java e o ambiente de desenvolvimento Eclipse já são amplamente utilizados no mercado e na academia. Para o ambiente ios, normalmente é necessário capacitar a equipe na linguagem Objective-C e no ambiente de desenvolvimento integrado (IDE) Xcode. Isso vale para outras plataformas nativas (ex: Windows Phone, BlackBerry, etc), cujas ferramentas e ou tecnologias associadas não são tão bem difundidas no mercado/ academia. A carga horária estimada para um treinamento de Android é de 40h e pressupõe o conhecimento prévio da linguagem Java. Um treinamento de Objective-C/Xcode é estimado entre 36h e 48h. Nesta abordagem, o código- -fonte é desenvolvido apenas uma única vez e executará em todas as plataformas escolhidas dentre as disponíveis. Vale salientar, no entanto, que será necessário preparar builds específicos para cada plataforma, o que pressupõe a utilização dos equipamentos e ambientes de desenvolvimento exigidos por cada uma delas. Ou seja, basta disponibilizar um ambiente para cada plataforma, em vez de um ambiente para cada desenvolvedor. Sem restrições (semelhante ao desenvolvimento de aplicação web para desktop). Existe alto grau de reaproveitamento do conhecimento em desenvolvimento web. A utilização do Cordova pressupõe o uso dessas tecnologias, adicionando-se o conhecimento específico da API do Cordova, a qual permite a execução de recursos nativos do dispositivo. Pressupondo o conhecimento prévio de HTML e CSS, seria necessário apenas um treinamento de jquery Mobile e Cordova, cuja carga horária normalmente não excederia 16h. Esforço, custo e prazo usando o desenvolvimento nativo tendem a ser maiores do que no Cordova. Caso o desenvolvimento nativo seja escolhido, a estratégia de colocar equipes distintas trabalhando em cada plataforma pode ser considerada, como forma de diminuir o impacto no prazo (aumentando, porém, o custo). O desenvolvimento nativo implica em um maior investimento em capacitação, ainda mais quando a solução precisar ser desenvolvida em mais de uma plataforma nativa. Se o projeto é direcionado a apenas uma plataforma, a decisão deve observar outros aspectos. Se o projeto visa desenvolver para mais de uma plataforma, o Cordova passa a se tornar atrativo. 32

34 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto 3. Adaptando o design ao contexto Além da portabilidade entre plataformas, uma questão importante a ser tratada é a diversidade de dispositivos móveis e, principalmente, o tamanho de tela de tais dispositivos. Devido às limitações de tamanho de tela em relação ao tradicional desktop, recomenda-se que o desenvolvimento de uma aplicação comece pela sua versão móvel 37. Assim, é possível priorizar as principais funcionalidades e partir de uma interface pequena e mais limitada (no dispositivo móvel) para uma maior (em um desktop). Esta abordagem de pensar primeiro o conteúdo para o dispositivo menor é ilustrada na Figura 4, na qual se percebe o aumento de conteúdo disponibilizado à medida que o tamanho da tela aumenta. O trabalho de construção da interface de uma aplicação móvel híbrida é similar ao de um Web Designer ao construir uma página web. E o trabalho deste, por sua vez, não é muito diferente daquele de qualquer outro artista que trabalha com desenhos, ilustrações e tipografia. Em todos os casos, os artistas possuem uma área de trabalho, normalmente conhecida como canvas. Para um pintor, o canvas é o quadro de pintura, enquanto para um ilustrador que cria uma capa de revista, seu canvas é a folha. Da mesma forma, para um Web Designer, o navegador web é sua área de trabalho (seu canvas) 38. Entretanto, diferente de todos os demais, o Web Designer deve conviver com uma incerteza: seu canvas não define um limite, um tamanho mínimo ou padrão. De fato, o Web Designer está à mercê das configurações do navegador utilizado. Durante muito tempo, houve tentativas para vencer esta barreira. A principal consistia em impor algumas restrições. Não era incomum encontrar sítios na internet com as seguintes palavras em seu rodapé: desenvolvido 37 Mobile First, WROBLEWSKI, Luke. ISBN A Book Apart, New York, NY. 38 Responsive Web Design, MARCOTTE, Ethan. Jeffrey Zeldman, New York, NY. 33

35 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto para 800x600. Depois que esta resolução tornou-se ultrapassada, a frase mudou para desenvolvido para 1024x768. Mas, em um mundo no qual a diversidade de dispositivos e de resoluções crescem sem parar, esta tática não é mais viável. Então, como criar um sítio sem restrições de resolução? Como ter um sítio que pode ser visto em qualquer dispositivo, conforme a área disponível para ele? É imprescindível ter em mente que o mesmo sítio poderá ser visto tanto de um tablet como de um smartphone ou desktop. Para transpor este problema, algumas técnicas isoladas foram sugeridas. A junção de algumas delas originou o nome Responsive Web Design, criado por Ethan Marcotte 39. Muito antes deste nome ser criado, entretanto, um expoente do Design para Web, chamado John Allsopp, já havia alertado: o controle que os designers conhecem na mídia impressa, e sempre desejado na web, é simplesmente uma função da limitação da página que será usada para a impressão. Nós devemos abraçar o fato de que a web não tem estas restrições e projetar com base nesta flexibilidade 40. Neste contexto, cabe ao Web Designer projetar páginas que se adaptam ao dispositivo que o está exibindo, no lugar de criar sítios específicos e isolados para cada resolução. As ferramentas para tornar isto possível já existem e são conhecidas: flexible grid, flexible typesetting, flexible media e media queries 41. Tais ferramentas são comentadas nas seções seguintes Tipografia e tabelas flexíveis O primeiro passo para projetar uma página flexível é não usar uma unidade de tamanho que manterá o mesmo aspecto 39 Responsive Web Design, Ethan Marcotte. A Book Apart, New York, NY. 40 A Dao of Web Design, John Allsopp. Disponível em: < Acesso: em 13/06/ Responsive Web Design, MARCOTTE, Ethan. Jeffrey Zeldman, New York, NY. 34

36 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto (ou tamanho absoluto) para fontes e para a área que manterá o conteúdo, independentemente de resolução. Faz-se extremamente necessário definir esses tamanhos usando uma unidade que mude as proporções conforme o dispositivo em que será apresentado o sítio. Neste contexto quando o usuário abrir a página em um tablet ou desktop, esses tamanhos serão ajustados conforme a necessidade. Definir um tamanho fixo para a fonte, por exemplo, significa que o texto pode ser perfeitamente legível em um smartphone, mas o usuário encontrará dificuldades para lê-lo em um desktop. Para definir o tamanho de textos é importante usar a unidade conhecida como em. Esta unidade não define um tamanho absoluto, mas variável, que determina o tamanho real baseado em uma função que usa a fonte padrão do navegador do usuário como argumento. Figura 1: Leiaute de uma página com tamanhos definidos em pixel. É natural que, inicialmente, quando está sendo criado o leiaute da página em um editor gráfico (ver Figura 1), defina-se todos os tamanhos em pixels, incluindo o tamanho das fontes. Isto ocorre porque no editor gráfico tem-se um tamanho fixo de área para 35

37 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto definir o leiaute. Contudo, é imprescindível, quando for traduzir este leiaute para HTML, transformar esta unidade do texto em em (unidade de medida relativa disponível no CSS: 1em é igual ao tamanho padrão do elemento). Para alcançar este objetivo, faz-se necessário adotar uma fórmula conhecida dos web designers: alvo / contexto = resultado. O alvo é o tamanho da fonte definido quando o leiaute foi criado no editor gráfico. Pode-se supor, para fins de exemplificação, que este valor é de 24 pixels. O valor a ser utilizado na variável contexto será 16 e o motivo de usar este valor é que se trata do tamanho padrão usado pelos navegadores para os textos. Neste exemplo, o resultado será 24/16=1.5em, e deve ser definido usando código CSS, conforme demonstrado na Figura 2. Figura 2: Definição de tamanho do texto em CSS. Assim como ocorre com os textos, é necessário definir o próprio leiaute da página usando uma unidade de medida também flexível. Para este caso, entretanto, usamos a unidade de porcentagem. Similar ao que foi adotado no exemplo das fontes, o leiaute criado também estará usando uma medida em pixel e precisará ser transformado para porcentagem. A mesma fórmula será usada. Para a área total do leiaute, pode-se fazer uma regra com a área total da tela em uma resolução de 1024x768 pixels. Caso o leiaute no editor gráfico tenha a largura de 960 pixels, teremos 960/1024 = 93,75%. 36

38 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Para as demais áreas internas que possuem conteúdo, esta mesma regra deve ser adotada, contudo, usando agora a medida de 960 pixels no lugar da variável contexto. Figura 3: Definição de um grid flexível. Neste caso, a Figura 3 exemplifica duas áreas internas do leiaute, na qual há uma área de 620px e outra de 300px. A primeira precisa ser expressa com o valor de 64%, devido ao resultado da fórmula 620/960=0, Adotando esta estratégia para definir o leiaute em HTML, pode-se ter um sítio adaptável ao tamanho da tela em que será exibido. O conteúdo será reajustado para caber na tela. Contudo, ainda são necessárias outras técnicas para tornar este sítio totalmente flexível Mídias flexíveis A portabilidade de imagens e vídeos é outra fonte de preocupação. Uma imagem pode ser de bom tamanho e resolução 37

39 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto para um desktop, mas ruim para visualização em um smartphone. Neste caso, o problema é agravado também pelo tamanho físico da imagem. Para o desktop, ela pode ser grande e ainda assim não causará problemas. Mas, para o smartphone, ser grande significa consumir desnecessariamente dados. Para resolver a questão da resolução da imagem, utiliza-se uma característica do CSS para contornar. Trata-se do atributo max-width. Este atributo é suportado pelos principais navegadores tanto de desktop quanto de dispositivos móveis, entre eles: Chrome, Firefox, Internet Explorer, Opera e Safari 42. Seu funcionamento é bastante simples e facilita o trabalho dos Web Designers. Quando usado em uma tag <img>, ele define que a imagem deve ocupar o tamanho disponível para ela, aumentando e diminuindo conforme ocorrem mudanças no tamanho da janela do navegador. Este atributo também pode ser usado em outras tags que definem mídias, como tags específicas para a exibição de vídeos Media Queries O último ingrediente para criar um sítio totalmente responsivo são as Media Queries. Trata-se de uma característica que surgiu a partir da versão 3 do CSS. Contudo, na versão 2 já existia uma característica muito similar, denominada Media Types. Embora seja possível criar sítios com um bom grau de flexibilidade usando apenas as duas características já citadas nos tópicos anteriores, ainda há um problema que apenas as Media Queries podem tratar: diferentes resoluções e dispositivos impõem organização de leiaute diferente para que a informação esteja bem organizada e fácil de ser acessada. 42 W3C Schools, W3C. Disponível em: < Acesso em: 24/06/

40 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Figura 4: Leiautes diferentes para cada dispositivo. Fonte: adaptado de What is Responsive Design 43. As Media Queries resolvem isso separando pedaços de código CSS específicos para determinadas resoluções. Com isso, é possível definir o que está visível ou não, a disposição dos elementos na tela, quais imagens devem ser exibidas, entre outras muitas possibilidades. A Figura 4 exemplifica um sítio que se adapta, alterando totalmente seu leiaute, para exibir as informações da melhor forma para cada tipo de dispositivo e seu tamanho de tela. Isto é possível adotando o recurso de Media Queries, conforme pode ser visto na Figura 5, que demonstra o uso deste recurso em uma página HTML com CSS. Figura 5: Utilização do recurso de Media Queries. 43 What is Responsive Design. Disponível em: < Acesso em: 24/06/

41 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto 4. Conclusões Esse artigo apresentou algumas características do mercado de mobilidade, destacando a questão da diversidade de plataformas e os desafios que esta impõe às empresas que buscam desenvolver aplicativos para este mercado. Além de questões relacionadas à portabilidade das aplicações, questões relacionadas a variações de tamanho e forma de dispositivos também precisam ser tratadas. Como forma de minimizar o impacto dessa diversidade, algumas alternativas tecnológicas para desenvolvimento multiplataforma foram apresentadas. Essas soluções tecnológicas visam à construção de aplicativos móveis uma única vez, mas que podem ser distribuídos para execução em múltiplas plataformas e em diferentes dispositivos. A primeira solução comentada foi o framework jquery Mobile, que abstrai as especificidades dos navegadores web de cada plataforma, possibilitando a construção de um único conteúdo compatível com uma ampla gama de plataformas. A segunda solução para mobilidade multiplataforma apresentada foi o framework Apache Cordova. Esse framework possibilita a construção de aplicativos móveis híbridos, ou seja, que são construídos com tecnologia web (i.e., HTML, CSS e JavaScript) e são empacotados como aplicativos nativos para cada plataforma. Essa solução amplia as possibilidades de acesso a recursos do dispositivo, como câmera, acelerômetro, bússola, entre outros, e pode ser utilizada em conjunto com frameworks web como o jquery Mobile. Adicionalmente, considerando que para dispositivos móveis, além da portabilidade, a questão da diversidade de telas também é importante, foram apresentadas técnicas para adaptar o conteúdo web a vários contextos (tamanho e resolução de tela, principalmente). Essas técnicas em conjunto correspondem ao que se denomina design responsivo. 40

42 Portabilidade entre dispositivos móveis: aplicações multiplataformas e adaptadas ao contexto Por fim, o artigo discutiu também os resultados de uma observação empírica do desenvolvimento de uma solução multiplataforma Android e ios. Sob diversos critérios estabelecidos, o protótipo multiplataforma foi comparado com o mesmo protótipo desenvolvido como aplicação nativa. A observação indicou que para aplicações mais simples, o desenvolvimento multiplataforma pode ser mais indicado. Esta constatação é muito importante no contexto de desenvolvimento de aplicativos para governo. Isto porque, além da preocupação com a otimização de recursos, é preciso uma preocupação com a diversidade de plataformas que os cidadãos utilizam no país e a importância dos serviços de governo estarem disponíveis para o maior número possível de pessoas. 41

43

44 Colaboração e Software Livre Fabio Kon 44 Carlos D. Santos Centro de Competência em Software Livre, IME-USP. 45 Departamento de Administração, UnB.

45

46 Colaboração e Software Livre A célebre frase escrita por Isaac Newton em suas cartas, Se fui capaz de enxergar mais longe, foi porque estava me apoiando em ombros de gigantes, deriva de uma tradição de vários séculos da ciência. As descobertas científicas e as inovações tecnológicas não são nunca resultado de um trabalho de uma só pessoa. Qualquer nova ideia resulta da união de ideias mais antigas e, quase sempre, da colaboração entre vários indivíduos refletindo e discutindo sobre um determinado assunto em um certo contexto. São raríssimos os casos de grandes cientistas ou inovações tecnológicas surgidas em um ambiente de isolamento a partir de um indivíduo desconectado de uma rede de relacionamentos e colaborações. Os grandes avanços no conhecimento humano foram produzidos por ambientes de grande colaboração em que pensadores puderam compartilhar ideias, discutir, questionar, discordar, refutar e contrapor seus pontos de vista. 1. Colaboração e Ciência Aberta Como forma de maximizar a colaboração em ciência em escala planetária, a ideia de que os resultados da pesquisa financiada com dinheiro público devem ser disseminados amplamente de forma aberta está ganhando cada vez mais força na comunidade científica internacional. Algumas das principais universidades do planeta, tais como MIT e Harvard, governos, tais como os dos EUA e da Inglaterra e agências de fomento, tais como FAPESP, European Commission Commission e NSF, têm começado a incentivar 45

47 Colaboração e Software Livre explicitamente a Ciência Aberta (Open Science). No entanto, em algumas áreas, ainda existe uma forte resistência de grupos de pesquisa acostumados a esconder os seus dados e procedimentos de trabalho. Em alguns casos, o segredo é buscar uma forma de vantagem comercial o que, dependendo do contexto, não é necessariamente uma má prática, às vezes é uma imposição dos financiadores da pesquisa. Em outros casos menos nobres, é uma forma de evitar críticas e esconder possíveis fragilidades do trabalho. Finalmente, em muitos casos, as informações deixam de ser disponibilizadas de forma aberta simplesmente por inércia e falta de uma cultura de abertura e compartilhamento. Os três pilares da Ciência Aberta que permitem aumentar a intensidade e a qualidade da colaboração entre grupos de pesquisa são: 46 Acesso aberto, i.e., as descobertas científicas devem ser publicadas em artigos de acesso aberto de forma que qualquer interessado, em qualquer país, tenha acesso imediato e irrestrito. Uma forma de viabilizar isso é através de revistas de acesso aberto onde os artigos podem ser obtidos gratuitamente através de portais web acessíveis a todos. Dados abertos. É fundamental que os grupos que desejem fazer ciência de alta qualidade divulguem de forma aberta os dados que utilizaram para realizar os seus experimentos ou análises. Open Data não significa somente disponibilizar centenas de megabytes em um sítio web qualquer, mas também oferecer metadados e documentação de boa qualidade utilizando, sempre que possível, padrões internacionais de codificação de informação, facilitando a reutilização dos dados por terceiros. Dessa forma é possível garantir a reprodutibilidade dos experimentos e das análises científicas e permitir a colaboração efetiva entre grupos espalhados pelo globo.

48 Colaboração e Software Livre Ferramentas abertas. As ferramentas de processamento dos dados (abertos), que são utilizadas para filtragem, consolidação, análise e visualização da informação, devem ser disponibilizadas como software livre, ou seja, um software com código-fonte distribuído segundo uma licença aprovada pela Open Source Initiative (OSI) ou Free Software Foundation (FSF), preferencialmente sob uma das licenças populares listadas em < 2. Colaboração e o avanço da Computação Voltando nossas atenções à evolução da Ciência da Computação e da Tecnologia da Informação nos últimos 80 anos, vemos que a quase totalidade dos grandes avanços originaram-se em ambientes de trabalho altamente colaborativos. Alan Turing, o pai da Ciência da Computação, era um indivíduo introvertido e que formulou parte de suas revolucionárias teorias trabalhando horas a fio em suas notas pessoais. No entanto, ele era uma figura muito querida por seus colegas e que se beneficiou enormemente pelos ambientes de forte colaboração intelectual por quais passou, a partir da década de 1930, incluindo King s College, Cambridge, Princeton University e Bletchley Park. Suas colaborações nestas instituições formaram a base para a ciência e tecnologia da computação que temos hoje. Também na década de 1930, Bill Hewlett e Dave Packard formaram-se na Universidade de Stanford e criaram uma empresa numa pequena garagem de Palo Alto, Califórnia, sob a orientação e tutoria de Frederick Terman, professor de Stanford. Ao redor dessa empresa, posteriormente conhecida como Hewlett-Packard, ou simplesmente HP, formou-se um aglomerado de pequenas, médias e grande empresas e laboratórios de pesquisa, hoje conhecido como Vale do Silício. A proximidade física de milhares de pessoas 47

49 Colaboração e Software Livre compartilhando informações, trocando ideias, cooperando e competindo, ou seja, trabalhando colaborativamente em torno de inovação tecnológica, levou ao ambiente mais prolífico para inovação em TI que se tem notícia. Essa colaboração atingiu um nível de inovação sem precedentes em toda a história da Computação quando um grupo de cientistas e técnicos se reuniu no Vale do Silício dentro do XEROX Palo Alto Research Center (PARC). No PARC, entre 1970 e 1996, foram inventados nada menos que o mouse, a interface gráfica, o sistema de janelas, a rede Ethernet, a impressora laser, o editor de textos WYSIWYG, a linguagem orientada a objetos Smalltalk, o padrão MVC de arquitetura de software interativo e a programação orientada a aspectos, entre muitas outras inovações. 3. Colaboração e Software Livre Com a popularização da Internet a partir da década de 1990, o alto nível de colaboração diário que antes só podia ser encontrado em lugares fisicamente definidos, como Bletchley Park, o Vale do Silício ou o XEROX PARC, passou a ser viável no mundo virtual da teia global (Wasserman, 2011). Ao identificar as dificuldades de colaboração que o software restrito e fechado começavam a trazer ao mundo da tecnologia, Richard Stallman funda, em 1983, o projeto GNU e, logo em seguida, desenvolve a ideia do Software Livre. Sua proposta era utilizar o trabalho voluntário de centenas de programadores ao redor do globo para colaborativamente construir um sistema computacional completo incluindo todos os componentes, desde o núcleo do sistema operacional até suas bibliotecas, ferramentas e aplicativos. Um dos primeiros programas de sucesso desenvolvido nesse modelo foi o editor de texto Emacs, um poderoso programa 48

50 Colaboração e Software Livre extensível e configurável desenvolvido pelo próprio Richard Stallman. Utilizando a metáfora proposta por Eric Raymond (1997), dizemos que o Emacs foi desenvolvido por meio de um modelo Catedral de colaboração. Assim como as grandes catedrais góticas europeias, que eram projetadas por um renomado arquiteto que gerenciava todo o seu processo de construção ao longo de vários anos, Stallman foi o grande arquiteto do Emacs, controlando todos os detalhes de sua implementação e definindo os próximos passos do seu desenvolvimento. Já o sistema Linux, por sua vez, nos demonstrou que outro modelo de colaboração, mais aberto e caótico, poderia também levar a resultados poderosos e de alta qualidade. O Linux foi desenvolvido no modelo Bazar (Eric Raymond, 1997). Linus Torvalds liberou o seu código na Internet em 1991 e convidou programadores de todo o mundo a colaborarem com o seu desenvolvimento. No ano seguinte, Torvalds transformou o Linux em software livre associando a ele a licença GPL. A partir daí, uma grande rede de colaboração internacional composta por milhares de programadores e usuários emergiu e, sob a liderança do ditador benevolente Linus Torvalds, auto-organizou-se e formou um ecossistema de colaboração internacional que levou à criação de um dos sistemas operacionais mais robustos e sofisticados da atualidade, o sistema GNU/Linux. No mundo do GNU/Linux, milhares de voluntários e profissionais de empresas trabalham sem um plano global definido e sem uma hierarquia organizacional rígida, a organização do projeto é muito bem estruturada, mas segue um modelo diferente daquele encontrado nas corporações tradicionais. Milhares de melhorias ao sistema são desenvolvidas todos os meses e algumas delas são incorporadas ao núcleo central do sistema após a aprovação de Torvalds ou de alguém designado por ele. Esse modelo de bazar funciona como uma feira livre onde todos têm o direito de questionar os rumos do projeto e 49

51 Colaboração e Software Livre apresentar novas soluções. A partir dessa comunidade vibrante e caótica, pessoas-chaves da comunidade são incumbidas de identificar os focos de inovação mais interessantes e incorporá-las ao núcleo do sistema. A partir de 2000, criou-se uma ONG, a Linux Foundation, com o intuito de promover, proteger e padronizar o desenvolvimento do Linux garantindo que a evolução do sistema não dependa unicamente de Linus, seu criador. Simon Phipps, presidente da Open Source Initiative (OSI), descreve esse modelo de colaboração como uma estrutura em camadas conforme ilustrado na Figura 1. No núcleo do modelo temos o Free Software Commons, ou seja, o conhecimento compartilhado por toda a comunidade, normalmente, sob a forma de software livre e documentação aberta. Em seguida, temos uma camada de codesenvolvedores que atuam diretamente no desenvolvimento do software, possuem permissão para realizar commits diretamente em um repositório de código-fonte e têm a autonomia para decidir os rumos de um projeto específico e decidir qual contribuição da comunidade mais externa deve ser aceita ou não; tipicamente o número de codesenvolvedores centrais de um projeto varia entre um e uma dezena. Depois, temos a camada de codesenvolvedores de extensões, que pode variar entre algumas dezenas até centenas de programadores nos projetos maiores. Essa camada é composta por indivíduos capazes de compreender o código-fonte do projeto e implementar extensões, plug-ins, melhorias, localização, etc. Em seguida, temos uma camada ainda maior de implantadores-desenvolvedores, que são profissionais ou usuários que instalam e utilizam o software em suas organizações (empresas, universidades, órgãos públicos, etc.) ou para fins pessoais. Normalmente, são pessoas com um bom conhecimento de TI e, portanto, capazes de escrever pequenos trechos de código com melhorias específicas ou consertos de erros e fornecer informações técnicas relevantes para as camadas mais internas 50

52 Colaboração e Software Livre do modelo de forma a aprimorar o software. Finalmente, na camada mais externa, aparecem os usuários finais que, em grandes projetos, podem chegar a milhares ou até milhões de indivíduos que também contribuem ao projeto fornecendo um feedback sobre os pontos fortes e fracos do programa, eventuais defeitos e também solicitações de novas funcionalidades. Figura 1. Camadas de uma comunidade de colaboração em Software Livre 51

53 Colaboração e Software Livre 4. Repositórios de Software, Dados e Artigos O conhecimento, ou a fonte para seu surgimento e aprimoramento, se materializa em diversos artefatos na Internet. Artigos, aplicativos e bases de dados são algumas das principais materializações encontradas. Esses artefatos do conhecimento estão disponíveis em variações de flexibilidade para a evolução colaborativa, ou seja, alguns têm permissão de escrita enquanto outros não têm nem de leitura (gratuita). Quando o primeiro autor opta por liberar o aparecimento e incorporação de coautores habilitar a escrita no artefato ele se torna um common, ou bem público, disponível em repositórios equipados com ferramentas que dão suporte ao seu aprimoramento compartilhado, assíncrono e regulado por normas técnicas e valores culturais. A utilização de repositórios pelos criadores de bens públicos oferece a eles uma opção de baixo custo para encontrar coautores e usuários. Ferramentas básicas de comunicação (e de memória dessa comunicação) estão disponíveis e a popularidade do repositório acaba se refletindo na imagem do artefato, que passa a poder ser encontrado por meio de buscas. Entre os serviços criados para atender essa demanda por suporte ao desenvolvimento público de artefatos, os mais populares atualmente são a Wikipedia, para artigos (administrado pela fundação Wikimedia), o SourceForge.net, para software livre (Dice Holdings, S.A.), e as dezenas de repositórios de bases de dados, que podem ser encontrados nas várias áreas de conhecimento, sendo administrados por organizações como o Banco Mundial 46 e o governo brasileiro 47, por exemplo. A praticidade de tal solução e o apelo mercadológico de seu fornecimento revelou a magnitude da intenção de compartilhar da sociedade. 46 < 47 < 52

54 Colaboração e Software Livre Hoje em dia, a Wikipedia hospeda cerca de 12 milhões de artigos 48, o SourceForge mais de 300 mil programas 49 e a Freebase, 39 milhões de tópicos (i.e., entidades) 50. Apesar de enormes, esses números dos repositórios mais populares não representam bem as iniciativas menos comunitárias e amadoras, que são significativas em quantidade e impacto social. Temos importantes repositórios e organizações envolvidas na empreitada de curadoria pública de artefatos tecnológicos. Por exemplo, a fundação Apache possui um portfólio de mais de 100 projetos em um ecossistema que envolve, além dos voluntários, Yahoo!, Microsoft, Facebook, dentre outros 51. Além disso, temos o software público brasileiro do governo federal (com mais de 60 programas), o Java.net com mais de dois mil projetos e os 593 repositórios de bases de dados que podem ser encontrados no Databib 52, um metabuscador hospedado na Universidade de Purdue. Os números impressionam, mas devemos estar atentos ao fato de que a maior parte desses milhões de artefatos não supera os primeiros estágios de desenvolvimento, isto é, não chegam a ser validados e aprimorados ciclicamente em interações sociais de grande escala, podendo assim entrar para o rol de conhecimento duro, científico. Parte desse efeito quase-todos-falham pode ser explicado através de argumentos competitivos, pois não há oferta de mão de obra suficiente para trabalhar no desenvolvimento de todos os artefatos. Mas essa explicação é incompleta, pois nós sabemos que a distribuição de contribuições entre projetos similares, que atendem uma mesma demanda, não é equitativa, e segue um padrão de redução exponencial, ou seja, muitos recebem 48 < 49 < 50 < 51 < 52 < 53

55 Colaboração e Software Livre pouca ou nenhuma contribuição, a quantidade de projetos vai diminuindo a taxas cada vez maiores à medida que a quantidade de contribuições recebidas aumenta e pouquíssimos chegam a recebê- -las em quantidade e qualidade significativas. Para ilustrar esse ponto, obtemos e analisamos todos os projetos do SourceForge em 2008 do tipo banco de dados. A amostra encontrada foi de projetos deste tipo, sendo que apenas 222 destes receberam pelo menos uma contribuição 53. Dentre os 222 projetos ativos 54, quase 120 receberam até 25 contribuições, sendo seguidos por cerca de 35 projetos que receberam aproximadamente 40 contribuições. Na sequência, cerca de 20 projetos receberam até aproximadamente 60 contribuições e o padrão de redução da quantidade de projetos segue de forma contínua, em uma distribuição que se aproxima da exponencial, com a quantidade de projetos diminuindo gradativamente à medida que as contribuições recebidas aumentam (veja Figura 2). Considerando nossas pesquisas anteriores (Santos, Kuk, Kon, Pearson, 2013; Meirelles et al., 2010) e o padrão observado para os projetos de bancos de dados agora relatados, estimamos que algo como 5% do total de projetos criados se tornam bem-sucedidos nos termos discutidos. 53 Contribuições representam a soma das quantidades de erros reportados, requisições de suporte e novas funcionalidades e patches submetidos. 54 Ativos são aqueles projetos que receberam pelo menos uma contribuição ao longo de sua existência no repositório (a média de idade dos projetos da amostra de bancos de dados é de 5,7 anos o mais novo tem 3,4 e o mais velho, 8,2 anos). O total de projetos encontrados no Sourceforge na época da pesquisa foi de Com nossa definição de ativo, a quantidade de projetos passou a apenas

56 Colaboração e Software Livre Figura 2: Distribuição de contribuições recebidas em 222 projetos de software livre ativos do tipo banco de dados Fonte: Amostra obtida do SourceForge.net via SRDA 55. Essa distribuição desigual de contribuições por projetos implica que alguns são mais atrativos do que outros na percepção de quem decide como e onde contribuirá, ainda que dentro de um único domínio de aplicação. Alguns poucos projetos concentram, e atraem, a maior parte das contribuições geradas pela comunidade 55 < 55

57 Colaboração e Software Livre de forma constante, um fenômeno conhecido na teoria de redes como conexão preferencial, seguindo um padrão no qual os ricos tendem a ficar ainda mais ricos (Barabási e Albert, 1999; Santos et al., 2013). 5. Atratividade de Artefatos Digitais O reconhecimento do fenômeno de que poucos recebem muito em esforços colaborativos e abertos torna o entendimento da atratividade do projeto uma atividade relevante do ponto de vista acadêmico-teórico, justificando estudos dos mecanismos causais envolvidos que possam gerar assim conhecimento gerencial aplicável (Santos Jr., 2010). Esse conhecimento, apesar de ter sido e estar sendo desenvolvido no contexto dos projetos de software, tem seu arcabouço teórico considerado válido analogicamente para contextos similares, como o da produção coletiva de artigos (p.ex., Wikipedia) ou de qualquer outro artefato digital aberto (Santos et al., 2013). Com isso em mente, podemos avançar à análise dos fatores influenciadores da atratividade de projetos de software livre. No entanto, é importante salientar que, nesta parte, não focaremos em fatores como disponibilidade financeira para campanhas publicitárias e contratação de mão de obra (i.e., patrocínio), ou constatações estatísticas como a de que navegadores de Internet são mais atrativos do que protocolos (por terem maior audiência). Apesar desses fatores afetarem a atratividade dos projetos, nosso foco é em contribuições espontâneas e, principalmente, em sua distribuição desigual entre projetos que competem diretamente por resolverem um mesmo problema. Dessa forma, apresentamos a seguir os principais fatores que se encaixam em nossos objetivos, ou seja, que possibilitam a diferenciação competitiva entre projetos 56

58 Colaboração e Software Livre através de ação gerencial. Os fatores podem ser divididos em dois grupos: nos relativos ao código-fonte (Meirelles et al., 2010) e à política de propriedade intelectual, ou licença adotada (Stewart e Maruping, 2006; Santos Jr. et al., 2011). Sobre o código-fonte, Meirelles et al. (2010) discutiram as influências que diversas métricas, como complexidade estrutural do código-fonte e quantidade de módulos, têm na atratividade do projeto para os desenvolvedores em potencial. Os resultados indicam que quando desenvolvedores voluntários estão em busca de projetos para experimentar e depois contribuir, eles analisam a estrutura do código-fonte e, se ela estiver complexa e contraintuitiva, preferem continuar suas buscas por software interessante e de fácil entendimento, levando suas contribuições para outros locais (ou mesmo iniciando um novo projeto similar). O zelo e o monitoramento das métricas de código-fonte foram novamente enfatizados por Meirelles (2013), que inclusive desenvolveu o Mezuro 56, uma ferramenta de software livre que visa a apoiar os gestores de projetos de software livre na atividade de controle das características do código de seu projeto, especialmente em comparação com outros projetos similares. A justificativa de tal esforço está centrada no aumento da propensão de sucesso do projeto em termos de aprimoramento contínuo através de contribuições espontâneas da comunidade, o que indiretamente reduz o desperdício de esforço social por evitar a duplicidade de desenvolvimento de soluções de software com objetivos similares. Os impactos da política de propriedade intelectual adotada também têm sido estudados no contexto da difusão e evolução dos projetos de software (Colazo e Fang, 2009; Lerner e Tirole, 2005; 56 < 57

59 Colaboração e Software Livre Sen; Subramaniam e Nelson, 2008). Recentemente, por exemplo, Santos Jr. et al. (2011) focaram nos impactos da mudança da licença escolhida pelo gestor na atratividade, isto é, verificaram se um projeto mudar de licença depois de existir influencia na chance dele ser visitado, encontrar usuários, contribuidores de código- -fonte e reportadores de erros. Os resultados indicam que o efeito existe, especialmente um efeito negativo consistente quando o software deixa de ter uma licença especificada. Alternativamente, de forma positiva em atratividade, o efeito da mudança de licença ocorre de forma mais saliente quando o software passa de uma licença mais restritiva (p.ex., GPL) para uma menos (p.ex., LGPL). Segundo a literatura da área (Santos Jr., 2013; Fershtman e Gandal, 2007), os efeitos da escolha da licença ocorrem devido às restrições que elas impõem nas modificações do original e nos trabalhos derivados daquele software licenciado. O entendimento dessas restrições é então crucial para os criadores de artefatos digitais públicos. Segundo Lerner e Tirole (2005), as licenças podem ser mais bem compreendidas se agrupadas de acordo com as restrições impostas ao software que a utilizam. O nível mais alto de restrição é aquele que contém a mais popular de todas as licenças, a GPL. Esse tipo de licença obriga qualquer modificação do código original ser distribuída como software livre também. Além de restringir as adaptações e aprimoramentos do original, licenças como a GPL obrigam trabalhos derivados, ou seja, código-fonte que utilize software GPL durante a compilação, a serem licenciados como o original. Essas são as características da GPL que a tornaram conhecida como viral, contaminando qualquer aprimoramento do código original e trabalhos derivados como GPL também. Com esses dois mecanismos, os criadores da GPL buscaram garantir o crescimento do modelo livre. Essas licenças altamente restritivas são também conhecidas como de reciprocidade total. 58

60 Colaboração e Software Livre No grupo de licenças menos restritivas, temos a LGPL, que relaxa a segunda restrição da GPL apresentada no parágrafo anterior. Ou seja, software LGPL não obriga trabalhos ligados a ele a serem livres também, apenas que alterações no código- -fonte original, quando distribuídas pelo agora coautor, sejam disponibilizadas conjuntamente com o novo código-fonte. Essas licenças são conhecidas como de reciprocidade parcial. O terceiro tipo de licença relaxa todas as duas restrições apresentadas, possibilitando tanto que alterações do código-fonte original quanto trabalhos derivados não sejam disponibilizados como software livre. Essas licenças são conhecidas como permissivas e alguns de seus conhecidos representantes incluem a BSD, MIT e ASL (Fershtman e Gandal, 2007; Lerner e Tirole, 2005; Sabino e Kon, 2009). A facilidade de integração com software proprietário que as licenças permissivas possuem as tornaram populares entre muitas empresas privadas. A escolha da melhor licença a ser adotada em um novo projeto de software livre não é uma tarefa difícil, mas deve ser efetuada com cuidado e, se possível, com a ajuda de um indivíduo experiente na área. O diagrama que apresentamos na Figura 3 pode servir de guia para tal escolha de forma a maximizar as possibilidades de colaborações e de sucesso do projeto. 59

61 Colaboração e Software Livre Figura 3 - Possível algoritmo para escolha de licença para um novo projeto 60

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução PhoneGap PhoneGap Build GitHub INTRODUÇÃO Aplicativos nativos

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução PhoneGap PhoneGap Build GitHub INTRODUÇÃO Aplicativos nativos É

Leia mais

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva da solução SAP SAP Technology SAP Afaria Objetivos Gestão da mobilidade empresarial como vantagem competitiva Simplifique a gestão de dispositivos e aplicativos Simplifique a gestão de dispositivos e aplicativos

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

TÉCNICAS DE ESTRUTURAÇÃO PARA DESIGN RESPONSIVO: AMPLIANDO A USABILIDADE NO AMBIENTE WEB

TÉCNICAS DE ESTRUTURAÇÃO PARA DESIGN RESPONSIVO: AMPLIANDO A USABILIDADE NO AMBIENTE WEB TÉCNICAS DE ESTRUTURAÇÃO PARA DESIGN RESPONSIVO: AMPLIANDO A USABILIDADE NO AMBIENTE WEB Tiago Volpato 1, Claudete Werner 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagovolpatobr@gmail.com,

Leia mais

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Google Android para Tablets

Google Android para Tablets Google Android para Tablets Aprenda a desenvolver aplicações para o Android De smartphones a tablets Ricardo R. Lecheta Novatec Copyright 2012 Novatec Editora Ltda. Todos os direitos reservados e protegidos

Leia mais

Informações importantes

Informações importantes Informações importantes Genexus Web: Marketing e TI alinhados em Aplicativos para Dispositivos móveis DUAS ÁREAS IMPORTANTES... DOIS AMBIENTES... Mais do nunca, marketing e TI precisam estar alinhados

Leia mais

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito COMPUTADORES NAS EMPRESAS Prof. Reginaldo Brito Os computadores são essenciais para enfrentar o desafio da concorrência global, na qual as empresas precisam ser eficientes e ágeis e tem de produzir produtos

Leia mais

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios DocuWare Mobile ProductInfo Gerenciamento móvel de documentos O DocuWare Mobile permite acessar os gabinetes de arquivo do DocuWare diretamente em seu smartphone ou tablet. Você pode carregar, visualizar

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Serviços de TIC Soluções e demandas

Serviços de TIC Soluções e demandas Serviços de TIC Soluções e demandas Superintendência de Governança Eletrônica e de Tecnologia da Informação e Comunicação (SeTIC/UFSC) 16/07/2015 CSS/SeTIC 1 Agenda SeTIC Apresentação dos serviços, por

Leia mais

Post excerpt to catch readers attention and describe the story in short

Post excerpt to catch readers attention and describe the story in short Post excerpt to catch readers attention and describe the story in short A explosão do número de usuários de smartphones está promovendo uma mudança rápida na cultura de vendas e atendimento aos clientes.

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Guia do usuário do PrintMe Mobile 3.0

Guia do usuário do PrintMe Mobile 3.0 Guia do usuário do PrintMe Mobile 3.0 Visão geral do conteúdo Sobre o PrintMe Mobile Requisitos do sistema Impressão Solução de problemas Sobre o PrintMe Mobile O PrintMe Mobile é uma solução empresarial

Leia mais

!!! Avaliação da Experiência de Uso Mobile. CEF, BB, Itaú e Bradesco

!!! Avaliação da Experiência de Uso Mobile. CEF, BB, Itaú e Bradesco Avaliação da Experiência de Uso Mobile CEF, BB, Itaú e Bradesco 1. Sumário Executivo 2. Resultados 3. Metodologia 4. Reações aos testes 1. Sumário Executivo No Brasil, há uma grande oportunidade para melhorar

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Portal de Dados Abertos elaborado pela Emprel lança iniciativas que aproximam Prefeitura e cidadãos no Recife

Portal de Dados Abertos elaborado pela Emprel lança iniciativas que aproximam Prefeitura e cidadãos no Recife Portal de Dados Abertos elaborado pela Emprel lança iniciativas que aproximam Prefeitura e cidadãos no Recife Perfil A Empresa Municipal de Informática Emprel é uma empresa pública, dotada de personalidade

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Adaptando o Plone para Plataformas Móveis. Fabiano Weimar dos Santos e Giuseppe Romagnoli

Adaptando o Plone para Plataformas Móveis. Fabiano Weimar dos Santos e Giuseppe Romagnoli Adaptando o Plone para Plataformas Móveis Adaptando o Plone para plataformas móveis Adaptando o Plone para plataformas móveis Fabiano FabianoWeimar Weimardos dossantos Santos Os amigos me chamam de Os

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Universal Mobile Ad Package UMAP- v.2.0. Dezembro 2011

Universal Mobile Ad Package UMAP- v.2.0. Dezembro 2011 Universal Mobile Ad Package UMAP- v.2.0 Dezembro 2011 Emitida pela MMA North América Board of Directors SWAT Team e o Comitê Global MMA de Mobile Advertising. Proposta Este conjunto atualizado de diretrizes

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída. 1 Dúvida: - Em relação ao item 1.2 da Seção 2 - Requisitos funcionais, entendemos que a solução proposta poderá funcionar em uma arquitetura Web e que na parte cliente estará apenas o componente de captura

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

Gerencie a força de trabalho móvel, sem a complexidade e o custo de uma instalação on-premise

Gerencie a força de trabalho móvel, sem a complexidade e o custo de uma instalação on-premise de Soluções SAP SAP Afaria, edição para nuvem Objetivos Gerencie a força de trabalho móvel, sem a complexidade e o custo de uma instalação on-premise 2013 SAP AG ou empresa afiliada da SAP. Investimentos

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

MANUAL DO SISTEMA. Versão 1.00

MANUAL DO SISTEMA. Versão 1.00 MANUAL DO SISTEMA Versão 1.00 Considerações Gerais...2 Aquisição MOBILE...3 Ativação do Adicion...3 Entendendo o Integrador WebPav/Mobile...4 Controle de Integração...4 Configurando Mobile no Sistema Adicion...6

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial

Leia mais

Desde que entrou no mercado de smartphones, em 2007, esse é o trunfo da Apple perante a concorrência.

Desde que entrou no mercado de smartphones, em 2007, esse é o trunfo da Apple perante a concorrência. 20/12/2011-07h51 Casamento entre sistema e aparelhos é o trunfo da Apple LEONARDO MARTINS COLABORAÇÃO PARA A FOLHA Apesar da importância cada vez maior do software, o bom casamento entre o sistema operacional

Leia mais

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (Plataformas Sistemas Operacionais e Desenvolvimento) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

PROCESSOS DE CRIAÇÃO DE APLICATIVOS PROCESSOS DE CRIAÇÃO DE APLICATIVOS Joaldo de Carvalho Wesley Oliveira Irlei Rodrigo Ferraciolli da Silva Rodrigo Clemente Thom de Souza INTRODUÇÃO O mundo está dominado pelos dispositivos móveis. A cada

Leia mais

da deusa Athena, da sabedoria na mitologia grega PROPOSTA COMERCIAL Fone: 51 3212.7055 11 4152.8439 WWW.ATHENEUM.COM.BR

da deusa Athena, da sabedoria na mitologia grega PROPOSTA COMERCIAL Fone: 51 3212.7055 11 4152.8439 WWW.ATHENEUM.COM.BR da deusa Athena, da sabedoria na mitologia grega PROPOSTA COMERCIAL Fone: 51 3212.7055 11 4152.8439 WWW.ATHENEUM.COM.BR O ATHENEUM O Atheneum é uma plataforma que possibilita o acesso principalmente de

Leia mais

EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado.

EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado. Nome: Nº Série: EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado. Habilidades: Pesquisar novas ferramentas e aplicativos de informática para a área

Leia mais

Desenvolvimento de Aplicações Móveis: Presente, Passado e Futuro

Desenvolvimento de Aplicações Móveis: Presente, Passado e Futuro Desenvolvimento de Aplicações Móveis: Presente, Passado e Futuro Prof. Gilberto Amado de Azevedo Cysneiros Filho Tecnologia Vestível Tecnologia vestível (wearable technology) são acessórios diretamente

Leia mais

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO www.origy.com.br UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO CARACTERÍSTICAS: E-MAIL IMAP * Acesso simultâneo e centralizado, via aplicativo, webmail e celular/smartphone * Alta capacidade de armazenamento

Leia mais

OneDrive: saiba como usar a nuvem da Microsoft

OneDrive: saiba como usar a nuvem da Microsoft OneDrive: saiba como usar a nuvem da Microsoft O OneDrive é um serviço de armazenamento na nuvem da Microsoft que oferece a opção de guardar até 7 GB de arquivos grátis na rede. Ou seja, o usuário pode

Leia mais

7dicas para obter sucesso em BYOD Guia prático com pontos importantes sobre a implantação de BYOD nas empresas.

7dicas para obter sucesso em BYOD Guia prático com pontos importantes sobre a implantação de BYOD nas empresas. 7dicas para obter sucesso em BYOD Guia prático com pontos importantes sobre a implantação de BYOD nas empresas. Neste Guia, vamos mostrar algumas dicas para que a implantação da tendência BYOD nas empresas

Leia mais

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE MARCOS LEÃO 1, DAVID PRATA 2 1 Aluno do Curso de Ciência da Computação; Campus de Palmas; e-mail: leão@uft.edu.br PIBIC/UFT

Leia mais

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS Ivo BRAGA 1 RESUMO Os Serviços de manutenção exigem cada vez mais um elevado nível de complexidade. Mesmo a nível local onde o grau de especialização

Leia mais

SIMCAP Simpósio de Computação Aplicada Cloud Computing

SIMCAP Simpósio de Computação Aplicada Cloud Computing SIMCAP Simpósio de Computação Aplicada Cloud Computing A importância da nuvem na indústria dos games. Fábio Araújo Quintas / 2009027846 Micaely Bernardo Freire/2009036250 Ana Carolina M. Castro / 2008117299

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

Manual de Utilização do Zimbra

Manual de Utilização do Zimbra Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas

Leia mais

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN Prof. Dr. José Eduardo Santarem Segundo USP santarem@usp.br TuaneFaria USP tuanefaria@yahoo.com.br Introdução Disponibilizar Dados Disponibilizar

Leia mais

Artur Petean Bove Júnior Tecnologia SJC

Artur Petean Bove Júnior Tecnologia SJC Artur Petean Bove Júnior Tecnologia SJC Objetivo O objetivo do projeto é especificar o desenvolvimento de um software livre com a finalidade de automatizar a criação de WEBSITES através do armazenamento

Leia mais

Consumerização de TI. Paula Nobre. Presented by. Copyright 2011 OSIsoft, LLC

Consumerização de TI. Paula Nobre. Presented by. Copyright 2011 OSIsoft, LLC Consumerização de TI Presented by Paula Nobre Copyright 2011 OSIsoft, LLC ANTES AGORA NO ESCRITÓRIO EM QUALQUER LUGAR DURANTE AS HORAS DE TRABALHO A QUALQUER HORA COMPUTADOR ATRIBUÍDO DISPOSITIVOS E MEU

Leia mais

Arquitetura de Informação

Arquitetura de Informação Arquitetura de Informação Ferramentas para Web Design Prof. Ricardo Ferramentas para Web Design 1 Arquitetura de Informação? Ferramentas para Web Design 2 Arquitetura de Informação (AI): É a arte de expressar

Leia mais

Inicialização Rápida do Novell Vibe Mobile

Inicialização Rápida do Novell Vibe Mobile Inicialização Rápida do Novell Vibe Mobile Março de 2015 Introdução O acesso móvel ao site do Novell Vibe pode ser desativado por seu administrador do Vibe. Se não conseguir acessar a interface móvel do

Leia mais

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla 6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla O mercado brasileiro de dispositivos móveis em breve ganhará mais uma grande plataforma. Anunciado oficialmente

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Estratégias para o Desenvolvimento de Aplicações Móveis HP Enterprise Services CMT - Cloud, Mobility and Transformation Março, 2013

Estratégias para o Desenvolvimento de Aplicações Móveis HP Enterprise Services CMT - Cloud, Mobility and Transformation Março, 2013 Estratégias para o Desenvolvimento de Aplicações Móveis HP Enterprise Services CMT - Cloud, Mobility and Transformation Março, 2013 Copyright 2012 Hewlett-Packard Development Company, L.P. The information

Leia mais

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos Disciplina: Programas de Edição de Textos Professora: Érica Barcelos CAPÍTULO 4 4. RECURSOS PARA ILUSTRAÇÕES Uma característica que difere os processadores de textos dos editores é a possibilidade de gerar

Leia mais

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015 GIS Cloud na Prática Fabiano Cucolo 26/08/2015 Um pouco sobre o palestrante Fabiano Cucolo fabiano@soloverdi.com.br 11-98266-0244 (WhatsApp) Consultor de Geotecnologias Soloverdi Engenharia www.soloverdi.com.br.

Leia mais

SUPORTE DA TI A MELHORIA DO DESEMPENHO ORGANIZACIONAL

SUPORTE DA TI A MELHORIA DO DESEMPENHO ORGANIZACIONAL SUPORTE DA TI A MELHORIA DO DESEMPENHO ORGANIZACIONAL Referência Tecnologia da Informação para Gestão : Transformando os negócios na Economia Digital. Bookman, sexta edição, 2010. 2 FAZENDO NEGÓCIOS NA

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC).

Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC). DOCENTE PROFESSOR CELSO CANDIDO Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC). Conhecimentos: o Web Designer; o Arquitetura de Máquina; o Implementação

Leia mais

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros. levindocm@gmail.com

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros. levindocm@gmail.com OFICINA USO DO I3GEO Levindo Cardoso Medeiros levindocm@gmail.com ESTRUTURA INTRODUÇÃO UTILIZANDO O I3GEO Aprendendo a navegar pelo I3Geo Propriedades do mapa ADICIONANDO E MANIPULANDO CAMADAS Adicionando

Leia mais

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER Autor: RANGEL TORREZAN RESUMO 1. Gestão de Portfolio e suas vantagens. A gestão de portfólio de projetos estabelece

Leia mais

Os desafios do Bradesco nas redes sociais

Os desafios do Bradesco nas redes sociais Os desafios do Bradesco nas redes sociais Atual gerente de redes sociais do Bradesco, Marcelo Salgado, de 31 anos, começou sua carreira no banco como operador de telemarketing em 2000. Ele foi um dos responsáveis

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

ONE TOONE CURSOS PARTICULARES HTML5 + CSS3 + ADOBE DREAMWEAVER CC

ONE TOONE CURSOS PARTICULARES HTML5 + CSS3 + ADOBE DREAMWEAVER CC ONE TOONE CURSOS PARTICULARES HTML5 + CSS3 + ADOBE DREAMWEAVER CC Plano do Curso. Curso One. Os Cursos desenvolvidos pela One To One, são reflexo da experiência profissional no âmbito da Formação, do Design

Leia mais

Guia Prático de Acesso

Guia Prático de Acesso Guia Prático de Acesso 1. Como acessar o novo e-volution? O acesso ao novo e-volution é feito através do endereço novo.evolution.com.br. Identifique abaixo as possíveis formas de acesso: 1.1 Se você já

Leia mais

Design para internet. Resolução. - No Design Gráfico quanto maior o DPI melhor. - Na web não é bem assim.

Design para internet. Resolução. - No Design Gráfico quanto maior o DPI melhor. - Na web não é bem assim. Resolução - No Design Gráfico quanto maior o DPI melhor. - Na web não é bem assim. Resolução Exemplo de imagem com diferentes resoluções de Pontos/Pixels por polegada". Em uma imagem digital quanto mais

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

Adapte. Envolva. Capacite.

Adapte. Envolva. Capacite. Adapte. Envolva. Capacite. Ganhe produtividade em um Ambiente de trabalho digital #DigitalMeetsWork Os benefícios de um ambiente de trabalho digital têm impacto na competitividade do negócio. Empresas

Leia mais

Soluções em. Cloud Computing. Midia Indoor. para

Soluções em. Cloud Computing. Midia Indoor. para Soluções em Cloud Computing para Midia Indoor Resumo executivo A Midia Indoor chegou até a Under buscando uma hospedagem para seu site e evoluiu posteriormente para uma solução cloud ampliada. A empresa

Leia mais

Manual de utilização do Zimbra

Manual de utilização do Zimbra Manual de utilização do Zimbra Compatível com os principais navegadores web ( Firefox, Chrome e Internet Explorer ) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário,

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Compras de Software do Governo. eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br

Compras de Software do Governo. eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Compras de Software do Governo eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Modelos de Negócios O que você vende? Qual é o modelo de negócios da sua empresa? Quanto você está faturando?

Leia mais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 Prezados Senhores da comissão de licitação da UENF, seguem alguns questionamentos acerca do edital de concorrência 01/2013 para esclarecimentos: 1. ANEXO

Leia mais

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet Ebook Como configurar e-mails no seu celular Este e-book irá mostrar como configurar e-mails, no seu celular. Sistemas operacionais: Android, Apple, BlackBerry, Nokia e Windows Phone Há muitos modelos

Leia mais

para imprensa Brand Book

para imprensa Brand Book para imprensa Brand Book Release Passei Direto Uma ferramenta que vem para revolucionar a experiência dos estudantes universitários O Passei Direto (www.passeidireto.com) é uma rede social com foco acadêmico

Leia mais

ISHIFT: Informação em Movimento

ISHIFT: Informação em Movimento ISHIFT: Informação em Movimento Contato: www.ishift.com.br +55 51 32798159 contato@ishift.com.br Somos uma empresa completa de produtos e serviços ligados à tecnologia, que procura apresentar soluções

Leia mais

CARTILHA DO SISTEMA DE CONFERÊNCIA WEB. Núcleo de Tecnologia da Informação da Comunicação

CARTILHA DO SISTEMA DE CONFERÊNCIA WEB. Núcleo de Tecnologia da Informação da Comunicação CARTILHA DO SISTEMA DE CONFERÊNCIA WEB Núcleo de Tecnologia da Informação da Comunicação 2011 UNIVERSIDADE FEDERAL DO PAMPA UNIPAMPA NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO E DA COMUNICAÇÃO NTIC CARTILHA DO

Leia mais

edirectory Plataforma ios / Android

edirectory Plataforma ios / Android edirectory Plataforma ios / Android Levando seu site ao próximo nível Conheça o novo aplicativo do edirectory. E seja bem vindo a revolução em aplicativos para Diretórios Online. Mobile Completamente reestruturado

Leia mais

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa ACESSE Informações corporativas a partir de qualquer ponto de Internet baseado na configuração

Leia mais