SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
O Qt E SUA ATUAÇÃO NO
DESENVOLVIMENTO
DESKTOP, MOBILE,
EMBARCADO E PARA IoT
Sandro Andrade – IFBA/KDE
sandroandrade@kde.org
OLÁ!
whoami
IFBA/KDE/KDE e.V.
sandroandrade@kde.org / @andradesandro
1.
SOBRE O Qt
http://www.qt.io
“O Qt é um toolkit para
desenvolvimento multiplataforma
de aplicações em diversos
domínios, com foco em execução
nativa, excelente desempenho e
produtividade
O Qt
▸ Desenvolvido desde 1995
▸ Toolkit multiplataforma
▸ Trolltech NOKIA→ →
Digia The Qt Company→
▸ Licenciamento LGPL ou comercial
▸ Nos últimos anos, seu foco tem sido
mobile + embedded + automotivo + IoT
▸ Não só C++, mas também QML + JS e
bindings para Python, C#, Go, Haskell e
Ruby
QUEM USA O Qt?
QUEM USA O Qt?
B2Open
Qt - POR QUE USAR?
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç
DIVERSAS BIBLIOTECAS DE TERCEIROS (KF5, inqlude.org)
Qt - POR QUE USAR?
TECNOLOGIA MADURA (desenvolvido há 22 anos)
ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç
DIVERSAS BIBLIOTECAS DE TERCEIROS (KF5, inqlude.org)
OPEN GOVERNANCE COM LICEN A DUAL (LGPL e comercial)Ç
Qt – TECNOLOGIAS PARA UI/UX
▸ QtWiddgets: C++ (oficial), Python, C#, Go Haskell, Ruby
▸ QtQuick: QML + JavaScript
▸ QtWebEngine: HTML + CSS + JavaScript
▸ QtCharts/QtDataVisualization
Qt – TECNOLOGIAS PARA UI/UX
▸ QtWiddgets: C++ (oficial), Python, C#, Go Haskell, Ruby
▸ QtQuick: QML + JavaScript
▸ QtWebEngine: HTML + CSS + JavaScript
▸ QtCharts/QtDataVisualization
QtQuick X QtWidgets X QtWebEngine
QtQuick QtWidgets QtWebEngine
Linguagem QML/JS C++ HTML/CSS/JS
Look’n’feel nativo ✓ ✓
Look’n’feel
customizado
✓ ✓ ✓
UI animadas e
fluidas
✓ ✓
Suporte a touch
screen
✓ ✓
QtQuick X QtWidgets X QtWebEngine
QtQuick QtWidgets QtWebEngine
Widgets padrão da
indústria
✓
Model/View ✓ ✓
Prototipagem
rápida de UX
✓✓ ✓ ✓
Acelera ão viaç
hardware
✓ ✓ ✓
QtQuick X QtWidgets X QtWebEngine
QtQuick QtWidgets QtWebEngine
Efeitos gráficos
(partículas, etc)
✓
Rich text ✓ ✓
Integra ão deç
conteúdo web
existente
✓
3.
Qt E DESKTOP
BIG CONCEPT
Bring the attention of your audience over a key
concept using icons or illustrations
kdenlive.org
krita.org
marble.kde.org
minuet.kde.org
KDE games
lxqt.org
3.
Qt E MOBILE
2006
Qt/Embedded + Qtopia
2006
Qtopia em milhares
de dispositivos
(Sharp/Motorola)
2009
Lan amento do QMLç
2010-2011
Qt no Symbian e
MeeGo
Qt MOBILE - UMA LONGA HISTÓRIA
2011
Projeto Necessitas
(KDE) e o primeiro port
do KDE para Android
2015
QML Qt Location e
QtQuick Controls for
Embedded
2013
Primeiro tech-preview
oficial do suporte a
Android e iOS
(BlackBerry,
Sailfish/Jolla e
Ubuntu Mobile)
2016
QtQuickControls 2,
KDE Kirigami e
Android services com
Qt
2014
API QtPurchasing
multiplataforma e
suporte a Bluetooth
LE
Qt MOBILE - UMA LONGA HISTÓRIA
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
BOA DOCUMENTA ÃOÇ
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
BOA DOCUMENTA ÃOÇ
ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
BOA DOCUMENTA ÃOÇ
ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ
MELHOR GERENCIAMENTO DE MEMÓRIA
Qt - POR QUE USAR
EM PLATAFORMAS MÓVEIS?
UM CODEBASE, MÚLTIPLAS PLATAFORMAS
ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
BOA DOCUMENTA ÃOÇ
ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ
MELHOR GERENCIAMENTO DE MEMÓRIA
MESMA API E FUNCIONALIDADES EM VÁRIAS VERSÕES DO ANDROID
MÓDULOS DO Qt ESPECIFICAMENTE
CRIADOS PARA MOBILE
Qt Bluetooth (QML e C++)
Android, iOS, Linux (BlueZ 4.x/5.x) e OS X
Qt Graphical Effects (QML)
Qt Positioning (QML e C++)
Android, iOS, Linux (com GeoClue) e WinRT
Qt Sensors (QML e C++)
Android, iOS, SailFish e WinRT
Qt Quick Extras
Qt Android Extras
Qt Notifier
Qt Mac Extras
BIG CONCEPT
Bring the attention of your audience over a key
concept using icons or illustrations
BIG CONCEPT
Bring the attention of your audience over a key
concept using icons or illustrations
http://puri.sm/
4.
Qt E EMBARCADOS
Desenvolvendo Sistemas
Embarcados com o Qt
▸ Foco em mobile desde 2000
▸ Greenphone (2006)
▸ QPA (2012) + plataformas embarcadas
▸ Boot2Qt (2013)
▸ QtQuickControls2 (2016)
▸ Qt Automotive Suite (2016)
▸ Qt 3D Studio (2017)
▸ Qt Safe Renderer (2017)
▸ Módulo Qt IVI (In-Vehicle Infotainment)
BIG CONCEPT
Bring the attention of your audience over a key
concept using icons or illustrations
Mercedez Benz
Qt Concept Car
Mercedez Benz – Qt Concept Car
Mercedez Benz – Qt Concept Car
Mercedez Benz – Qt Concept Car
Mercedez Benz – Qt Concept Car
Panasonic Avionics – In-Flight Entertainment System
5.
Qt E IoT
Desenvolvendo Sistemas para
IoT com o Qt
▸ Projeto QtLite (2015)
▸ Footprint até 80% menor
▸ 60% menor que builds estáticos
▸ Startup mais rápido
▸ Flexibilidade para customiza ãoç
6.
QtCon (Brasil)
OBRIGADO!
Perguntas?
IFBA/KDE/KDE e.V.
sandroandrade@kde.org / @andradesandro

