4 pontos por GN⁺ 2023-12-11 | 1 comentários | Compartilhar no WhatsApp

Introdução ao PySimpleGUI

  • PySimpleGUI é um pacote Python que permite que programadores Python de todos os níveis criem GUIs.
  • Usa um layout para definir a janela da GUI e cria e interage com a janela usando um entre tkinter, Qt, WxPython e Remi.
  • O código do PySimpleGUI é mais simples e mais curto do que usar diretamente o framework subjacente, além de implementar muito boilerplate code.
  • Quando necessário, é possível acessar diretamente os widgets e as janelas do framework, o que também permite expandir configurações ou recursos que não são expostos ou acessíveis pela API do PySimpleGUI.

Superando o "GUI Gap"

  • O Python atraiu muitas pessoas para a comunidade de programação, mas a maioria dos programas em Python é baseada em "linha de comando", o que reduz a acessibilidade para usuários em geral.
  • Ao adicionar uma GUI, o programa se torna mais acessível e amplia o alcance de usuários.
  • A GUI facilita a interação com alguns programas e também ajuda usuários que já estão acostumados com interfaces de linha de comando.

Reconhecimento do uso de código aberto

  • Fornece uma lista de pacotes usados pelo PySimpleGUI ou em repositórios da conta do PySimpleGUI.
  • Quando um projeto usa software de código aberto, é recomendável fornecer informações sobre os pacotes utilizados.

Subindo a "barra"

  • Em resposta à opinião de que a barreira de aprendizado da programação de GUI é alta, o projeto PySimpleGUI tenta reduzi-la.
  • Eles recebem e-mails de usuários que conseguiram criar programas com GUI com sucesso usando o PySimpleGUI e expressaram alegria e gratidão.

Materiais educacionais

  • Existe um curso oficial do PySimpleGUI na Udemy, com possibilidade de usar código de cupom.
  • A documentação pode ser encontrada em www.PySimpleGUI.org, que oferece vários materiais e recursos de busca fáceis de usar.
  • É possível aprender de forma rápida e eficaz por meio de centenas de páginas de documentação e programas de exemplo.

Opinião do GN⁺

O ponto mais importante deste texto é que o PySimpleGUI é uma ferramenta que ajuda usuários de Python a criar GUIs com facilidade. Desenvolvedores de todos os níveis, de iniciantes a especialistas, podem usá-lo, e ele oferece capacidade de integração com vários frameworks. O motivo de este texto ser interessante é que ele mostra o potencial do PySimpleGUI para aumentar a acessibilidade à programação e permitir que mais pessoas transformem suas ideias em realidade.

1 comentários

 
GN⁺ 2023-12-11
Comentários no Hacker News
  • Projeto usando PySimpleGUI para registro de tempo no Jira

    • Houve interesse em desenvolver um aplicativo de desktop com a lista de issues atribuídas e botões para adicionar logs e comentários, devido à dificuldade de usar o site do Jira.
    • Ao usar Tkinter, houve dificuldade com o design da UI, mas com PySimpleGUI a velocidade aumentou bastante.
    • Foi um bom projeto para implementar os recursos desejados integrando com a API do Jira e aprender desenvolvimento de UI.
  • Interesse em frameworks de GUI e nas vantagens do PySimpleGUI

    • Considera-se que a experiência nativa de desktop é superior a uma UI baseada na web.
    • O loop de eventos simplificado e a abordagem com múltiplos backends do PySimpleGUI foram avaliados como inovadores.
    • Houve interesse na ideia de gerar automaticamente uma GUI com base em estruturas de dados e funções.
  • Aspectos estéticos do PySimpleGUI e dificuldades de estilização

    • Os exemplos do PySimpleGUI parecem ter estilo dos anos 90, mas são adequados para prototipagem/ferramentas internas voltadas a usuários não técnicos que não podem usar CLI.
    • A performance da UI nativa é boa, mas a estilização é mais difícil do que em páginas web.
    • Houve uma pergunta sobre componentes em GUIs Python que ofereçam uma aparência bonita com pouco esforço, como Flutter ou SwiftUI.
  • Sugestões de melhoria para o PySimpleGUI

    • Foi sugerido usar um dicionário que preserve a ordem de inserção em vez de uma lista.
    • Na experiência com PyQt, foi útil a forma de configurar propriedades/sinais e fazer o aninhamento de widgets ao mesmo tempo.
    • Houve agradecimento ao PySimpleGUI como biblioteca útil para construir GUIs simples rapidamente.
  • Avanços que se aproximam da facilidade de uso do VB6 ou Delphi/Lazarus

    • Foi expressa expectativa quanto à necessidade de um construtor de GUI interativo e à melhoria na conveniência de desenvolvimento por meio dele.
    • Houve experiência com problemas de compatibilidade entre WxPython e WxFormBuilder, além de esforços para resolver isso e uma avaliação positiva do PySimpleGUI.
  • Problemas de empacotamento no desenvolvimento de aplicações desktop em Python

    • Quando há muitas dependências, ferramentas existentes para gerar binários distribuíveis apresentam problemas.
    • Foram mencionados problemas de carregamento dinâmico de módulos e arquivos ausentes ao usar PyInstaller ou cx_freeze.
    • Foi levantada a necessidade de um método padronizado para empacotar programas independentes, como o jar do Java.
  • Preferência pelo CustomTKinter

    • Houve preferência pelos temas elegantes e modernos do CustomTKinter e pelo suporte a temas claro/escuro conforme o sistema.
  • Opinião sobre a lacuna na criação rápida de aplicações deixada pelo VB6

    • Houve surpresa com a ausência de ferramentas capazes de preencher a lacuna deixada pelo poder do construtor de GUI drag-and-drop do VB6.
  • Consideração sobre adicionar GUI a ferramentas com interface CLI

    • Houve reflexão sobre a ideia de acrescentar uma GUI a ferramentas de CLI para usuários que não usam Linux desktop.
    • Também houve curiosidade sobre a experiência de outras pessoas que tentaram essa conversão e os desafios esperados.
  • Experiência de equipes não focadas em software com PySimpleGUI

    • É útil para desenvolver UIs rapidamente, mas conforme a complexidade aumenta, manutenção e navegação ficam difíceis.
    • A estilização era fraca, mas pode ser adequada para prototipagem de curto prazo.