UM PROJETO ARQUITETURAL PARA SISTEMAS NEUROPEDAGÓGICOS INTEGRADOS
PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que...
Transcript of PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que...
![Page 1: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/1.jpg)
PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt Sandro Andrade – IFBA/[email protected]
![Page 3: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/3.jpg)
![Page 4: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/4.jpg)
![Page 5: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/5.jpg)
![Page 6: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/6.jpg)
![Page 7: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/7.jpg)
![Page 8: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/8.jpg)
![Page 9: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/9.jpg)
Qt - POR QUE USAR?
![Page 10: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/10.jpg)
Qt - POR QUE USAR?TECNOLOGIA MADURA (desenvolvido há 22 anos)
![Page 11: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/11.jpg)
Qt - POR QUE USAR?TECNOLOGIA MADURA (desenvolvido há 22 anos)ALTA PRODUTIVIDADE (mesmo com C++, melhor ainda com QML/JS)
![Page 12: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/12.jpg)
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)
![Page 13: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/13.jpg)
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
![Page 14: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/14.jpg)
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 MULTIPLATAFORMAEXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇ
![Page 15: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/15.jpg)
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 MULTIPLATAFORMAEXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇEXCELENTE DESEMPENHO (acelera ão via hardware no QML)ç
![Page 16: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/16.jpg)
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 MULTIPLATAFORMAEXCELENTE DOCUMENTA ÃO E COMUNIDADE ATIVAÇEXCELENTE DESEMPENHO (acelera ão via hardware no QML)çDIVERSAS BIBLIOTECAS DE TERCEIROS (KF5, inqlude.org)
![Page 17: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/17.jpg)
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 MULTIPLATAFORMAEXCELENTE 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)Ç
![Page 18: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/18.jpg)
1.Qt E MOBILE http://www.qt.io
![Page 19: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/19.jpg)
2006Qt/Embedded + Qtopia
2006Qtopia em milhares de dispositivos (Sharp/Motorola)
2009Lan amento do QMLç
2010-2011Qt no Symbian e MeeGo
Qt MOBILE - UMA LONGA HISTÓRIA
![Page 20: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/20.jpg)
2011Projeto Necessitas (KDE) e o primeiro port do KDE para Android
2015QML Qt Location e QtQuick Controls for Embedded
2013Primeiro tech-preview oficial do suporte a Android e iOS (BlackBerry, Sailfish/Jolla e Ubuntu Mobile)
2016QtQuickControls 2, KDE Kirigami e Android services com Qt
2014API QtPurchasing multiplataforma e suporte a Bluetooth LE
Qt MOBILE - UMA LONGA HISTÓRIA
![Page 21: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/21.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?
![Page 22: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/22.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMAS
![Page 23: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/23.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMASALTO DESEMPENHO (nativo + acelera ão via GPU)ç
![Page 24: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/24.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMASALTO DESEMPENHO (nativo + acelera ão via GPU)çBOA DOCUMENTA ÃOÇ
![Page 25: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/25.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMASALTO DESEMPENHO (nativo + acelera ão via GPU)çBOA DOCUMENTA ÃOÇESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇ
![Page 26: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/26.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMASALTO DESEMPENHO (nativo + acelera ão via GPU)çBOA DOCUMENTA ÃOÇESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇMELHOR GERENCIAMENTO DE MEMÓRIA
![Page 27: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/27.jpg)
Qt - POR QUE USAREM PLATAFORMAS MÓVEIS?UM CODEBASE, MÚLTIPLAS PLATAFORMASALTO DESEMPENHO (nativo + acelera ão via GPU)çBOA DOCUMENTA ÃOÇESTÁ EM CONSTANTE EVOLU ÃO, COM FOCO NESTAS PLATAFORMASÇMELHOR GERENCIAMENTO DE MEMÓRIAMESMA API E FUNCIONALIDADES EM VÁRIAS VERSÕES DO ANDROID
![Page 28: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/28.jpg)
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 ExtrasQt Notifier
Qt Mac Extras
![Page 29: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/29.jpg)
2.ONDE PODEMOS AVANÇAR?
![Page 30: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/30.jpg)
ALGUMAS DEFICIÊNCIAS DO Qt NO DESENVOLVIMENTO PARA MOBILE
▸ Ausência de frameworks que implementem solu ões arquiteturais reutilizáveis e modularesç
▸ KDE Frameworks 5 provavelmente disponibiliza mais do que você precisa e é uma nova dependência para gerenciar
▸ Ausência de componentes de UI que implementam os principais workflows atuais (KDE Kirigami?)
![Page 31: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/31.jpg)
ALGUMAS DEFICIÊNCIAS DO Qt NO DESENVOLVIMENTO PARA MOBILE
▸ Ausência de um JSONListModel▸ Não possui suporte nativo a opera ões ç
desconectadas (com sincroniza ão após re-çestabelecimento da conexão)
▸ Problemas com implanta ão de arquivos read-çwrite entre plataformas mobile diferentes
![Page 32: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/32.jpg)
3.O MEG
![Page 33: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/33.jpg)
TEMOS TRABALHADO COM ALGUNS PROJETOS MOBILE PARA ANDROID E iOS NOS ÚLTIMOS ANOS
TAIS LACUNAS DO Qt NOS MOTIVOU A INVESTIGAR ATÉ QUE PONTO ESTES PROBLEMAS PODEM SER RESOLVIDOS UTILIZANDO BOAS ARQUITETURAS E FERRAMENTAS DE PRODUTIVIDADE
![Page 34: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/34.jpg)
=
+
Meg
Arquitetura leve, baseadaem QML, para
Aplicaçõesmobile multiplataforma
Gerador de códigoQue viabiliza a criação
produtiva e modular declientes e servidores
RESTful, com foco em Qt
![Page 35: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/35.jpg)
CLI IMPLEMENTADO EM RUBY, UTILIZANDO O THOR
TEMPLATES SÃO ESPECIFICADOS EM Embedded RuBy (ERB)
OS GERADORES SÃO MODULARES (Thor with Modules)
INCLUI UM JSONListModel
DOWNLOAD AUTOMÁTICO DE ÍCONES DO GOOGLE MATERIAL ICONS
![Page 36: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/36.jpg)
TEMPLATES ATUALMENTE DISPONÍVEIS:
▸ Servidor RESTful Sinatra com arquitetura modular▸ Plug-in para servidor RESTful Sinatra▸ Aplicativo Qt simples com arquitetura baseada em plug-ins▸ Aplicativo Qt RESTful com arquitetura baseada em plug-ins▸ Plug-in para aplicativo Qt RESTful
![Page 37: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/37.jpg)
INSTALANDO O Meg:
▸ git clone https://github.com/sandroandrade/meg.git▸ Instale e ruby▸ Execute ‘gem install bundler’▸ Execite ‘bundle install’▸ CLI está em ‘./bin/meg’
![Page 38: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/38.jpg)
4.DEMO
![Page 39: PROJETO ARQUITETURAL DE SOLUÇÕES MOBILE COM Qt · melhor gerenciamento de memÓria. qt - por que usar ... android e ios nos Últimos anos tais lacunas do qt nos motivou a investigar](https://reader031.fdocumentos.com/reader031/viewer/2022021911/5c153dd809d3f2cd4b8cdad6/html5/thumbnails/39.jpg)
TRABALHOS FUTUROS:
▸ Templates para CRUD▸ Templates para aplica ões Qt baseadas no Kirigamiç▸ Suporte a relacionamento entres modelos▸ Suporte a push notification▸ ...