Desenvolvendo Widgets QML Para O KDE Plasma Sandro Andrade

Desenvolvendo Widgets QML Para O KDE Plasma Sandro Andrade

Desenvolvendo Widgets QML para o KDE PlasmaIX Conferência Latino-Americana de Software Livre – Out/2012 Sandro Andrade Agenda KDE ● Novos requisitos para UX's ● Qt e QML ● KDE Plasma ● Plasma Widgets ● Seu Plasma Widget em 20 minutos ● O Futuro IX Conferência Latino-Americana de Software Livre – Out/2012 Novos requisitos para KDE UXs Cross-platform Interfaces flúidas Desempenho em mobile Adaptabilidade Alta produtividade IX Conferência Latino-Americana de Software Livre – Out/2012 Qt e QML KDE ● 17 anos de história ● Criado pela Trolltech ● Mais de 900 classes e funcionalidades em diversas áreas, além de GUIs ● Adquirido pela Nokia em 2008 ● LGPL, Free Qt Foundation e Open Governance ● Adquirido pela Digia em 2012 ● Versão 5.0 Beta 2 já disponível IX Conferência Latino-Americana de Software Livre – Out/2012 Qt e QML KDE ● Porque Qt ? ● Cross-platform ● Excelente produtividade ● Excelente desempenho ● Ampla documentação ● Comunidade ativa e parte de um grande ecossistema ● Utilizado pelo Skype, Autodesk, Google, VLC, VirtualBox, dentre muitos outros ● Possibilidade de uso com outras linguagens IX Conferência Latino-Americana de Software Livre – Out/2012 Qt e QML KDE UXs com Qt - Opção 1 (Qt Widgets) gridLayout = new QGridLayout(Form); label = new QLabel(Form); gridLayout->addWidget(label, 0, 0, 1, 2); lineEdit = new QLineEdit(Form); gridLayout->addWidget(lineEdit, 0, 2, 1, 2); horizontalSpacer = new QSpacerItem(121, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); gridLayout->addItem(horizontalSpacer, 1, 0, 1, 1); pushButton = new QPushButton(Form); gridLayout->addWidget(pushButton, 1, 1, 1, 2); pushButton_2 = new QPushButton(Form); gridLayout->addWidget(pushButton_2, 1, 3, 1, 1); IX Conferência Latino-Americana de Software Livre – Out/2012 Qt e QML KDE UXs com Qt - Opção 2 (QML) Rectangle { width: 360; height: 180; color: "#343434" Grid { columns: 2 spacing: 10 Text { id: text text: "Enter your password:"; color: "white"; font.bold: true } ... IX Conferência Latino-Americana de Software Livre – Out/2012 Qt e QML KDE ● Porque QML ? ● Maior produtividade ● Fácil de aprender ● Excelente desempenho ● Boa documentação ● Melhor integração com o trabalho dos designers ● Facilmente integrável com C++, se necessário ● Componentes mais complexos para UXs ainda estão sendo desenvolvidos IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Plasma KDE ● O que é o Plasma ? Para o usuário final Para o desenvolvedor Workspace padrão do KDE Application Framework para desenvolvimento de UXs IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Plasma KDE ● Plasma Desktop IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Plasma KDE ● Plasma Netbook IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Plasma KDE ● Plasma Active IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Plasma KDE ● Porque KDE Plasma ? ● Extremamente configurável – Seis layouts diferentes ● Excelente desempenho ● Amplo uso de QML ● 90% do código é compartilhado entre os diferentes “flavours” ● Diversas plataformas-alvo: – Desktops, netbooks, tablets – No futuro: GPS's, setup boxes, TVs, veículos, geladeiras, ... IX Conferência Latino-Americana de Software Livre – Out/2012 Plasma Widgets KDE ● O que são Plasma Widgets ? ● Mini-aplicações que podem ser executadas no workspace, panel ou qualquer outro containment do Plasma ● 128 widgets diferentes oficialmente distribuídos pelo KDE ● Muitos outros desenvolvidos pela comunidade IX Conferência Latino-Americana de Software Livre – Out/2012 Plasma Widgets KDE ● Histórico do desenvolvimento de Plasma Widgets: ● 1a geração: – Desenvolvidos em C++ ● 2a geração: – Desenvolvidos em JavaScript, Python ou Ruby ● 3a geração (recomendação atual do KDE): – Desenvolvidos em QML + JavaScript IX Conferência Latino-Americana de Software Livre – Out/2012 Seu Plasma Widget em 20 KDE minutos ● Estrutura geral de um Plasma Widget: ● <seu-widget>/metadata.desktop ● <seu-widget>/contents/main/ui/main.qml IX Conferência Latino-Americana de Software Livre – Out/2012 Seu Plasma Widget em 20 KDE minutos ● metadata.desktop [Desktop Entry] Name=Hello QML X-KDE-PluginInfo-Website=http://br.kde.org/ Comment=A hello world widget in QML X-KDE-PluginInfo-Category=Examples Icon=chronometer X-KDE-PluginInfo-Name=org.kde.hello-qml X-KDE-PluginInfo-Version=0.0 X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml X-KDE-PluginInfo-Depends= X-Plasma-DefaultSize=200,100 X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-KDE-PluginInfo-Author=Frederik Gladhorn X-KDE-ServiceTypes=Plasma/Applet [email protected] Type=Service IX Conferência Latino-Americana de Software Livre – Out/2012 Seu Plasma Widget em 20 KDE minutos ● main.qml import QtQuick 1.0 import org.kde.plasma.graphicswidgets 0.1 as PlasmaWidgets Item { width: 64 height: 64 PlasmaWidgets.IconWidget { id: icon Component.onCompleted: setIcon("flag-red") anchors.centerIn: parent } } IX Conferência Latino-Americana de Software Livre – Out/2012 Seu Plasma Widget em 20 KDE minutos ● Testando seu widget: ● plasmoidviewer <caminho-para-raiz-do-widget> ● Instalando: ● Plasmapkg -i (-u) <caminho-para-raiz-do-widget> IX Conferência Latino-Americana de Software Livre – Out/2012 Seu Plasma Widget em 20 KDE minutos ● Um leitor simples de feeds RSS ● Data Sources ● plasmaengineexplorer Plasma Plasma Plasma Widget 1 Widget 2 Widget 3 Plasma Data Engine IX Conferência Latino-Americana de Software Livre – Out/2012 O Futuro KDE ● QML como tecnologia promissora para interfaces flúidas cross-platform ● KDE Plasma como application framework para desenvolvimento de UXs em diversos form factors ● Muitas novidades com o KDE Frameworks 5: ● Melhor modularização ● Melhor desempenho ● Número ilimitado de dispositivos-alvo IX Conferência Latino-Americana de Software Livre – Out/2012 Mini-curso de QML KDE ● Amanhã ● 10h as 13h ● Espaço Argentina – Laboratório 2 ● Lamarque Souza IX Conferência Latino-Americana de Software Livre – Out/2012 KDE Perguntas ? [email protected] / @andradesandro http://www.kde.org / http://br.kde.org IX Conferência Latino-Americana de Software Livre – Out/2012.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us