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: 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

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: <http://www.businessinsider.com/heresan-excellent-presentation-about-the-rise-of-mobile-and-the-massive-implications #-1>. 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: <http://en.wikipedia.org/wiki/personal_digital_ assistant>. Acesso em: 24/06/ Mobile is eating the world, Business Insider. Disponível em: <http://www.businessinsider.com/heresan-excellent-presentation-about-the-rise-of-mobile-and-the-massive-implications #-1>. 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: <http://techcrunch.com/2013/01/24/nokia-confirms-the-pure-view-was-officially-the-last-symbianphone/>. Acesso em: 24/06/ Samsung may discontinue Bada platform by mid-2013, Tech2. Disponível em: <http://tech2.in.com/ news/smartphones/samsung-may-discontinue-bada-platform-by-mid2013/303262>. Acesso em: 24/06/ Portabilidade (informática), Wikipedia. Disponível em: <http://pt.wikipedia.org/wiki/portabilidade_ %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: <http://www.w3.org/>. Acesso em: 13/06/ jquery Mobile, jquery Foundation. Disponível em: <http://jquerymobile.com/>. 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: <http://cordova.apache.org/>. 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: <http://jquery.com/>. 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: <http://www.w3.org/html/wg/drafts/html/master/>. Acesso em: 13/06/ CSS 3, W3C. Disponível em: <http://www.w3.org/style/css/current-work>. Acesso em: 13/06/ Android, Google. Disponível em: <http://www.android.com/>. Acesso em: 19/06/ ios, Apple. Disponível em: <http://www.apple.com/br/ios/>. Acesso em: 19/06/ Windows Phone, Microsoft. Disponível em: <http://www.windowsphone.com/pt-br>. Acesso em: 19/06/ BlackBerry OS, BlackBerry. Disponível em: <http://br.blackberry.com/software/smartphones/ blackberry-7-os.html#tab-1>. Acesso em 19/06/ WebOS, Hewlett-Packard. Disponível em: <http://www.hpwebos.com/us/>. Acesso em: 19/06/ Tizen, The Linux Foundation. Disponível em: <https://www.tizen.org/>. Acesso em: 19/06/ Bada, Samsung. Disponível em: <http://www.bada.com/>. Acesso em: 19/06/ Meego, The Linux Foundation. Disponível em: <https://meego.com/>. 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: <http://jqueryui.com/themeroller/>. 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: <http://phonegap.com/>. 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: <http://www.sqlite.org/>. Acesso em: 13/06/ W3C Web SQL Database, W3C. Disponível em: <http://dev.w3.org/html5/webdatabase/>. Acesso em: 13/06/ Appropriate Uses For SQLite, SQLite Consortium. Disponível em: <http://www.sqlite.org/whentouse. 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: <http://cordova.apache.org/>. 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: <http://alistapart.com/article/dao>. 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: <http://www.w3schools.com/cssref/pr_dim_max-width.asp>. 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: <http://vinaganda.com/what-is-responsive-design/>. 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 <www.opensource.org/licenses>. 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 <http://sdwebx.worldbank.org/climateportal/index.cfm>. 47 <http://dados.gov.br/>. 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 <http://www.wikidata.org/wiki/wikidata:main_page>. 49 <http://sourceforge.net/about>. 50 <https://developers.google.com/freebase/faq>. 51 <http://www.apache.org/foundation/thanks.html>. 52 <http://databib.org/>. 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 <http://zerlot.cse.nd.edu>. 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 <www.mezuro.org>. 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

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

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

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

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

Estudo de Frameworks Multiplataforma Para Desenvolvimento de Aplicações Mobile Híbridas

Estudo de Frameworks Multiplataforma Para Desenvolvimento de Aplicações Mobile Híbridas 72 Estudo de Frameworks Multiplataforma Para Desenvolvimento de Aplicações Mobile Híbridas Ezequiel Douglas Prezotto 1, Bruno Batista Boniati 1 1 Tecnologia em Sistemas para Internet - Universidade Federal

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

Visão geral do XProtect

Visão geral do XProtect Milestone Systems Visão geral do Software de gerenciamento de vídeo Uma solução de vigilância que se ajusta a todas suas necessidades O da Milestone é um poderoso software de gerenciamento de vídeo (VMS)

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

