Flutter Package kullanımı
Ö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.1environment:
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 dependencies
kı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, pubspec
dosyası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 ugrade
komutu 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.