DEV Community

Cover image for Flutter Networking💫 🌌 ✨
Gülsen Keskin
Gülsen Keskin

Posted on • Updated on

Flutter Networking💫 🌌 ✨

Dio

Dio, HTTP isteklerini kolaylıkla işlemeyi sağlayan bir Flutter network kitaplığıdır. Interceptor'ları , genel konfigurasyonları , FormData'yı, request iptalini, dosya indirmeyi ve zaman aşımını (timeout) destekler ve API çağrıları ve çok daha fazlası için güçlü bir araçtır.

Neden Dio?
Dio, API'lerle çalışan herkes için oldukça yararlı bir kitaplıktır. API çağrıları yapmaya yardımcı olur ve bunlar üzerinde iyi bir kontrol sağlar. Dio ile, birden fazla dosyanın yüklenmesini ve indirilmesini kolayca yönetebilirsiniz.

Dart'ta http olarak bilinen ve HTTP isteklerini işlemek için kullanılan benzer bir kitaplık vardır. Ancak oldukça ayrıntılıdır ve HTTP çağrıları üzerinde fazla kontrole izin vermez.

Interceptor:
Interceptor, örneğin internet bağlantısı yeniden kurulduğunda bir isteği otomatik olarak yeniden denemek istiyorsanız interceptor kullanabilirsiniz, interceptor'lar Dio'nun hayati bir parçasıdır.
Ayrıca Dio'yu kullanarak büyük dosyaların indirme ilerlemesini kolayca takip edebilirsiniz.

Artıları
• HTTP üzerinden API çağrıları yapmak
• Download/upload süreçlerini izlemek
• İstekleri engelleme yeteneği

Örnek:

/// Bir değişken tanımla
late Dio _dio;

// Dio'yu Başlat
BaseOptions options = new BaseOptions(
 baseUrl: ‘https://api.codemagic.io’,
 connectTimeout: 5000,
 receiveTimeout: 3000,
 headers: {
 “Content-Type”: “application/json”,
 “x-auth-token”: _token,
 });
_dio = new Dio(options);

// POST Data
Response response = await _dio.post(
 “/builds”,
 data: {
 “appId”: _appId,
 “workflowId”: _workflowId,
 “branch”: _branch,
 },
);
if (response.statusCode == 200) {
 print(response.data);
}

// GET Data
Response response = await _dio.get(
 “/builds/$_buildId”,
);
if (response.statusCode == 200) {
 print(response.data);
}
Enter fullscreen mode Exit fullscreen mode

Ağ oluşturma ağ kitaplıklarının listesi

http: HTTP requestleri için şekillendirilebilir, çoklu platform, Future-based API'yi destekleyen Flutter eklentisi.

url_launcher: Mobil platformda bir URL başlatmak için kullanılan Flutter eklentisi. Web, telefon, SMS ve e-posta şemalarını destekler.

firebase_auth: Google, Facebook ve Twitter gibi şifreler, telefon numaraları ve kimlik sağlayıcıları kullanarak kimlik doğrulamayı sağlayan Firebase Auth için Flutter eklentisi (plugin).

Firebase_messaging: Firebase Bulut Mesajlaşma için Flutter eklentisi, mesajların güvenilir bir şekilde iletilmesini sağlayan cross platform bir mesajlaşma çözümü.

• google_sign_in: Bir Google hesabıyla oturum açmak için güvenli bir kimlik doğrulama sistemi olan Flutter eklentisi.

• sign_in_with_apple: Apple ile Oturum Açmayı başlatmak için Flutter köprüsü (iOS, macOS ve Android'de). Bir Apple Kimliği ile oturum açmanın yanı sıra keychain girişleri için de destek içerir.

Resource: Flutter Libraries We Love

Top comments (0)