Um Framework LGPL Multiplataforma. Wagner Reck

Documentos relacionados
Antonio Marcio A. Menezes. Outubro de 2009

Linguagem de Programação I

Processamento de dados XML

Plasma Active. Thiago Macieira

Chega de Unity3D! Alternativas de Software Livre para desenvolvimento de jogos. Vinícius Kiwi Daros Wilson Kazuo Mizutani

DESENVOLVENDO APLICAÇÕES ANDROID COM Qt Sandro Andrade KDE/IFBA

TDC desenvolvimento. para iphone. Helder da Rocha

Desenvolvimento Web TCC Turma A-1

Programação de Computadores II TCC Turma A-1

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9

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

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos

Esse update é 10: Novos applets e JavaFX

Computação II Orientação a Objetos

Sistemas Embarcados Android

Sistemas Embarcados Android

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt Sandro Andrade IFBA/KDE

KDE. Leandro da silva João batista

Objetivos do Curso. Você será capaz de:

Desenvolvendo Widgets QML para o KDE Plasma

Software Livre e GIS: Quais são as alternativas?

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

Metasploit Framework: Software Livre para PoC de Vulnerabilidades

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

SISTEMA GERENCIADOR DE BANCO DE DADOS

dados abertos cartilha para desenvolvedores

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

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

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

ESTUDO DE CASO WINDOWS VISTA

PENTAHO. História e Apresentação

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

Professor: Ronilson Morais Lobo. Salvador / 2015

QCON RIO 2015 Desenvolvimento para Windos 10. Alexandre

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Afinal o que é HTML?

Novas Tecnologias Microsoft.

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

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

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Plano de Trabalho Docente Ensino Técnico

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Universidade da Beira Interior

Definições: quando usar cada um?

Programação para Dispositivos Móveis

Introdução ao Plone. terça-feira, 4 de agosto de 15

Orientação a Objetos Programação em C++

Fundamentos da Computação Móvel

INTERATIVIDADE E ENTRETENIMENTO WEB AULA 1. Estrutura do curso e conceitos fundamentais. professor Luciano Roberto Rocha.

Anexo IV PLANILHA DESCRITIVA DE ESPECIFICAÇÕES TÉCNICAS

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br

A plataforma Android: Uma Introdução

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

OpenJUMP. Pontos fracos do OpenJUMP

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros.

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

Secullum Clube.Net ESPECIFICAÇÕES TÉCNICAS. Secullum Clube.Net. Ficha Técnica. Serviço de Comunicação. Controle de Veículos.

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

SenchaTouch + PhoneGap

Vitor Diogo Faria Pereira. Programador / Analista de Sistemas e Software

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Descrição geral do Android

Programação de Computadores - I. Profª Beatriz Profº Israel

Uma poderosa ferramenta de monitoramento. Madson Santos - madson@pop-pi.rnp.br Técnico de Operação e Manutenção do PoP-PI/RNP

Conhecendo o NetBSD. Alan Silva <jumpi@netbsd.com.br> NetBSD-BR

OpenSICAST Sistema de Call Center para Asterisk. Fabrício Tamusiunas NIC.br

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMATICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS DE APLICAÇÃO COMERCIAL SILAS QUEIROZ SILVA

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

PROJETO INFORMÁTICA NA ESCOLA

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Gravação e Transmissão

Algoritmos e Linguagem de Programação I

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS

Android. Marcelo

Desenvolvimento de Sites. Subtítulo

PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID

Prof. André Di Thommazo

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

Integrantes: Catarino Rodrigues Data: 26/10/2012. Leandro de Matos Pereira. Leandro dos Santos Marciano. Ramon Alves de Souza

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

World Wide Web e Aplicações

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio.

Implementação de Web Services em Projetos de LabVIEW

Ferramentas de Administração. PostgreSQL

Treinamento em PHP com MySQL - Fundamental

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

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Transcrição:

Um Framework LGPL Multiplataforma Wagner Reck

Resumo O que é Breve histórico Principais Módulos e Ferramentas Novidades por vir

Qt is......a cross platform application and UI framework qt.nokia.com/products...a cross platform application framework that is widely used for developing application software with graphical user interface, and also used for developing non GUI programs such as command line tools and consoles for servers. http://en.wikipedia.org/wiki/qt_(framework)

Que plataformas o Qt roda? Oficialmente: Windows (XP,Vista,7, CE), Linux/X11, Mac (Osx), Symbian (S60), Maemo, Meego, Linux embarcado Ports pela comunidade: Android, IPhone, Qnx, VxWorks, ReacOS, Haiku, Linux/Wayland, opensolaris, webos, OS/2... Alguns ainda em desenvolvimento