Mais conteúdo relacionado

Mais procurados

Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIG
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIGCNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIG
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIGRicardo Pinho
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveispugpe
 

Mais procurados (6)

O KDE no mundo
O KDE no mundoO KDE no mundo
O KDE no mundo
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIG
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIGCNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIG
CNCG 2011: GISVM - Uma ponte virtual para o Software Livre SIG
 
Apresentação QtConBr
Apresentação QtConBrApresentação QtConBr
Apresentação QtConBr
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
 

Semelhante a Qt para desenvolvimento multiplataforma

Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresTchelinux
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosEmbarcados
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010Wagner Reck
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEJogos Digitais, PUC - SP
 
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...Mário Araújo Xavier
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFGiordano Bruno Vieira
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellaniguest2a3a90
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniHugo Borges
 
Latinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideiasLatinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideiasRaul Leite
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelCampus Party Brasil
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Fernando Rizzato
 

Semelhante a Qt para desenvolvimento multiplataforma (20)

Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
 
Python for Maemo
Python for MaemoPython for Maemo
Python for Maemo
 
Kde comunidade
Kde comunidadeKde comunidade
Kde comunidade
 
Qt
QtQt
Qt
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
RAD Studio 10.2 Tokyo
RAD Studio 10.2 TokyoRAD Studio 10.2 Tokyo
RAD Studio 10.2 Tokyo
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDE
 
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
 
KDE EDU - Linux Educacional
KDE EDU - Linux EducacionalKDE EDU - Linux Educacional
KDE EDU - Linux Educacional
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JF
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellani
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellani
 
Latinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideiasLatinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideias
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)Aitana Launch - Seattle Overview - Português (br)
Aitana Launch - Seattle Overview - Português (br)
 

Mais de Sandro Andrade

Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...Sandro Andrade
 
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondArchitecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondSandro Andrade
 
Minuet - the KDE approach to music education
Minuet - the KDE approach to music educationMinuet - the KDE approach to music education
Minuet - the KDE approach to music educationSandro Andrade
 
QtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldQtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldSandro Andrade
 
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Sandro Andrade
 
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Sandro Andrade
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataSandro Andrade
 
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Sandro Andrade
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Sandro Andrade
 
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisKDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisSandro Andrade
 
SASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSandro Andrade
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Sandro Andrade
 

Mais de Sandro Andrade (12)

Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
 
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondArchitecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
 
Minuet - the KDE approach to music education
Minuet - the KDE approach to music educationMinuet - the KDE approach to music education
Minuet - the KDE approach to music education
 
QtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldQtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE world
 
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
 
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
 
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisKDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
 
SASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSASO2013 - PechaKucha version
SASO2013 - PechaKucha version
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
 

Qt para desenvolvimento multiplataforma

  • 1. O Qt E SUA ATUAÇÃO NO DESENVOLVIMENTO DESKTOP, MOBILE, EMBARCADO E PARA IoT Sandro Andrade – IFBA/KDE sandroandrade@kde.org
  • 5. “O Qt é um toolkit para desenvolvimento multiplataforma de aplicações em diversos domínios, com foco em execução nativa, excelente desempenho e produtividade
  • 6. O Qt ▸ Desenvolvido desde 1995 ▸ Toolkit multiplataforma ▸ Trolltech NOKIA→ → Digia The Qt Company→ ▸ Licenciamento LGPL ou comercial ▸ Nos últimos anos, seu foco tem sido mobile + embedded + automotivo + IoT ▸ Não só C++, mas também QML + JS e bindings para Python, C#, Go, Haskell e Ruby
  • 8. QUEM USA O Qt? B2Open
  • 9. Qt - POR QUE USAR?
  • 10. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos)
  • 11. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
  • 12. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes)
  • 13. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes) EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA
  • 14. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes) EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
  • 15. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes) EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç
  • 16. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes) EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç DIVERSAS BIBLIOTECAS DE TERCEIROS (KF5, inqlude.org)
  • 17. Qt - POR QUE USAR? TECNOLOGIA MADURA (desenvolvido há 22 anos) ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS) RICO EM FUNCIONALIDADES (47 módulos, 1647 classes) EFETIVO PARA DESENVOLVIMENTO MULTIPLATAFORMA EXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ EXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç DIVERSAS BIBLIOTECAS DE TERCEIROS (KF5, inqlude.org) OPEN GOVERNANCE COM LICEN A DUAL (LGPL e comercial)Ç
  • 18. Qt – TECNOLOGIAS PARA UI/UX ▸ QtWiddgets: C++ (oficial), Python, C#, Go Haskell, Ruby ▸ QtQuick: QML + JavaScript ▸ QtWebEngine: HTML + CSS + JavaScript ▸ QtCharts/QtDataVisualization
  • 19. Qt – TECNOLOGIAS PARA UI/UX ▸ QtWiddgets: C++ (oficial), Python, C#, Go Haskell, Ruby ▸ QtQuick: QML + JavaScript ▸ QtWebEngine: HTML + CSS + JavaScript ▸ QtCharts/QtDataVisualization
  • 20. QtQuick X QtWidgets X QtWebEngine QtQuick QtWidgets QtWebEngine Linguagem QML/JS C++ HTML/CSS/JS Look’n’feel nativo ✓ ✓ Look’n’feel customizado ✓ ✓ ✓ UI animadas e fluidas ✓ ✓ Suporte a touch screen ✓ ✓
  • 21. QtQuick X QtWidgets X QtWebEngine QtQuick QtWidgets QtWebEngine Widgets padrão da indústria ✓ Model/View ✓ ✓ Prototipagem rápida de UX ✓✓ ✓ ✓ Acelera ão viaç hardware ✓ ✓ ✓
  • 22. QtQuick X QtWidgets X QtWebEngine QtQuick QtWidgets QtWebEngine Efeitos gráficos (partículas, etc) ✓ Rich text ✓ ✓ Integra ão deç conteúdo web existente ✓
  • 24. BIG CONCEPT Bring the attention of your audience over a key concept using icons or illustrations
  • 32. 2006 Qt/Embedded + Qtopia 2006 Qtopia em milhares de dispositivos (Sharp/Motorola) 2009 Lan amento do QMLç 2010-2011 Qt no Symbian e MeeGo Qt MOBILE - UMA LONGA HISTÓRIA
  • 33. 2011 Projeto Necessitas (KDE) e o primeiro port do KDE para Android 2015 QML Qt Location e QtQuick Controls for Embedded 2013 Primeiro tech-preview oficial do suporte a Android e iOS (BlackBerry, Sailfish/Jolla e Ubuntu Mobile) 2016 QtQuickControls 2, KDE Kirigami e Android services com Qt 2014 API QtPurchasing multiplataforma e suporte a Bluetooth LE Qt MOBILE - UMA LONGA HISTÓRIA
  • 34. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS?
  • 35. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS
  • 36. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS ALTO DESEMPENHO (nativo + acelera ão via GPU)ç
  • 37. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS ALTO DESEMPENHO (nativo + acelera ão via GPU)ç BOA DOCUMENTA ÃOÇ
  • 38. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS ALTO DESEMPENHO (nativo + acelera ão via GPU)ç BOA DOCUMENTA ÃOÇ ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ
  • 39. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS ALTO DESEMPENHO (nativo + acelera ão via GPU)ç BOA DOCUMENTA ÃOÇ ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ MELHOR GERENCIAMENTO DE MEMÓRIA
  • 40. Qt - POR QUE USAR EM PLATAFORMAS MÓVEIS? UM CODEBASE, MÚLTIPLAS PLATAFORMAS ALTO DESEMPENHO (nativo + acelera ão via GPU)ç BOA DOCUMENTA ÃOÇ ESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ MELHOR GERENCIAMENTO DE MEMÓRIA MESMA API E FUNCIONALIDADES EM VÁRIAS VERSÕES DO ANDROID
  • 41. MÓDULOS DO Qt ESPECIFICAMENTE CRIADOS PARA MOBILE Qt Bluetooth (QML e C++) Android, iOS, Linux (BlueZ 4.x/5.x) e OS X Qt Graphical Effects (QML) Qt Positioning (QML e C++) Android, iOS, Linux (com GeoClue) e WinRT Qt Sensors (QML e C++) Android, iOS, SailFish e WinRT Qt Quick Extras Qt Android Extras Qt Notifier Qt Mac Extras
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. BIG CONCEPT Bring the attention of your audience over a key concept using icons or illustrations
  • 49. BIG CONCEPT Bring the attention of your audience over a key concept using icons or illustrations
  • 52. Desenvolvendo Sistemas Embarcados com o Qt ▸ Foco em mobile desde 2000 ▸ Greenphone (2006) ▸ QPA (2012) + plataformas embarcadas ▸ Boot2Qt (2013) ▸ QtQuickControls2 (2016) ▸ Qt Automotive Suite (2016) ▸ Qt 3D Studio (2017) ▸ Qt Safe Renderer (2017) ▸ Módulo Qt IVI (In-Vehicle Infotainment)
  • 53. BIG CONCEPT Bring the attention of your audience over a key concept using icons or illustrations
  • 55.
  • 56. Mercedez Benz – Qt Concept Car
  • 57. Mercedez Benz – Qt Concept Car
  • 58. Mercedez Benz – Qt Concept Car
  • 59. Mercedez Benz – Qt Concept Car
  • 60. Panasonic Avionics – In-Flight Entertainment System
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 70. Desenvolvendo Sistemas para IoT com o Qt ▸ Projeto QtLite (2015) ▸ Footprint até 80% menor ▸ 60% menor que builds estáticos ▸ Startup mais rápido ▸ Flexibilidade para customiza ãoç
  • 72.
  • 73.