iOS Uygulamanız için Arka Uç Nasıl Oluşturulur?

Back4App Guide _ How to Build a Backend for Your iOS App_-2
Back4App Guide _ How to Build a Backend for Your iOS App_-2

iOS uygulamaları, web uygulamaları gibi, verileri depolamak ve takip etmek için bir yol gerektirir. Bu veriler ister bir bulut arka uç hizmetinde ister kişisel olarak çalıştırılan yerel olarak oluşturulmuş bir sunucuda depolansın, kullanıcı verilerini yönetmek için bir arka uç gereklidir.

Ancak iOS uygulamanız için sıfırdan bir arka uç oluşturmak, özellikle de iOS geliştirme ve arka uç geliştirme konusunda yeniyseniz, göz korkutucu bir görev olabilir.

Bu eğitimde, iOS uygulamanız için nasıl bir arka uç oluşturacağınızı öğreneceksiniz. İlk olarak, iOS geliştirmeye genel bir bakış sunacağız ve faydalarını ve sınırlamalarını tartışacağız.

Ardından, kullanabileceğiniz farklı arka uç seçeneklerini keşfedeceksiniz. Son olarak, iOS uygulamanız için arka uç olarak bir Hizmet Olarak Arka Uç (BaaS) olan Back4App’ı nasıl kullanacağınızı öğreneceksiniz.

iOS’a Genel Bakış

Apple, iPhone, iPad ve iPod Touch cihazlarında yerleşik mobil uygulamalara güç sağlamak için iOS’u birincil işletim sistemi olarak geliştirdi.

Bu uygulamaları oluşturmak ve Apple’ın tasarladığı şekilde iOS platformunda çalışacak şekilde optimize etmek iOS geliştirme olarak adlandırılır. iOS uygulamaları Objective-C ve son zamanlarda Swift olmak üzere iki programlama dili kullanılarak yazılır.

Objective-C, 2014 yılında Swift’in piyasaya sürülmesinden önce iOS uygulama geliştirme için kullanılan birincil dildi. Swift, okumayı ve yazmayı kolaylaştıran tür çıkarımı ve seçenekler gibi özelliklerle daha modern ve kullanıcı dostu bir dil olarak tasarlandı.

Her iki dil de aynı projede kullanılabilir. Bunun nedeni, Swift Belgelerine göre Swift’in Objective-C ile uyumlu olacak şekilde tasarlanmış olması ve mevcut Objective-C eski koduyla etkileşim kurmak için kullanılabilmesidir.

Apple, iOS uygulamalarınızı oluşturmak için rahatça kod yazabileceğiniz, iOS uygulamaları oluşturabileceğiniz ve geliştirebileceğiniz entegre bir geliştirme ortamı (IDE) olan Xcode‘u sağlar.

iOS Uygulamaları Geliştirmenin Faydaları

Bir geliştirici olarak, iOS uygulamaları oluşturmak aşağıdaki şekillerde faydalı olabilir:

Yüksek Kaliteli Kullanıcı Deneyimi

iOS uygulamaları, kullanıcıların çekici ve kullanımı kolay bulduğu sezgisel ve gösterişli tasarımlarıyla olağanüstü kullanıcı deneyimleriyle bilinir.

En iyi kullanıcı deneyimi için basitlik, netlik ve tutarlılığı vurgulayan özel bir uygulama tasarım kılavuzuna sahiptirler. Bunun sonucunda, kullanıcıların ihtiyaç duyduklarını bulmalarını ve görevlerini hızla tamamlamalarını kolaylaştıran kontrollere ve düzenlere sahip görsel olarak çekici uygulamalar ortaya çıkıyor.

Ayrıca Apple, uygulamalarının en yüksek kalite standartlarını karşılamasına yardımcı olmak için geliştiricilere kapsamlı bir tasarım araçları ve kaynakları seti sunuyor.

iOS uygulamaları ayrıca Apple cihazlarının özel donanım ve yazılımları için optimize edilerek hızlı performans, akıcı animasyonlar ve yüksek kaliteli grafikler elde edilmesini sağlar.

Daha İyi Güvenlik

iOS uygulamalarının bir diğer önemli avantajı da sağlanan güvenlik seviyesidir. Bunun başlıca nedeni Apple’ın sıkı App Store inceleme süreci, güçlü şifreleme ve gizlilik odaklı özellikler gibi çeşitli faktörlerdir.