Algumas Caracteristicas API intuitiva Ótima documentação Compatibilidade entre versões Modular Utiliza renderização nativa Performace do C++ bindings para outras linguagens se necessário

Quem usa Qt?

Onde Qt está presente?

Breve Histórico Primeira versão disponibilizada em 1995, por Haavard Nord e Eirik Chambe-Eng; Em 1997 o Qt passa a ser utilizado no desenvolvimento do KDE e a versão 1.3 é lançada; Em 1999, o Qt 2 passa a ser licenciado pela QPL;

Breve Histórico Em 2000 é lançado o Qtopia (Qt para ambientes embarcados); Neste mesmo, o Qt passa a ser licenciado pela GPL; Em 2001 é lançado o Qt3; Em 2005 é lançado o Qt4: primeira versão open-source em todas as plataformas; Em janeiro de 2008 a Trolltech é comprada pela Nokia.

Breve Histórico 2009 Adicionada licença LGPL; 2009-2010 Suporte a S60, Meego e Maemo; Versão 1.0 Nokia Qt SDK (Mobilly API + Simulator + Remote compiler); Nova ferramenta de desenvolvimento de interfaces QtQuick;

Qt é Modular Necessita instalar/prover apenas os módulos utilizados Diminuição do espaço utilizado (dispositivos embarcados) Modulos: ferramentas e Bibliotecas

Ferramentas Qmake Linguist Designer Assistant QtCreator Plugin para Eclipse/Visual studio

Módulos

QtCore Provê suporte básico Containers (strings, listas, hash, map) Internacionalização Comunição inter objetos Funções globais: qrand(), qabs(), qmax()

GUI Componentes básicos QLabel QLineEdit QPushButom QComboBox Diferentes layouts grid, ancora, formulario...

Designer

Gráficos 2D Classes do Graphics/View divididas em: Cenas: Agrega os itens gráficos Visualizações : Viewport de uma cena Suporte a milhares de itens Suporte a opengl (sem escrever códigos OpenGL)

Mainwindow

Documentos de Texto Rico Permite criar documentos de forma programática Exportar para ODT PDF HTML Imagens (SVG) Impressora

SQL Acompanha drivers para os principais SGBDs Podem ser mantidas multiplas conexões abertas QSqlDatabase conn = QSqlDatabase::addDatabase("QSQLITE", "DB") conn.setdatabasename("database") conn.open()

SQL Exemplo de consulta: QSqlQuery q (conn); q.exec ( SELECT * FROM table; ); while (q.next()) process(q.value(0)); process(q.value(1).totime());

Threads 1- Escrever o processamento: void function (QString filename){ // process file } 2 - Prepara os itens a serem processados: QStringList list; list << "file1.txt" << "file2.txt" <<... ; 3 - dispara o processo: QtConcurrent::map(list, function);

Multimidia Para pequenos efeitos Qsound/QMovie Aplicações multimidia Phonon Maior controle sobre a midia ex. VLC / Amarok

Gestos e Multitoque Manipulação com gestos Zoom Rolar lista Gestos customizados Gestos para executar ações únicas

XML 2 tipos (básicos) de parser Sax XML maiores Dom XML menores Uso de padrões XML Xquey, Xpath, Validação de schema xml

Animação Facilita a criação de interfaces fluídas Escolha da propriedade a alterar Definição do valor final e tempo Escolha da curva de animação Execução em sequência ou paralelas

Webkit Início com Khtml Usado em vários navegadores No QT widgets dentro de páginas HTML Interação com os recursos da aplicação

QtQuick Permite a criação de interfaces fluidas Linguagem declarativa para UI (QML) Pode se comunicar com código Qt já existente É trasparente para redes Não importa se arquivo está no PC ou WWW

Exemplo QML import QtQuick 1.0 Rectangle { width: 200 height: 200 Text { text: "Hello World" font.pixelsize: 22 anchors.centerin: parent } }

Exemplo QML } Text{... font.pixelsize: 22 MouseArea{ id: textmousearea anchors.fill: parent } color: textmousearea.pressed? "gold" : "black"; }

Próxima Versão Modularização dos módulos Facilita novas contribuições Lighthouse Facilitar o port para outras plataformas Open Governance Tornar público: roadmap, listas, QA

Documentação Qt qt.nokia.com/developer qt.nokia.com/doc revistaqt.blogspot.com qtcentre.org

Obrigado Wagner Reck kders.wordpress.com wagner.reck@gmail.com