Pardus ETAP 23 Üzerinde Flutter Geliştirme: Kritik İpuçları ve En İyi Uygulamalar

Pardus ETAP (Etkileşimli Tahta Arayüzü Projesi), Debian tabanlı yapısı ve dokunmatik odaklı kullanımıyla standart Linux masaüstlerinden ayrışır. Flutter ise bu platform için yüksek performanslı yerel (native) uygulamalar geliştirmek için mükemmel bir seçenektir.

İşte Pardus ETAP 23 üzerinde Flutter geliştirme süreçlerini ele alan, teknik detaylarla zenginleştirilmiş eğitim makalesi taslağı:

Pardus ETAP 23, okullardaki etkileşimli tahtalar için özelleştirilmiş, Cinnamon masaüstü ortamını temel alan güçlü bir işletim sistemidir. Cinnamon'ın sunduğu modern arayüz yetenekleri ve Flutter'ın Linux masaüstü desteğinin kararlı (stable) sürüme geçmesiyle birlikte, ETAP için görsel açıdan zengin, dokunmatik dostu ve yüksek performanslı eğitim materyalleri geliştirmek artık çok daha kolay.

Bu makalede, ETAP 23 ekosisteminde Flutter ile uygulama geliştirirken dikkat etmeniz gereken kritik noktaları, kurulumdan dağıtıma kadar ele alacağız.


1. Ortam Kurulumu ve Bağımlılıklar (Linux Toolchain)

Pardus ETAP, Debian tabanlıdır. Flutter'ın Linux masaüstü uygulamaları derleyebilmesi için belirli C++ ve GTK kütüphanelerine ihtiyacı vardır. Standart bir kurulumda bu paketler eksik olabilir.

Kritik Adım: Gerekli Paketlerin Yüklenmesi

Terminali açın ve Flutter'ın Linux toolchain'i için gerekli şu komutu çalıştırın:

Bash:
sudo apt update
sudo apt install -y curl git unzip xz-utils zip libglu1-mesa clang cmake ninja-build pkg-config libgtk-3-dev

İpucu: Pardus ETAP üzerinde snap kullanmak yerine, Flutter SDK'sını manuel olarak indirip PATH yoluna eklemek, sistem kaynaklarını daha verimli kullanmanızı sağlar ve olası yetki sorunlarının önüne geçer.


2. MEB Ağı ve Sertifika Sorunları

Okullarda geliştirme yapıyorsanız, MEB ağındaki güvenlik duvarı (Firewall) ve SSL sertifikası, flutter pub get komutunu çalıştırırken veya GitHub'dan paket çekerken hatalara neden olabilir.

Çözüm Stratejileri:

  • Sertifika Tanıtımı: MEB sertifikasını (.crt dosyası) sistemin sertifika deposuna (/usr/local/share/ca-certificates/) ekleyin ve sudo update-ca-certificates komutunu çalıştırın.

  • Git Konfigürasyonu: Eğer sertifika hatası almaya devam ederseniz (sadece geliştirme ortamı için), Git SSL doğrulamasını geçici olarak kapatabilirsiniz:

    Bash:
    git config --global http.sslVerify false
    

    (Not: Bu ayarı prodüksiyon ortamında veya güvenli olmayan ağlarda kullanmayınız.)


3. Dokunmatik Arayüz Tasarımı (Touch-First UI)

ETAP tahtaları devasa tabletler gibidir. Mouse imleci yerine parmak veya kalem kullanılır. Bu durum UI/UX tasarımında köklü değişiklikler gerektirir.

Dikkat Edilmesi Gerekenler:

  • Hit Test Alanları: Butonlar ve etkileşimli öğeler, standart bir masaüstü uygulamasından daha büyük olmalıdır. InkWell veya GestureDetector kullanırken hitTestBehavior özelliğine dikkat edin.

    • Öneri: Buton yükseklikleri için en az 48-60 logical pixels kullanın.

  • Hover Efektleri: Dokunmatik ekranlarda "Hover" (üzerine gelme) durumu yoktur. Kullanıcı arayüzünü hover efektlerine bağımlı tasarlamayın; aktif durumu (pressed state) vurgulayın.

  • Ripple Efektleri: Material widget'ının ripple (dalga) efekti, dokunmatik geri bildirim için hayati önem taşır. Kullanıcının tahtada nereye dokunduğunu görmesini sağlar.


4. Sanal Klavye Entegrasyonu

Pardus ETAP üzerinde fiziksel klavye her zaman takılı olmayabilir. Flutter Linux uygulamaları, varsayılan olarak sistemin sanal klavyesini (on-screen keyboard) tetiklemekte bazen sorun yaşayabilir.