App Store inceleme süreci, tüm App Store uygulamalarının katı içerik ve güvenlik yönergelerini karşıladığından emin olmak için tasarlanmıştır. Buna kötü amaçlı kod, zararlı yazılım ve diğer potansiyel güvenlik tehditlerine yönelik kontroller de dahildir.

Sonuç olarak, iOS uygulamalarının zararlı kod içerme veya kimlik avı saldırıları ya da diğer kötü niyetli faaliyetler için kullanılma olasılığı daha düşüktür.

Cihazlar Arasında Tutarlılık

iOS uygulamaları iPhone’lar, iPad’ler ve iPod Touch’lar dahil olmak üzere tüm Apple aygıtlarında aynı şekilde görünecek ve çalışacak şekilde tasarlanmıştır.

Bu tutarlılık, kullanıcıların yeni bir kullanıcı arayüzü veya navigasyon sistemi öğrenmelerine gerek kalmadan farklı cihazlar arasında geçiş yapmalarını kolaylaştırır. Ayrıca, uygulama geliştiricilerin uyumluluk sorunları veya cihaza özgü özellikler hakkında endişelenmelerine gerek kalmadan tüm cihazlarda sorunsuz çalışan uygulamalar tasarlayıp oluşturabilmelerini sağlar.

Geliştirici Araçları

Apple, iOS geliştiricilerine iOS uygulamalarını geliştirmeyi, test etmeyi ve hata ayıklamayı kolaylaştıran güçlü araçlar sunuyor.

Bu araçlar arasında iOS SDK, Xcode ve geliştirici deneyimini ve oluşturulan uygulamaların kalitesini optimize etmeye yardımcı olan bir dizi başka araç ve kaynak bulunmaktadır.

iOS Uygulamaları Geliştirmenin Sınırlamaları

iOS geliştirme deneyimi kusursuz değildir. Bir iOS uygulaması geliştirirken karşılaşacağınız sınırlamalar vardır. Bunlardan bazıları şunlardır.

Sınırlı Cihaz Uyumluluğu

iOS uygulamaları geliştirirken karşılaşılan en büyük hayal kırıklığı, cihaz uyumluluğunun kısa olmasıdır. Günümüz dünyasında çok çeşitli mobil cihaz üreticileri ve aynı derecede geniş bir özel kullanıcı yelpazesi bulunmaktadır.

Ancak iOS uygulamaları yalnızca Apple’ın kendi donanımı üzerinde çalışır. Bu da uygulamaların yalnızca iPhone, iPad ve iPod Touch cihazlarında kullanılabileceği anlamına gelir. Bu, geliştirdiğiniz bir uygulamanın potansiyel kitlesini sınırlar ve onu Apple ekosistemiyle kısıtlar.

Apple geniş bir kullanıcı tabanına sahip olsa da, Apple dışında daha geniş bir kitleye ulaşmak istiyorsanız iOS uygulamalarının sınırlı cihaz uyumluluğu bir dezavantaj olabilir.

App Store Onay Süreci

Apple’ın App Store inceleme süreci katı olmasıyla bilinir ve Google Play gibi diğer uygulama mağazalarından daha uzun sürebilir.

İnceleme süreci, App Store’daki tüm uygulamaların Apple’ın kalite, güvenlik ve içerik yönergelerini karşılamasını sağlamak için tasarlanmıştır. Ancak, uzun bekleme süresi nedeniyle uygulamanızın halka açılmasını geciktiren bir zorluk olabilir.

Kapalı Ekosistem

Apple, cihazlarının donanım ve yazılımlarını sıkı bir şekilde kontrol eder; yani iOS cihazlarıyla yalnızca Apple onaylı yazılım ve donanımlar kullanılabilir. Kapalı ekosistemleri de özelleştirme potansiyelini sınırlar ve uygulamanızın kullanıcılarına daha fazla esneklik sunmak istiyorsanız engeller oluşturabilir.

Bu kapalı sistem, geliştiricilerin üçüncü taraf hizmetleri ve API’leri ile entegrasyonunu zorlaştıracaktır.

iOS Uygulamaları için Arka Uç Seçenekleri

Artık iOS uygulamaları geliştirmenin avantajlarını ve sınırlamalarını bildiğinize göre, iOS uygulamanız için mevcut olan farklı arka uç seçeneklerini anlamalısınız.

