Flutter Package kullanımı

Enes Karaosman
Etiya
Published in
2 min readSep 10, 2021

--

Photo by Kadarius Seegars on Unsplash

Öncelikle package ve plugin terimlerini ifade etmeye çalışalım, birbirinden ne farkı var?

Package: Flutter geliştiriciler olarak çok sık kullandığımız (pub.dev), bu yazıda da odaklanacağımız package, projemizin pubspec dosyası içerisinden projemize eklediğimiz, geliştiriciler tarafından yazılan dart ya da flutter ile alakalı kodları barındıran paket olarak düşünebilirsiniz.

Plugin: Plugin ise platform bazlı (Android için Kotlin, iOS için Swift ile yazılmış olabilir) birtakım kodları projemize dahil etmemizi sağlayacak özel bir package türü gibi düşünebilirsiniz.

Bu kısa girişten sonra herhangi bir paketi eklemek istediğimiz zaman kullanacağımız pubspec.yaml dosyasından da bahsedelim.

iOS geliştiriciler Podfile ya da Package.swift

Android geliştiriciler gradle dosyası olarak düşünebilirler.

Projemizdeki pubspec.yaml dosyasını açalım, aşağıdakine benzer bir dosya ile karşılaşacağız.

name: project_name
description: Project Description here..
version: 0.0.1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter

dev_dependencies:
flutter_test:
sdk: flutter

Şimdi projemize nasıl bir paket ekleyebiliriz?

Paket ekleme işlemini paket geliştirmesi yaparken de kullanabiliriz, yani sadece uygulamalara paket eklenmiyor, eklediğimiz bir paket de birden fazla paketi dependency olarak eklemiş olabilir.

Paket ekleme

pubspec dosyası içerisinde dependencieskısmına kullanılmak istenen paket eklenir;

  • Eğer eklemek istediğimiz paket https://pub.dev/ ortamına publish edilmiş ise doğrudan ismi ile aşağıdaki gibi ekleme yapabiliriz.
dependencies:
styled_widget: ^0.3.2
  • Yok eğer yetkimizin olduğu bir repository’de barındırılıyor ise url ile de eklemek mümkün;
dependencies:
swifty_chat:
git:
url: https://github.com/EnesKaraosman/swifty_chat.git
  • Eğer ilgili paket cihaz lokalinde bulunuyor ise bu ihtimalde de aşağıdaki gibi eklemek mümkün;
dependencies:
swifty_chat:
path: ../swifty_chat

Android Studio ya da VS Code kullanıyorsanız, pubspecdosyasında düzenleme yaptığınız zaman Packages get ya da Get Packages gibi opsiyonlar beliriyor, bu seçenekler tetiklendiğinde pubspec dosyasının son haline ilgili düzenlemeler yansıtılır, yani paket eklemiş iseniz, ilgili paket otomatik olarak indirilecektir, kaldırma işlemi için de aynı durum geçerlidir.

Bu tetiklemeyi terminalden yapmak isterseniz de flutter pub get komutu yeterli olacaktır.

Paket kullanımı

Paketi ekledikten sonra ihtiyaç duyulan yerde ilgili kütüphanenin import işlemi gerçekleştirilir.

Bunu yaparken IDE’nizin otomatik tamamlama özelliğinden de faydalanabilirsiniz.

import 'package:'

bu ibareyi yazdıktan sonra paketin ismini yazıp kullanımınıza açılmış dosyaları projenize entegre edebilirsiniz.

Genellikle kullanıma açılan dosyalar tek bir dart dosyası üzerinden paylaşılıyor.

Versiyonlar ile alakalı da birkaç not paylaşalım; (detay)

Dart topluluğu versiyon yönetimi için semantic versioning kullanıyor.

Çok kısaca ifade etmek gerekirse 3 haneli versiyon numarası, MAJOR.MINOR.PAT şeklinde bir kapsam ifade ediyor.

dependencies:
some_package: ^5.4.0 # İyi, >= 5.4.0 < 6.0.0 aralığında herhangi bir versiyon.
image_picker: '5.4.3' # Kötü, sadece 5.4.3 versiyonu çalışıyor.
  • ^1.2.3 ibaresi >=1.2.3 < 2.0.0
  • ^0.1.2 ibaresi >=0.1.2 < 0.2.0

olarak düşünülebilir.

Kullanılan paketler kendi içlerinde ortak başka bir paketi dependency olarak eklemiş ise bir çakışma durumu olabilir, bu tarz riskleri azaltmak için yukarıda da bahsettiğimiz gibi ^ ile versiyon kullanımı tavsiye edilmektedir.

Paket güncelleme

flutter pub ugradekomutu ile pubspec dosyamızdaki paketler ilgili versiyonlama durumuna göre uygun üst versiyonlara güncellenir.

Daha detaylı içerik için resmi flutter sitesini ziyaret edebilirsiniz.

Flutter Paket geliştirme ile alakalı yazıya da buradan erişebilirsiniz.

--

--