Geliştirme İpucu:

Uygulamanızdaki TextField veya TextFormField widget'larına odaklanıldığında sanal klavyenin açılmasını garanti altına almak için iki yol izleyebilirsiniz:

  1. Sistem Klavyesi: Pardus ETAP'ın kendi sanal klavyesi (örneğin Eta Klavye veya Onboard) ile uyumluluğu test edin.

  2. In-App Klavye: Eğitim uygulamaları (örneğin matematik soruları) için, uygulamanın içine gömülü, sadece rakamları içeren özel bir Widget klavye tasarlamak en temiz kullanıcı deneyimini sunar.


5. Ekran Çözünürlüğü ve Ölçeklendirme (DPI)

Akıllı tahtalar genellikle 4K (3840x2160) çözünürlüğe sahiptir, ancak arayüz ölçeklendirmesi (scaling) %150 veya %200 olabilir.

Kritik Nokta: MediaQuery

Uygulamanızın boyutlarını asla sabit piksel (hard-coded) olarak vermeyin. Tahtanın boyutlarını dinamik olarak almak için mutlaka MediaQuery kullanın:

Dart:
// Ekran genişliğine göre dinamik boyutlandırma örneği
double screenWidth = MediaQuery.of(context).size.width;
double fontSize = screenWidth > 1920 ? 24 : 16; // 4K ise büyük font

Pardus ETAP'ta pencere modu yerine genellikle Tam Ekran (Fullscreen) modu tercih edilir. Uygulamanızı başlatırken tam ekran moduna geçirmek için window_manager paketini kullanabilirsiniz.


6. Performans ve Derleme (Release Mode)

Uygulamanızı test ederken flutter run -d linux komutunu kullanırsınız (Debug modu). Ancak tahtalara yükleme yaparken mutlaka Release modunda derleme yapmalısınız. Debug modu, tahta donanımında hantal çalışabilir.

Dağıtım İçin Derleme:

Bash:
flutter build linux --release

Bu işlem sonucunda build/linux/x64/release/bundle/ klasöründe çalıştırılabilir dosyanız oluşacaktır. Bu klasörü tahtaya taşıyıp uygulamanızı çalıştırabilirsiniz.


7. Masaüstü Kısayolu (.desktop Dosyası) Oluşturma

Öğretmenlerin uygulamanızı kolayca başlatabilmesi için Pardus menüsüne veya masaüstüne bir kısayol eklemelisiniz.

/usr/share/applications/ veya ~/.local/share/applications/ altına uygulamam.desktop adında bir dosya oluşturun:

Plaintext:
[Desktop Entry]
Version=1.0
Name=Benim Eğitim Uygulamam
Comment=Flutter ile geliştirilmiş eğitim materyali
Exec=/opt/uygulamam/benim_uygulamam
Icon=/opt/uygulamam/assets/icon.png
Terminal=false
Type=Application
Categories=Education;

Özet

Pardus ETAP üzerinde Flutter geliştirmek; performans (C++ engine), görsellik (Skia/Impeller) ve taşınabilirlik açısından harika bir seçimdir. Başarı için anahtar noktalar; dokunmatik deneyimi önceliklendirmek, 4K ekranlara uyum sağlamak ve Linux bağımlılıklarını doğru yönetmektir.


ETAP 23 İçin Geliştirme İpuçları

Pardus ETAP üzerinde Flutter geliştirirken dikkat etmeniz gereken kritik noktalar şunlardır:

  1. Dokunmatik Hedefler (Touch Targets): Tahta büyük olsa da dokunmatik hassasiyeti bir telefon kadar hassas olmayabilir. Butonları ve etkileşim alanlarını (HitTestBehavior) her zaman büyük tutun.

  2. Linux Yapılandırması: Uygulamanızı derlerken flutter config --enable-linux-desktop komutunu kullanın ve çıktıyı .deb paketi haline getirerek (flutter_to_debian paketi ile) Pardus'a kolayca kurulmasını sağlayın.

  3. Karanlık Mod (Dark Mode): Sınıf ortamında beyaz ışığın gözü yormaması için uygulamalarınızda mutlaka koyu tema desteği bulundurun.

Yorumlar

Bu blogdaki popüler yayınlar

Pardus ETAP 23 İçin Flutter ile Dijital "Öğrenci Seçici" Uygulaması

Uygulama: Pardus Logosunu Göster

Pardus ETAP 23 İçin Flutter ile Sanal Laboratuvar