IaaS

Hizmet Olarak Altyapı (IaaS), üçüncü taraf bir sağlayıcının kişisel yazılım çalıştırmak için ihtiyaç duyabilecek kullanıcılara İnternet üzerinden sanallaştırılmış bilgi işlem kaynakları sunduğu bir bulut bilişim modelidir.

Bir IaaS kullanmak, üçüncü taraf bir sağlayıcıdan sanal bir bilgisayar kiralamak gibidir. Bir bilgisayar satın almak ve depolamak yerine, sağlayıcının İnternet üzerinden barındırdığı bir bilgisayara erişebilirsiniz.

Bu bilgisayar, depolama alanı, işlem gücü ve bellek gibi özelliklerle kendi sanal bilgi işlem ortamınızı oluşturmanız için sağlanan tüm temel altyapıya sahip gerçek bir bilgisayarın sanal bir temsilidir.

Sağlayıcı, fiziksel donanım veya bakım konusunda endişelenmenize gerek kalmadan kendi yazılım ve uygulamalarınızı çalıştırabileceğiniz bu sanal bilgisayara erişim izni verir.

IaaS ile gerektiğinde ölçeği artırabilir veya azaltabilirsiniz ve yalnızca kullandığınız kadar ödeme yaparsınız. IaaS hizmetlerine örnek olarak Amazon Web Services (AWS), Microsoft Azure ve Google Cloud Platform verilebilir

PaaS

Hizmet Olarak Platform (PaaS), IaaS’a benzer bir başka bulut bilişim modelidir. PaaS sağlayıcıları, minimum özelleştirme ile önceden yapılandırılmış bir platform sunarak uygulama oluşturmanızı ve dağıtmanızı daha kolay ve hızlı hale getirir.

IaaS ve PaaS arasındaki temel fark, altta yatan altyapı üzerinde sahip olduğunuz kontrol düzeyidir.

IaaS ile sağlayıcı, sunucular ve depolama gibi sanallaştırılmış bilgi işlem kaynaklarını İnternet üzerinden sunar. Aynı zamanda, işletim sistemi, ara katman yazılımı ve uygulamalar da dahil olmak üzere sanal ortam üzerinde tam kontrole sahip olursunuz.

Öte yandan, PaaS ile sağlayıcı, uygulamaları geliştirmek ve dağıtmak için gereken işletim sistemleri, ara katman yazılımları ve diğer yazılım bileşenleri için önceden yapılandırılmış bir platform sunar. PaaS sağlayıcısı altta yatan altyapıyla ilgilenirken sizin yalnızca uygulamayı geliştirmeye odaklanmanız gerekir.

PaaS hizmetlerine örnek olarak Heroku, Google App Engine ve Microsoft Azure App Service verilebilir.

BaaS

Hizmet Olarak Arka Uç (BaaS) ile, altta yatan altyapıyı oluşturmadan veya yönetmeden bir bulut arka ucunu uygulamanıza kolayca entegre edebilirsiniz.

BaaS sağlayıcıları, veritabanları, kullanıcı kimlik doğrulaması, dosya depolama, sunucusuz işlevler ve anlık bildirimler gibi PaaS veya IaaS ile yaygın olarak sağlanmayan önceden oluşturulmuş arka uç hizmetleri sunar. Artık bu hizmetleri bir API veya SDK aracılığıyla uygulamalarınıza entegre edebilirsiniz.

Bu, kendi arka uç altyapınızı oluşturma ve sürdürme ihtiyacınızı ortadan kaldırarak uygulamanın ön ucunu oluşturmaya odaklanmanıza olanak tanır. BaaS hizmetlerine örnek olarak Back4App, Firebase ve 8Base verilebilir.

Bir iOS Uygulaması için Arka Uç Geliştirmenin Maliyeti Nedir?

Bir iOS uygulaması için arka uç geliştirmek; zaman, kaynaklar ve gereken insan kaynağı gibi çeşitli faktörlere bağlı olarak maliyet açısından değişiklik gösterebilir.

Arka uç oluşturmak ve kurmak için harcanan zaman, dikkate alınması gereken önemli bir faktördür. Arka uç oluşturmak için gereken süre, uygulamanın işlevlerinin karmaşıklığına ve arka ucun uygulama ile entegrasyonuna bağlıdır.

