iOS Uygulama : Türkiye’nin İlleri

Merhabalar, bugün sizlere App Store’da yayınladığım ilk iOS ve iPad uygulaması olan Türkiye’nin İllerinden bahsedeceğim. Uygulamada ne tip araçlar kullandım. Hangi kütüphaneleri, hangi dilleri kullandım ve hangi kaynaklardan yararlandım. Hepsine derinine inceleyeceğiz. Hazırsanız haydi başlayalım :)

Cennet vatanımız Türkiye’yi daha yakından tanımak adına böyle bir uygulama geliştirmeye karar verdim. Birbirinden farklı 81 ilin genel bilgilerini öğrenmek ve insanlarında bu uygulamayı severek takip etmelerini hedefleyerek geliştirmeye başladım. Uygulamayı geliştirirken hem öğrenip hem de keyif alarak güzel bir vakit geçiriyorum.

iOS programlamada öğrendiğim yapıları hemen mini projeler yaparak pekiştirmeyi ilke edinenlerdenim. Öğrendiğim yapılarla ilgili yaptığım mini appleri GitHub hesabımda paylaşıyorum. Aşağıdaki linki inceleyebilirsiniz :

iOS programlamada öğrendiğim TableView, Google AdMob, API’den veri çekme ve veriyi işleme, JSON ile çalışma, Navigation Bar, Segue, CocoaPods, Button, Label, Image, Alert gibi yapıları Türkiye’nin İlleri adlı uygulamada kullandım. Yeni öğrenilen bilgiler projeler geliştirdikçe kökleşir. Sizlerede şiddetle tavsiye ederim.

Uygulama Swift 5.0 diliyle kodlanmaktadır. IDE olarak Xcode kullanıldı. Alamofire, SwiftyJSON, ProgressHUD ve Google AdMob kütüphaneleri kullanıldı. Uygulama MVC pattern dizayna göre inşa edilip, kodlandı.

Türkiye’nin İlleri adlı uygulama 4 ana bölümden oluşmaktadır. Bölümler şu şekildedir :

  • İller sayfası
  • Hava durumu
  • Test bölümü
  • İletişim

Ana sayfada anlı şanlı bayrağımız 🇹🇷 sizleri karşılamaktadır. Bayrağın ahengini bozmamak adına 4 adet butonu 2 şer olacak şekilde aşağı ve yukarıya yerleştirdim.

Uygulama Kırmızı ve Beyaz renk buluşması ile daha canlı hale geldi.

  • İller bölümünde ilk olarak sizleri 81 İlimiz listeli bir şekilde karşılıyor.
  • İller plaka kodlarına göre listelendi.
  • İllerin logoları, isimleri ve plaka kodları cells halinde bulunmaktadır.
  • İstediğiniz ili arayabilir, seçtiğiniz ile gitmek için sadece tıklamınız yeterlidir.
  • Bu ekranda TableView yapısı kullanıldı.
  • TableView yapısına bir search kısmı eklendi. Navigation Bar kullanıldı.
  • Label, Image gibi basic bileşenlerden de yararlandı.
  • Detay sayfasında beyaz bir arka planı ve üzerine siyah tonda içerikler eklendi.
  • İllerin meşhur olan yemekleri, içecekleri ya da herhangi bir yapıtı en başta bizleri karşılıyor.
  • İlin bulunduğu bölge, yüz ölçümü, meşhur yemekleri, içecekleri, telefon kodu ve gezilecek yerleri ile ilgili bilgiler bulunmaktadır.
  • 📣 Bu içerikler en kısa zamanda daha da zenginleştirilecek.
  • Her ile özelleştirilmiş bu sayfadan iller butonuna tıklayarak geri gelebilir, diğer illeride inceleyebilirsiniz.
  • Hava durumu bölümüne girer girmez bu ekran sizleri karşılamaktadır. Anlık hava durumunu öğrenebilmeniz için öncelikle internetinizin ve konumunuzun açık olması gerekir.
  • İllerin hava durum bilgilerini öğrenebilmek için 🔁 emoji benzer olan butona tıklayarak illerle ilgili arama yapacağımız ekrana gidip, ilgili şehirle ilgili hava durumunu öğrenebiliriz.
  • Open Weather Map API kullanılmaktadır. Verileri bu API’den çekiyorum.
  • API’den veriye ulaşma, veriyi çekme işlemleri için Alamofire kütüphanesini kullanıyorum.
  • Bu çekilen JSON verisini SwiftyJSON kütüphanesi kullanarak anlaşılır hale getiriyorum.
  • Arama ekranında UIDataPicker kullandım. Kullanıcılara illeri ararken daha kolaylık olması açısından bu yapıyı tercih ettim.
  • Ara dediği zaman API’den çektiği veriyi ekranda gösterecek.
  • Arka plan statik. Diğer alanlar illere göre farklılık arz edilmektedir. Örneğin sıcaklık değeri, hava durum iconu değişmektedir.
  • Test bölümünde ise kullanıcıların illerle ilgili detaylı bilgilere ulaştığı kanısına varıp, kendilerini test edebilecekleri bir bölümdür.
  • 10 soruluk doğru-yanlış testleri bulunmaktadır. Veriler random bir şekilde gelmektedir. (13 soruydu update ettim.) 💬
  • Test soruları, illerin ilçeleri, telefon kodları, plaka kodları ve meşhur yiyecekleri hakkındadır.
  • Tüm soruları bitirdikten sonra bir Alert ile tekrardan başlama ya da oyundan çıkma seçeneği bulunmaktadır.
  • Cevapların doğruluk-yanlışları için bir ProgressHUD kütüphanesi kullandım.
  • İletişim bölümünde blog yazdığım siteleri ve gmail hesabımı koydum.
  • Gmail adresine gidip, öneri ve görüşlerinizi belirttiğiniz mailler atabilirsiniz.
  • Yazılım Cenneti, kişisel blog sitem. iOS ve Android konularında ağırlıklı olarak yazılar yazmaktayım.
  • Medium, hesabımda ise yazılım alanında birçok konu hakkında bilgilendirici, tanıtıcı yazılar yazmaktayım.
  • İngilizce Blog, sitesindeyse İngilizce öğrenirken kullandığım uygulamalar, izlediğim diziler, takip ettiğim eğitimlerle ilgili yazılar yazmaktayım.

Uygulamayı bu şekilde geliştirmeye başladım. Öğrendiğim yeni yapıları da uygulamanın ilerleyen sürümlerinde ekleyeceğim.

Uygulamama aşağıdaki linkten ulaşabilirsiniz :

Uygulamaya desteklerinizi bekliyorum. ♥️⭐️

Uygulamanın Android versiyonuna ise aşağıdaki linkten ulaşabilirsiniz :

Gelecek yazılarda görüşmek ümidiyle kendinize iyi bakın :)

--

--

Android Developer 👨🏻‍💻

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store