4 puan yazan GN⁺ 2023-12-11 | 1 yorum | WhatsApp'ta paylaş

PySimpleGUI tanıtımı

  • PySimpleGUI, her seviyeden Python programcısının GUI oluşturabilmesini sağlayan bir Python paketidir.
  • GUI penceresi layout kullanılarak tanımlanır; pencere oluşturma ve etkileşim için tkinter, Qt, WxPython veya Remi’den biri kullanılır.
  • PySimpleGUI kodu, alttaki framework’ü doğrudan kullanmaya kıyasla daha basit ve daha kısadır ve çok sayıda boilerplate code parçasını üstlenir.
  • Gerektiğinde framework’ün widget’larına ve pencerelerine doğrudan erişilebilir; böylece PySimpleGUI API’si üzerinden açığa çıkarılmayan veya erişilemeyen ayar ve özellikler de genişletilebilir.

"GUI açığı"nı aşmak

  • Python, birçok kişiyi programlama topluluğuna çekti, ancak Python programlarının çoğu "komut satırı" tabanlı olduğu için genel kullanıcılar açısından erişilebilirliği düşüktür.
  • GUI eklendiğinde program daha erişilebilir hale gelir ve kullanıcı kitlesi genişler.
  • GUI, bazı programlarla etkileşimi kolaylaştırır ve komut satırı arayüzüne alışkın kullanıcılar için de faydalı olabilir.

Açık kaynak kullanımının kabulü

  • PySimpleGUI veya PySimpleGUI hesabının depolarında kullanılan paketlerin listesi sunuluyor.
  • Bir projede açık kaynak yazılım kullanılıyorsa, kullanılan paketler hakkında bilgi vermek iyi bir uygulamadır.

"Çıtayı" aşmak

  • GUI programlamayı öğrenmenin giriş eşiğinin yüksek olduğu yönündeki görüşe karşı, PySimpleGUI projesi bu eşiği düşürmeye çalışıyor.
  • Kullanıcılardan, PySimpleGUI ile başarıyla GUI programları geliştirdiklerini ve memnuniyet ile teşekkürlerini ifade ettiklerini belirten e-postalar alınıyor.

Eğitim materyalleri

  • Resmi bir PySimpleGUI Udemy kursu bulunuyor ve kupon kodu kullanılabiliyor.
  • Belgeler www.PySimpleGUI.org adresinde bulunabiliyor; site çeşitli dokümanlar ve kolay arama özellikleri sunuyor.
  • Yüzlerce sayfalık dokümantasyon ve örnek programlar sayesinde hızlı ve etkili şekilde öğrenmek mümkün.

GN⁺ görüşü

Bu yazıdaki en önemli nokta, PySimpleGUI’nin Python kullanıcılarının GUI’leri kolayca oluşturmasına yardımcı olan bir araç olmasıdır. Başlangıç seviyesinden uzmanlığa kadar her düzeyde geliştirici tarafından kullanılabilir ve farklı framework’lerle entegre olabilme yeteneği sunar. Bu yazıyı ilgi çekici kılan şey, PySimpleGUI’nin programlamaya erişilebilirliği artırma ve daha fazla insanın kendi fikirlerini hayata geçirebilmesini sağlama potansiyelini göstermesidir.

1 yorum

 
GN⁺ 2023-12-11
Hacker News görüşleri
  • Jira zaman kaydı için PySimpleGUI kullanılan bir proje

    • Jira web sitesini kullanmanın zahmetli olması nedeniyle, atanmış issue listesini ve log ile yorum ekleme düğmelerini içeren bir masaüstü uygulaması geliştirmeye ilgi duyulmuş.
    • Tkinter kullanırken UI tasarımında zorluk yaşanmış, ancak PySimpleGUI sayesinde hız ciddi ölçüde artmış.
    • Jira API ile entegre olarak istenen işlevleri gerçekleştirebilmek ve UI geliştirmeyi öğrenebilmek için iyi bir proje olmuş.
  • GUI framework'lerine duyulan ilgi ve PySimpleGUI'nin avantajları

    • Native masaüstü deneyiminin web tabanlı UI'lerden daha iyi olduğu düşünülüyor.
    • PySimpleGUI'nin sadeleştirilmiş event loop'u ve çoklu backend yaklaşımı yenilikçi bulunuyor.
    • Veri yapıları ve fonksiyonlara dayanarak otomatik GUI oluşturma fikrine ilgi ifade ediliyor.
  • PySimpleGUI'nin estetik yönü ve stil vermenin zorluğu

    • PySimpleGUI örnekleri 90'lar tarzında görünüyor, ancak CLI kullanamayan teknik olmayan kullanıcılar için prototipleme/iç araçlar açısından uygun.
    • Native UI performansı iyi olsa da stil vermek web sayfalarına kıyasla daha zor.
    • Python GUI'de, Flutter veya SwiftUI gibi az çabayla şık bir görünüm sunan bileşenler olup olmadığı soruluyor.
  • PySimpleGUI için iyileştirme önerileri

    • Liste yerine ekleme sırasını hatırlayan bir sözlük kullanılması öneriliyor.
    • PyQt ile yaşanan deneyimde, özellik/sinyal ayarı ile widget iç içe geçirmeyi aynı anda yapma yaklaşımı faydalı bulunmuş.
    • Basit GUI'leri hızlıca kurmaya yardımcı olan bir kütüphane olarak PySimpleGUI'ye teşekkür ediliyor.
  • VB6 veya Delphi/Lazarus kullanım kolaylığına yaklaşan bir ilerleme

    • Etkileşimli bir GUI builder ihtiyacı ve bunun geliştirme kolaylığını artıracağı yönünde beklenti dile getiriliyor.
    • WxPython ve WxFormBuilder uyumluluk sorunları deneyimlenmiş; bunları çözmeye yönelik çaba ve PySimpleGUI'ye olumlu bakış aktarılıyor.
  • Python masaüstü uygulaması geliştirmede paketleme sorunu

    • Çok sayıda bağımlılık olduğunda, dağıtılabilir binary üreten mevcut araçlarda sorunlar yaşanıyor.
    • PyInstaller veya cx_freeze kullanırken dinamik modül yükleme ve eksik dosya problemleri ortaya çıkıyor.
    • Java'nın jar'ı gibi standartlaştırılmış, bağımsız program paketleme yöntemine ihtiyaç olduğu belirtiliyor.
  • CustomTKinter tercihine dair görüş

    • CustomTKinter'ın zarif ve modern teması ile sisteme göre light/dark tema desteği beğeniliyor.
  • VB6'nın hızlı uygulama geliştirme alanında bıraktığı boşluk hakkında görüş

    • VB6'nın sürükle-bırak GUI builder'ının gücü ve bu boşluğu doldurabilecek araçların hâlâ olmaması şaşırtıcı bulunuyor.
  • CLI arayüzüne sahip araçlara GUI ekleme fikri

    • Masaüstü Linux kullanmayan kullanıcılar için CLI araçlarının üstüne GUI ekleme fikri değerlendiriliyor.
    • Bunu denemiş başka kişilerin deneyimleri ve beklenen zorluklar merak ediliyor.
  • Yazılım dışı bir ekibin PySimpleGUI deneyimi

    • Hızlı UI geliştirme için faydalı, ancak karmaşıklık arttıkça bakım ve gezinme zorlaşıyor.
    • Stil verme zayıf kalmış olsa da kısa süreli prototipleme için uygun olabilir.