Ayrıca test, hata ayıklama ve dağıtım için ek süre gerekebilir. Uygulamanın işlevleri ne kadar karmaşık olursa, arka ucun geliştirilmesi o kadar uzun sürebilir ve bu da sonuçta maliyeti artırabilir.

Arka ucu geliştirmek için gereken insan kaynakları, maliyeti etkileyen bir diğer kritik faktördür. Deneyimli geliştiricileri işe almak ve elde tutmak pahalı olabilir ve eğitim ve geliştirme maliyeti, arka uç geliştirmenin toplam maliyetine eklenebilir.

Bir iOS uygulaması için arka uç geliştirme maliyeti, Back4app gibi mevcut arka uç çözümlerinden yararlanılarak yönetilebilir.

Back4app ile iOS Uygulama Arka Ucu Nasıl Oluşturulur?

Back4App, mobil ve web uygulaması geliştirme için hazır bir arka uç altyapısına sahip bir Hizmet Olarak Arka Uç (BaaS) platformudur. Veritabanı yönetimi, kullanıcı kimlik doğrulaması, anlık bildirimler ve daha fazlası dahil olmak üzere güçlü ve ölçeklenebilir bir arka uç altyapısı sağlar.

Back4App, çeşitli nedenlerden dolayı iOS uygulamanız için bir arka uç olarak mükemmel bir seçenektir. Öncelikle, verileri ve API’leri yönetmeyi kolaylaştıran basit ve kullanıcı dostu bir arayüz sağlar.

İkinci olarak, geliştirme sürecinin her adımında size rehberlik eden kapsamlı belgeler sunar. Ayrıca Back4App, büyük veya küçük tüm uygulamaların ihtiyaçlarını karşılayabilecek ölçeklenebilir bulut barındırma ve üst düzey güvenlik özellikleri sunar.

Aşağıda özetlenen adımları izleyerek Back4App kullanarak bir iOS uygulaması arka ucu oluşturabilirsiniz.

Adım 1: Ücretsiz Back4app Hesabı için Kaydolun

iOS uygulamanız için bir arka uç altyapısı oluşturmak için resmi web sitesinden ücretsiz bir Back4App hesabına kaydolun. Back4App hesabınızla, iOS uygulamanız için arka uç oluşturup yapılandırabilir ve verilerle ilgili tüm işlemleri bu arka uç uygulamasından yönetebilirsiniz.

Ücretsiz bir hesaba kaydolmak için Back4App web sitesine gidin ve bir Google hesabı, GitHub hesabı veya e-posta adresi kullanarak kaydolun.

Adım 2: Yeni Bir Uygulama Oluşturun

Artık bir Back4App hesabınız olduğuna göre, giriş yapabilir ve YENİ bir UYGULAMA oluşturmaya devam edebilirsiniz. Bunu yapmak için hesap sayfanızın sağ üst köşesinde bir düğme bulunacaktır. Uygulamanız için Backend as a Service seçeneğini seçmelisiniz.

Yeni uygulamanıza uygun bir isim vermeye devam edin ve Oluştur düğmesine basın.

Back4App şimdi uygulamanızı oluşturacak ve sizi kontrol paneline yönlendirecektir.

Adım 3: iOS Uygulamanızı Back4app’e Bağlayın

Bir sonraki adım, iOS uygulamanızı Back4App arka ucunuza bağlamaktır. Bunu yapmak için Parse SDK’yı iOS uygulamanıza yüklemeniz gerekir. Uygulamanız, arka uca doğrudan bir bağlantı elde etmek için bu SDK’yı kullanacaktır.

Bağlantıyı kurmadan önce, üzerinde çalışabileceğiniz çalışır durumda bir iOS uygulamasına sahip olmanız gerekir. Daha önce de belirtildiği gibi, iOS uygulamaları Apple’ın Apple yazılımı geliştirmek için kullandığı IDE olan Xcode kullanılarak oluşturulur.

Bu kılavuzu takip edebilmek için Mac bilgisayarınızda Xcode’un yeni bir sürümünün (sürüm 13.0.0 veya üstü) yüklü olması gerekir. Bu kılavuzda kullanacağınız bazı araçlar ve özellikler yalnızca Xcode’un bu sürümlerinde mevcuttur.