A WEB COMO PLATAFORMA Revolução do HTML5

A WEB COMO PLATAFORMA Revolução do HTML5 A WEB COMO PLATAFORMA Revolução do HTML5 Juliano Flores Prof. Lucas Plautz Prestes Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de TI (GTI034) 06/11/2012 RESUMO Escrever programas de computador,

Leia mais

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (O Mercado Mobile no Brasil) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto

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

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

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

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

Proteste Postos: um aplicativo móvel utilizando o cross-framework Phonegap. Bernardo Salgueiro

Proteste Postos: um aplicativo móvel utilizando o cross-framework Phonegap. Bernardo Salgueiro UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA ESCOLA DE INFORMÁTICA APLICADA Proteste Postos: um aplicativo móvel utilizando o cross-framework Phonegap Bernardo

Leia mais

Tutorial SD. Mobile and Smart devices Development Solution - Página 1

Tutorial SD. Mobile and Smart devices Development Solution - Página 1 Mobile and Smart devices Development Solution - Página 1 Introdução Hoje em dia, está claro para a indústria de TI a relevância que têm os smartphones, tablets e dispositivos inteligentes (os chamados

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

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

HTML5 - POR QUE USÁ-LO?

HTML5 - POR QUE USÁ-LO? HTML5 - POR QUE USÁ-LO? Ícaro Carlos Andrade Costa (icarocarlosandrade@gmail.com) Igor Antônio Santos Andrade (igorantonioandrade@gmail.com) RESUMO A linguagem HTML surgiu a mais de duas décadas como um

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

Leia mais

AppouWeb?Comparativode possibilidades

AppouWeb?Comparativode possibilidades Capítulo 3 AppouWeb?Comparativode possibilidades Eu sei que esse livro é sobre Web, então há uma clara tendência minha e do grupo de leitores para esse caminho. Mas nem sempre essa escolha é tão simples,

Leia mais

Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE

Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE 1 Sumário Sumário... 2 1 INTRODUÇÃO... 3 1.1 Propósito... 3 1.2 Escopo... 3 1.3 Referências... 3 2 DIRETRIZES...

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

Design responsivo para WEB com Bootstrap. Fernando Freitas Costa dovernando@gmail.com Especialista em Gestão e Docência Universitária/UNIFIMES

Design responsivo para WEB com Bootstrap. Fernando Freitas Costa dovernando@gmail.com Especialista em Gestão e Docência Universitária/UNIFIMES Design responsivo para WEB com Bootstrap Fernando Freitas Costa dovernando@gmail.com Especialista em Gestão e Docência Universitária/UNIFIMES Assunto de hoje... Um pouco de História... Por que me preocupar

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

Parceiro Oficial de Soluções Zimbra no Brasil

Parceiro Oficial de Soluções Zimbra no Brasil Apresentação A Vantage TI conta uma estrutura completa para atender empresas de todos os segmentos e portes, nacionais e internacionais. Nossos profissionais dedicam-se ao desenvolvimento e criação de

Leia mais

Android. Marcelo Quinta @mrquinta

Android. Marcelo Quinta @mrquinta Android Marcelo Quinta @mrquinta Oi, eu sou o Marcelo Quinta Pública Público-privada Privada Próprio negócio Voluntariado Parabéns à organização do GO-GTUG Tablets 160% de aumento em 2011 Smartphones

Leia mais

Sistema para gestão de restaurante

Sistema para gestão de restaurante Sistema para gestão de restaurante Luciana Tavares Rosa luciana.rosa@inf.aedb.br AEDB Fábio Rezende Dutra fabio.dutra@inf.aedb.br AEDB Resumo:O sistema para gestão de restaurante é um software desenvolvido

Leia mais

Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann

Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann Sistema Operacional E no inicio... Windows CE: - Sistema Operacional criado pela Microsoft para dispositivos sistemas embarcados (Tablet

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

SENCHA TOUCH: DESENVOLVENDO APLICAÇÕES UNIVERSAIS

SENCHA TOUCH: DESENVOLVENDO APLICAÇÕES UNIVERSAIS SENCHA TOUCH: DESENVOLVENDO APLICAÇÕES UNIVERSAIS Rafael Nunes BATISTA 1 Ana Paula Ambrósio ZANELATO 2 RESUMO: O presente artigo visa apresentar um novo framework de desenvolvimento, que, embora seja compatível

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

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

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

Documento de Visão do Projeto

Documento de Visão do Projeto Documento de Visão do Projeto 1. Objetivo O propósito deste documento é coletar, analisar e definir as necessidades de alto-nível e características do projeto de software do Módulo Editor de Estruturas

Leia mais

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa Adobe Flex Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa O que é Flex? Estrutura de Código aberto para a criação de aplicativos Web Utiliza o runtime do Adobe

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

Informe 2015. Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory

Informe 2015. Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory Informe 2015 Foxit PDF Security Suite Integrado com o Serviço de Gerenciamento de Direitos do Microsoft Active Directory Sumário Introdução... 3 Ambientes do Foxit PDF Security Suite... 4 Aplicar políticas

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

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Trabalho elaborado pelo

Leia mais

navegação em miniatura

navegação em miniatura 50 :: Webdesign iphone: navegação em miniatura Se antes as ciganas pediam para ler a palma da sua mão, nos dias atuais é bem capaz desse exercício de previsão ser feito pela leitura de seu dispositivo

Leia mais

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu. Conceitos sobre Sistemas Operacionais Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.br Agenda Retrospectiva da aula anterior Processo de Boot do SO Diversidade

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

www.pogoenterprise.com.br

www.pogoenterprise.com.br /Pogoenterprise Alameda Tocantins, 75-16º andar - Conjunto 1601 - Alphaville - CEP 06455-020 - Barueri/SP - contato@pogoenterprise.com.br - (11) 2699-1300 www.pogoenterprise.com.br Intodução A demanda

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

O QUE É O ZIMBRA? CONFIGURAÇÃO, IMPLANTAÇÃO E SUPORTE

O QUE É O ZIMBRA? CONFIGURAÇÃO, IMPLANTAÇÃO E SUPORTE O QUE É O ZIMBRA? Zimbra é uma solução corporativa de e-mail, calendário e colaboração criado para a nuvem. Com uma interface web totalmente redesenhada, o Zimbra oferece, atualmente, a experiência com

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Soluções de Vídeo de IP Série MAXPRO APRENDA UM, CONHEÇA TODOS. Aberto, flexível e escalável Plataforma de vigilância de vídeo

Soluções de Vídeo de IP Série MAXPRO APRENDA UM, CONHEÇA TODOS. Aberto, flexível e escalável Plataforma de vigilância de vídeo Soluções de Vídeo de IP Série MAXPRO APRENDA UM, CONHEÇA TODOS Aberto, flexível e escalável Plataforma de vigilância de vídeo APRENDA UM, CONHEÇA TODOS Você está procurando... sistemas que são interoperáveis

Leia mais

Série MAXPRO. de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS. Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo

Série MAXPRO. de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS. Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo Série MAXPRO de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo APRENDA UM, CONHEÇA TODOS Você está procurando por... sistemas que são

Leia mais

Desenvolvimento de aplicativo móvel multiplataforma integrado ao sistema de alerta de cheias da bacia do Itajaí

Desenvolvimento de aplicativo móvel multiplataforma integrado ao sistema de alerta de cheias da bacia do Itajaí Desenvolvimento de aplicativo móvel multiplataforma integrado ao sistema de alerta de cheias da bacia do Itajaí Acadêmico: Carlos Eduardo de Souza Orientador: M.Sc. Dalton Solano dos Reis FURB Universidade

Leia mais

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Windows Mobile O Windows Mobile é um sistema operacional compacto, desenvolvido para rodar em dispositivos móveis como Pocket

Leia mais

Comparando o VMware Zimbra com as plataformas de e-mail e colaboração líderes

Comparando o VMware Zimbra com as plataformas de e-mail e colaboração líderes Comparando o VMware Zimbra com as plataformas de e-mail e colaboração líderes W H I T E P A P E R C O M P E T I T I V O D O Z I M B R A Introdução O e-mail é um dos poucos aplicativos que são essenciais

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

Aquisição móvel de dados com Smartphones & Tablets

Aquisição móvel de dados com Smartphones & Tablets Aquisição móvel de dados com Smartphones & Tablets André Pereira Gerente de Marketing Técnico Mike Munhato Engenheiro de Marketing Técnico Por que as pessoas usam tablets? É fácil de carregar Interface

Leia mais

Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas

Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas Planejamento de TI usando Cenários Prospectivos: Tecnologias de Desenvolvimento de Sistemas Sidnei da Silva 11 de julho de 2007 1 Sumário 1 Dados Fundamentais 3 2 Definição do Problema 3 2.1 Questão...............................

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

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

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

DESENVOLVIMENTO DE UMA APLICAÇÃO WEB PARA ELABORAÇÃO DE AVALIAÇÕES DE ENSINO UTILIZANDO NOVAS ABORDAGENS DE DESENVOLVIMENTO

DESENVOLVIMENTO DE UMA APLICAÇÃO WEB PARA ELABORAÇÃO DE AVALIAÇÕES DE ENSINO UTILIZANDO NOVAS ABORDAGENS DE DESENVOLVIMENTO DESENVOLVIMENTO DE UMA APLICAÇÃO WEB PARA ELABORAÇÃO DE AVALIAÇÕES DE ENSINO UTILIZANDO NOVAS ABORDAGENS DE DESENVOLVIMENTO Danilo Damaceno Lima 1 NIPETI 2 - Instituto Federal de Mato Grosso do Sul (IFMS),

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

PLATAFORMA DE DESENVOLVIMENTO DE APLICATIVOS CORPORATIVOS

PLATAFORMA DE DESENVOLVIMENTO DE APLICATIVOS CORPORATIVOS PLATAFORMA DE DESENVOLVIMENTO DE APLICATIVOS CORPORATIVOS SUA EMPRESA PRECISA DE SOLUÇÕES MÓVEIS? O NOVO PERFIL DO CLIENTE Aumento do número de Smartphones com acesso a dados;" Migração de Buscas no PC

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

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet.

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. TERMINOLOGIA Navegador ou Browser Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. Os Browsers se comunicam com servidores

Leia mais

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos,

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

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Universidade Federal de Juiz de Fora UFJF-MG Campo Universitário Bairro Marmelos Juiz de Fora MG Brasil

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

Estudos de caso de aplicativos móveis no governo brasileiro

Estudos de caso de aplicativos móveis no governo brasileiro Estudos de caso de aplicativos móveis no governo brasileiro Alisson Wilker Andrade, Ronaldo Agra, Viviane Malheiros Serpro Serviço Federal de Processamento de Dados SGAN 601 Modulo V - 70836-900 Brasília

Leia mais

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS Anexo I Modelo para inscrição e apresentação dos projetos EDITAL DE CONVOCAÇÃO PÚBLICA nº 01/2016 1. IDENTIFICAÇÃO 1.1 Nome ou Razão Social 1.2 Ramo de atividade (se empresa) 1.3 Endereço completo 1.4

Leia mais

Grupo B - Sistemas com suporte pleno, exceto às funcionalidades AJAX para navegação.

Grupo B - Sistemas com suporte pleno, exceto às funcionalidades AJAX para navegação. jquery mobile I- Definição: jquery mobile é um framework para desenvolvimento web, explorando a interatividade através de toque, destinado à criação de aplicações para smartphones e tablets e visando fornecer

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

Desenvolvimento de um Caderno de Campo para Plataformas Móveis utilizando PhoneGap

Desenvolvimento de um Caderno de Campo para Plataformas Móveis utilizando PhoneGap Desenvolvimento de um Caderno de Campo para Plataformas Móveis utilizando PhoneGap Maicon Anderson Mattos da Silva 1, Casiane Salete Tibola 2, Jose Mauricio Cunha Fernandes 2, Jaqson Dalbosco 1, Rafael

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

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Desktop Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS

SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS Danielle Dias Simões¹, Júlio César Pereira². Universidade Paranaense - Unipar Paranavaí PR - Brasil dannesimoes@hotmail.com juliocesarp@unipar.br Resumo. O

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 Alex de Andrade Catini¹, Tiago Piperno Bonetti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil Alex.catini@gmail.com, bonetti@unipar.br Resumo:

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

Rua Serra dos Carajás, 84, Indaiatuba, SP Celular: 19-9.9269-7334 Email: heverson.gomes@hcconsys.com.br www.hcconsys.com.br skype: heverson.

Rua Serra dos Carajás, 84, Indaiatuba, SP Celular: 19-9.9269-7334 Email: heverson.gomes@hcconsys.com.br www.hcconsys.com.br skype: heverson. Rua Serra dos Carajás, 84, Indaiatuba, SP Celular: 19-9.9269-7334 Email: heverson.gomes@hcconsys.com.br www.hcconsys.com.br skype: heverson.gomes Apresenta!!! 1. A Empresa A HCCONSYS com o intuito de ser

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

A MO BI LID ADE NO A PR E SEN TA ÇÃO MET ODO LO GIA PAS SO A PASSO DA COM EN DA ÇÕES COM PRA BRA SIL

A MO BI LID ADE NO A PR E SEN TA ÇÃO MET ODO LO GIA PAS SO A PASSO DA COM EN DA ÇÕES COM PRA BRA SIL D CE A PR E SEN TA ÇÃO MET ODO LO GIA A MO BI LID ADE NO PAS SO A PASSO DA COM PRA RE COM EN DA ÇÕES BRA SIL 2. 3. 4. 5. 1. A PR E SEN TA ÇÃO Nós acreditamos em testes reais. Acreditamos que o planejamento

Leia mais

Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese

Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese Título Desenvolvimento e Comercialização de Software de Gestão multiplataforma em regime de Aluguer Objetivos Extensão de um Software de

Leia mais

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7 Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação: Habilitação Técnica de Nível Médio Técnico em Informática Programação Android na IDE Eclipse PROGRAMANDO ANDROID

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

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

Pré-requisito Conhecimento básico do sistema operacional Windows ou Mac OS.

Pré-requisito Conhecimento básico do sistema operacional Windows ou Mac OS. 1 e Descrição Este treinamento abortará conceitos essenciais de HTML e CSS para a construção de páginas web através do uso do Adobe, com a mínima necessidade de intervir ou escrever códigos, utilizando

Leia mais

SenchaTouch + PhoneGap

SenchaTouch + PhoneGap SenchaTouch + PhoneGap Ramos de Souza Janones Phonegap.ramosdainformatica.com.br Desenvolvendo para 7 plataformas mobile www.sucessocomsoftware.com.br No mundo Android ios Windows Phone Outros 1% 4% 25%

Leia mais

Interface gráfica. Figura 1: MS DOS

Interface gráfica. Figura 1: MS DOS Instituto Federal de Educação, Ciência e Tecnologia Sergipe IFS Campus Glória Professora: Jamille Madureira Informática Básica Sistemas Operacionais Sistema operacional é um programa que gerencia o hardware

Leia mais

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec Desenvolvendo para Windows 8 Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8 Ricardo R. Lecheta Novatec Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos

Leia mais

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Por quê? O aprendizado em Algoritmos e Programação visa lógica de programação

Leia mais

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB Marcelo Rodrigo da Silva Ribeiro 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil marcelo.rodrigo@live.com,

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS

UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS Trabalho final da disciplina Computadores, Redes, IP e Internet Professor: Walter Freire Aluno:

Leia mais

Figura 3.1: Arquitetura do ios.

Figura 3.1: Arquitetura do ios. 3 SDK Hoje temos diversas plataformas de dispositivos móveis disponíveis no mercado, entre elas, as mais populares são Android e ios. Cada uma destas plataformas possui um SDK próprio com sua linguagen

Leia mais

IV Congresso Internacional Software Livre e Governo Eletrônico - CONSEGI 2011

IV Congresso Internacional Software Livre e Governo Eletrônico - CONSEGI 2011 IV Congresso Internacional Software Livre e Governo Eletrônico - CONSEGI 2011 Apresentação O IV Congresso Internacional Software Livre e Governo Eletrônico Consegi 2011 acontece de 11 a 13 de maio de 2011,

Leia mais

IDC TECHNOLOGY SPOTLIGHT

IDC TECHNOLOGY SPOTLIGHT IDC TECHNOLOGY SPOTLIGHT A importância da inovação em fornecedores de sistemas, serviços e soluções para criar ofertas holísticas Julho de 2014 Adaptado de Suporte a ambientes de datacenter: aplicando

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

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