Flutter ShoreBird ile Uygulama Güncelleme

AbdullahTaş
4 min readJul 5, 2023

Flutter ShoreBird ile Uygulama Güncelleme

Herkese selamlar :) Epey uzun bir aradan sonra tekrardan karşınızdayım. Bu yazımın konusu Flutter ShoreBird ile Uygulama Güncelleme. Shorebird ile Flutter’de uygulama mağazalarına uygulama göndermeden güncelleme yapmamızı sağlıyor.

Öncelikle böyle bir olaya neden ihtiyaç duyulur bunu açıklamak isterim; Canlıya alınmış bir uygulamada tespit edilen bir hata olduğunu düşünelim. Normal yollarla uygulamayı güncelleyip uygulama mağazalarına gönderip, onaylanmasını bekleriz. Hatanın çok büyük bir hata olduğunu varsayarsak geçen her saniye bile çok önem arz eder. Dolayısıyla uygulamanın hemen güncellenmesi gerekiyor. İşte Flutter ShoreBird ile Uygulama Güncelleme bizi bu süreçlerden kurtararak uygulamamızı hemen güncellemeyi sağlıyor.

Henüz yazımın başındayken belirtmek isterim, edindiğim bilgilere göre uygulama mağazaları henüz bu uygulamaya çok sıcak bakmıyormuş. İlerleyen süreçlerde durum nereye gider bilinmiyor.

Hadi gelin hep beraber Shorebird uygulamasına yakından bakalım.

Başlayalım

Öncelikle bilgisayarımıza Shorebird uygulamasını kuralım. Bunun için cihazınızda git kurulu olmalı!

Eğer git yüklü ise MAC veya Linux cihazınızda terminali açıp aşağıdaki kodu yapıştırın

curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash

Windows cihazınızda ise terminale aşağıdaki kodu yapıştırın

powershell -exec bypass -c "(New-Object Net.WebClient).Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/main/install.ps1'|iex"

Kurulumla ilgili daha fazla bilgi almak için buraya tıklayın!

Bu işlem başarıyla tamamladığında terminalize shorebird yazdığınızda aşağıdaki gibi bir çıktı almalısınız.

SOURCE: https://itnext.io/shorebird-flutter-codepush-over-the-air-updates-db8e2efb3077[/caption]

Flutter’in bilgisayarımıza doğru kurulduğundan emin olmak için çalıştırdığımız flutter doctor komutunun bir kopyası olan shorebird doctor ile shorebird uygulamasının doğru kurulduğundan emin olabilirsiniz.

SOURCE: https://itnext.io/shorebird-flutter-codepush-over-the-air-updates-db8e2efb3077[/caption]

Herhangi bir sorun varsa bu sorunu giderip yukarıdaki komutu kullanarak kurulumun başarılı olup olmadığını kontrol edebilirsiniz. Kurulumu başarıyla tamamladıktan sonra bir sonraki adıma geçebiliriz.

Kayıt Olma Ve Giriş Yapma

Shorebird kullanmak için uygulamaya kayıt olmalı veya giriş yapmalısınız. Kayıt olmak için terminali açıp aşağıdaki kodu yazıyoruz. Kayıt olma işlemi Google OAuth2 prosedürünü gerektirdiği için sizden istenen bilgileri dikkatlice doldurmalısınız.

shorebird account create

Giriş yapmak içinde yine Google OAuth2 prosedürü işliyor. Terminali açıp giriş yapmak için aşağıdaki kodu kullanabilirsiniz.

shorebird login

Bir sonraki adım ise artık Shorebird ile uygulama güncellemeri inşa etme olacak.

Uygulama Güncellemeri Oluşturma

Uygulama güncellemeleri oluşturmak için bir kaç adım var. Bu adımlar;

  • Initialize shorebird
  • Shorebird run
  • Shorebird release/patch/build olarak tanımlanıyor.

Shorebird kurulum adımlarını başarıyla tamamladığımız için ikinci konu başlığına geçiyorum; Shorebird run, bu flutter run — release komutu gibidir. Uygulamanızın başarılı bir şekilde çalıştığından emin olmak için shorebird run komutunu çalıştırmalısınız. Aşağıda örnek bir kod satırı bulunmaktadır. Dikkat etmeniz gereken nokta şu; Flutter’de komutları çalıştırmak için sadece bir kere — işaretini kullanırken shorebird için ise iki kere kullanmak gerekiyor.

shorebird run  veya shorebird run -- --dart-define="API_KEY=SomeKey"

Shorebird release

Bir uygulama yayınlamak için, shorebird release komutunu kullanmanız gerekir. Android’de release komutunu kullanarak bir uygulama paketi (aab) oluşturur. Şu anda, iOS desteğiyle ilgili resmi bir duyuru yok. Ancak bunun yakında duyurulacağına inanılıyor (Site, Temmuz ayında başlatıldığını söylüyor). Aşağıda release komutu ile ilgili örneği bulabilirsiniz.

shorebird release veya shorebird release -- --dart-define="API_KEY=SomeKey"

Shorebird build appbundle; Build komutu daha düşük seviyeli bir komuttur. Build komutu ile, shorebird codepush uygulamanıza dahil edilir ve oluşturmak istediğiniz yapıyı apk veya uygulama paketi olarak belirtmenize imkan verir. Örnek komut aşağıdaki gibidir;

shorebird build appbundle veya shorebird build appbundle -- --dart-define="API_KEY=SomeKey"

Release ve build kısımlarına hızlıca değindik. Bu komutlar flutter kullananların zaten bildiği komutlar. Tek farkı içerisine shorebird eklenmesidir. Şimdi ise patch yani yama-güncelleme yayınlama kısmına bakalım.

Shorebird patch

Shorebird patch komutunu çalıştırmak ilgili yapıları oluşturur ve zaten varolan sürüm ile mevcut değişiklikleri kıyaslamaya başlar. Aradaki farkı kullanarak patchi oluşturur ve Shorebird arka ucuna yükler. Buradanda uygulamaya iletir ve uygulamayı en güncel hale getirir. Kullanıcı uygulamayı kapatıp tekrar açtığında güncellemeler görünür hale gelir. Burada soru işareti olmaması açısından şunuda eklemek gerekir; Uygulamanızın versiyon numarasını değiştirmenize gerek yoktur. Örnek komut satırı aşağıdadır;

shorebird patch veya shorebird patch -- --dart-define="API_KEY=SomeKey"

İşte hepsi bu kadar. Uygulama marketlerine güncelleme gönderip beklemeden Flutter ShoreBird ile Uygulama Güncelleme işlemi böyle yapılıyor. Özetlemek gerekirse;

  • Shorebird uygulamasını kuruyoruz, kaydoluyoruz veya giriş yapıyoruz.
  • Shorebird uygulamamıza ekleyip, uygulama mağazalarında yayınlayıp kullanıcılara uygulamamızı sunuyoruz
  • Shoredbird patch ile uygulamamızda değişiklikler yapıyoruz ve anında kullanıcılara iletiyoruz.

Umarım sizler için faydalı bir yazı olmuştur. Yazımda eksik ya da yanlış bulduğunuz yerleri iletebilirsiniz. Bir sonraki yazımda görüşmek üzere :)

KAYNAKLAR

abdullahtas.dev

Getting started with shorebird
Codepush quick start
Releasing a code push app

Shorebird: CodePush

--

--

AbdullahTaş

Bilgisayar Programıcısı-AÖF Yönetim Bilişim Sistemleri/DART&FLUTTER