Xcode’u başlatarak ve yeni bir Xcode iOS Uygulama projesi oluşturarak başlayın:

xcode yeni uygulama başlatma

Bazı yapılandırma bilgileriyle birlikte uygulamanız için bir ad doldurmanız istenecektir. Tercih edilen arayüz olarak SwiftUI’yi seçtiğinizden emin olun.

Xcode yeni uygulama yapılandırması

SwiftUI arayüzü, kullanımdan kaldırılan StoryBoard arayüzünden farklı bir görünüm sistemi kullanır. Sonuç olarak, mevcut proje yapınızda bir AppDelegate.swift dosyası eksik olacaktır. Kılavuzun ilerleyen bölümlerinde ihtiyaç duyacağınız için bu dosyayı oluşturmanız gerekir.

AppDelegate.swift dosyasını oluşturun ve aşağıdaki kodu dosyaya aktarın:

import SwiftUI

class AppDelegate: NSObject, UIApplicationDelegate {
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        return true 
    }
    
}

Şimdi kök proje dosyanızdaki App ‘in içinde, aşağıdaki kodu kopyalayıp en üste yapıştırın:

@UIApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate

Artık Parse SDK’yı yüklemeye hazırsınız. Bunu Xcode projeleri için açık kaynaklı bir bağımlılık yöneticisi olan CocoaPods ile yükleyeceksiniz. Henüz yüklemediyseniz devam edin ve CocoaPods ‘u yükleyin.

İlk olarak, proje dizininizdeki bir terminalde pods init komutunu çalıştırarak projeniz için bir Podfile başlatın.

Oluşturulan Pod dosyasını Xcode ile açın ve Parse SDK’yı belirtin.

Pod dosyanız aşağıdaki gibi görünmelidir:

# Uncomment the next line to define a global platform for your project
#platform :ios, '13.0'

target 'ParseiOS-app' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for ParseiOS-app
  pod 'Parse'
  
end

Daha sonra Podfile’da belirtilen Parse bağımlılığı ile Parse SDK’yı projenize yükleyebilirsiniz.

Terminalde aşağıdaki komutu çalıştırın:

pod install

Pod’ları yükledikten sonra, projeniz .xcworkspace uzantılı yeni bir çalışma alanı dosyası olarak yeniden oluşturulacaktır. Buradan itibaren, yeniden oluşturulmuş çalışma alanı ile çalışacaksınız.

Parse SDK’yı projenize başarıyla yüklediniz.

Pod yüklemesini çalıştırdıktan sonra bir iOS sürüm simülatörü uyumluluk hatasıyla karşılaşabilirsiniz. Böyle bir durumda, Podfile’ınızı sonuna bunu ekleyecek şekilde değiştirin:

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      end
    end
  end
end

Kod parçacığı, CocoaPods podları yüklemeyi tamamladıktan sonra Xcode projenizin derleme ayarlarını değiştirmenize olanak tanıyan Podfile’ınız için bir yükleme sonrası kancasıdır.

Bu özel son yükleyici, iPhone OS için minimum dağıtım hedefi sürümünü 12.0 olarak ayarlar. Bunu ['IPHONEOS_DEPLOYMENT_TARGET'] öğesine yeni bir sürüm atayarak istediğiniz zaman değiştirebilirsiniz.

Şimdi podları tekrar yükleyin:

pod install

iOS uygulamanızı bağlamayı tamamlamak için Back4App uygulamanızın Uygulama Kimliğini ve İstemci Anahtarını bağlamanız gerekecektir. Bunu yapmak için, kontrol panelinde bulunan Uygulama Ayarları ‘na gidin ve Sunucu Ayarları > Çekirdek Ayarları‘na gidin.

Çekirdek Ayarlar içinde, Back4App arka ucunuz için kişisel olarak oluşturulan Uygulama kimliğini ve İstemci Anahtar ını bulmalısınız. Bu anahtarları kopyalayın ve kaydedin.

💡 Not: Yukarıdaki resimde gösterilen anahtarlar, bu kılavuz için oluşturulmuş bir test uygulaması içindir. Yukarıdakiler uygulamanız için çalışmayacağından, kendi kişiselleştirilmiş anahtarlarınızı kopyaladığınızdan emin olun.

Ardından, AppDelegate.swift dosyasını açın ve didFinishLaunchingWithOptions işlevi içindeki mevcut kodu değiştirin.

İşleviniz şu şekilde görünmelidir:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        print("app launched!")

        let configuration = ParseClientConfiguration {
    $0.applicationId = "PASTE_YOUR_APPLICATION_ID_HERE"
    $0.clientKey = "PASTE_YOUR_CLIENT_ID_HERE"
    $0.server = "<https://parseapi.back4app.com>"
}
Parse.initialize(with: configuration))

        return true
    }

Kayıtlı Uygulama kimliğinizi ve İstemci Anahtarınızı belirtilen yer tutuculara yapıştırın.

Daha sonra 'modül bulunamadı' hatalarını temizlemek için Parse SDK’yı bu dosyaya aktarmalısınız:

import Parse

Uygulamanız şimdi Back4App’a başarıyla bağlandı!

Adım 4: Arka Ucunuzu Test Edin

Bu bölümde, Back4App sunucusu ve oluşturduğunuz uygulama ile etkileşime girebildiğinizi onaylamak için iOS uygulamanızı test edeceksiniz.

CRUD işlemlerini test edecek ve Parse SDK‘yı kullanarak veri depolayacaksınız.

Testin sonunda, oluşturulan verilerin başarıyla kaydedildiğini ve arka uç uygulamasından okunduğunu onaylayabileceksiniz.

Arka uçta veri depolamak için Back4app içinde bir sınıf nesnesi oluşturacaksınız. Varsayılan olarak, yeni bir sınıf üç alanlı bir şemaya sahip olacaktır: “objectId”, “createdAt” ve “updatedAt”. Yeni alanlar ve veri satırları ekleyebilirsiniz.

iOS uygulamanızdan yeni bir alan oluşturacak ve oluşturduğunuz sınıfta depolanan verileri okuyacaksınız.

İlk olarak, ContentView.swift içinde SwiftUI’nin hemen altında Parse SDK’yı içe aktarın:

import SwiftUI
import Parse

Uygulamanızın arka uçla etkileşime girebildiğini test etmek için, bir kullanıcının bir puan metni girmesi ve bunun arka uca kaydedilmesi için bir kullanıcı arayüzü oluşturacaksınız. Uygulama ayrıca arka uca ulaşabilecek, sınıfınızdan veri sorgulayabilecek ve kaydedilen puanları görüntüleyebilecek.

ContentView.swift ‘teki View yapısının üst kısmında aşağıdaki değiştirilebilir durum özelliklerini oluşturun:

@State private var newScore: Int = ""
@State private var scores: [PFObject] = []

Bu durum özellikleri, değerleri değiştiğinde görünüm güncellemelerini tetikleyecektir. İlki, String türünde newScore adında bir durum özelliği bildirir. Kullanıcı tarafından yeni bir puan için girilen giriş değerini temsil eder. Boş bir "" dizesiyle başlatılır.

İkincisi, PFObject örneklerinden oluşan bir dizi olan [P FObject ] türünde scores adında bir durum özelliği bildirir. Bu, arka uçtan alınan puanları temsil edecektir.

PFObject sınıfı, Parse-SDK-iOS tarafından sağlanan ve veri depolayabilen bir sınıf nesnesidir. Nesneleriniz için özel özellikler ve değerler tanımlamanıza olanak tanır ve bunlar daha sonra arka uca kaydedilebilir.

Ardından, bir VStack öğesinin içine aşağıdaki kod parçacığını ekleyin:

VStack {
  TextField("EnterScore", text: $newScore)
    .textFieldStyle(RoundedBorderTextFieldStyle())
    .padding()
  Button("Save Scores") {
    saveScore()
  }

  List(scores, id: \\.objectId) { score in
    Text(score["score"] as? String ?? "")
  }
}
.padding()
.onAppear {
  fetchScores()
}

Kullanıcıların bir puan gireceği bir TextField ‘ınız var. Metin parametresi newScore durum değişkenine bağlıdır, bu da metin alanındaki herhangi bir değişikliğin newScore değişkenine yansıtılacağı anlamına gelir.

Ardından, dokunulduğunda saveScore() işlevini tetikleyen bir “Puanları Kaydet” düğmesi vardır.

Liste bileşeni, arka uçtan alınan puanları görüntüler. Listeyi doldurmak için puanlar dizisini kullanırsınız ve id parametresi her puan öğesi için benzersiz bir tanımlayıcı belirtir. Listenin içinde, puan değerini bir dize olarak görüntüleyen bir Metin görünümünüz vardır.

Skorun mevcut olmadığı veya farklı bir türde olduğu durumları ele almak için isteğe bağlı zincirleme ve nil-birleştirme operatörünü (??) kullanırsınız.

Son olarak, onAppear değiştiricisi, VStack görünümü göründüğünde fetchScores() işlevini tetiklemek için kullanılır.

Bu noktada, saveScores() ve fetchScores() işlevlerinin bulunamadığına dair bir hata alıyor olmalısınız.

Daha sonra bu fonksiyonları oluşturacaksınız. Bu fonksiyonlar sırasıyla veri yazma, kaydetme ve kaydedilen verileri bağlantılı Back4app arka uç uygulamanızdan alma işlemlerini gerçekleştirecektir.

newScore değişkenini arka uca kaydetmek için .save() veya saveInBackground() yöntem çağrısını kullanın:

func saveScore() {
  let score = PFObject(className: "GameScore")
  score["score"] = newScore

  score.saveInBackground { success, error in
    if let error = error {
      print("Error saving score: \\(error.localizedDescription)")
    } else {
      print("Score saved sucessfully: \\(String(describing: score.objectId))")
      newScore = ""
      fetchScores()
    }

  }
}

İlk olarak, sınıf adı “GameScore” olan yeni bir PFObject örneği oluşturursunuz. Bu nesne arka uç veritabanında yeni bir girişi temsil eder. Sonraki satırda, nesnenin “score” özelliğini newScore‘da depolanan değere ayarlarsınız.

Ardından, score nesnesi üzerinde saveInBackground yöntemini çağırırsınız. saveInBackground kullanımı, arka plan kuyruğunda yürütülen eşzamansız bir kaydetme işlemi başlatacaktır. Tamamlama kapanışının içinde, kaydetme işlemi sırasında bir hata oluşup oluşmadığını kontrol eder ve hatayı işlersiniz.

Skoru başarıyla kaydettikten sonra, metin alanını temizlemek için newScore durum değişkenini boş bir dizeye sıfırlarsınız. Ardından, puan listesini güncellemek için fetchScores() fonksiyonunu çağırın.

fetchScores() fonksiyonu içinde, arka uç verileriniz üzerinde sorgular gerçekleştirmek ve belirli bir sınıftan nesneler almak için Parse’ın PFQuery ‘sini kullanacaksınız. Bu durumda, bu sınıf GameScore sınıfıdır:

func fetchScores() {
  let query = PFQuery(className: "GameScore")
  query.findObjectsInBackground { objects, error in
    if let error = error {
      print("Error fetching scores: \\(error.localizedDescription)")
    } else if let objects = objects {
      scores = objects
    }

  }
}

Burada, asenkron getirme işlemini başlatmak için sorgu nesnesi üzerinde findObjectsInBackground yöntemini çağırırsınız. Tamamlama kapanışının içinde, bu sorgunun sonuçlarını işleyebilirsiniz.

Getirme işlemi sırasında bir hata oluşursa, bir hata mesajı yazdırırsınız. Aksi takdirde, getirme işlemi başarılı olur ve nesneler döndürülürse, scores durum değişkenini getirilen nesnelerle güncellersiniz. Bu nesneler arka uçtan alınan puanları temsil eder.

Uygulamanızı çalıştırdığınızda, yeni bir skor girdiğinizde ve Skorları Kaydet düğmesine bastığınızda, uygulama yeni skor değerinizi arka uca gönderecek ve kaydedecek ve depolanan tüm kayıtlı skorları getirecektir. Daha sonra aşağıdaki resimdeki gibi puanların bir listesini görüntülemelidir.

Uygulama simülasyonu
Uygulama simülasyonu

Puanların arka ucunuzdaki puan değerleriyle nasıl örtüştüğüne dikkat edin.

Back4app Arka Uç

Bu, testin geçildiğini ve Back4App arka ucundan başarıyla veri yazıp okuduğunuzu onaylar.

Artık Back4App ve Swift programlama dilini kullanarak iOS mobil uygulamalarınız için nasıl bir arka uç oluşturacağınızı biliyorsunuz.


Leave a reply

Your email address will not be published.