What You Will Learn!
- iPhone ve iPad için uygulama geliştirme aşamaları ve önemli püf noktaları.
- Geliştirilen bir uygulamanın App Store'da yayınlanma aşamaları.
- Uygulama geliştirirken, kullanıcı deneyimini arttırmak için dikkat edilmesi gereken hususlar.
Description
Altı yıldan fazla süredir, IOS konularına kafa yoruyorum. Objective-C ile başlayan IOS serüvenim Swift ile devam ediyor ve bu süre içerisinde edindiğim bilgi ve deneyimlerimin bir kısmını, bu kursla dilim döndüğünce sizinle paylaşmak istiyorum.
Bu kurs, bir uygulamayı sıfırdan hazırlayarak, App Store'da yayınlamaya kadar geçen süreçleri ele almaktadır.
Hazırlayacağımız uygulama şu an App Store'da indirilebilir durumdadır. Burada direkt bir bağlantı paylaşamıyorum ama App Store'da "Prime Finder" diye aratarak uygulamayı cihazınıza indirip inceleyebilirsiniz.
Hazırlayacağımız uygulama basit bir asal sayı hesaplama uygulaması olacak. Anlatacağım konulara derinlemesine değinebilmek adına, nispeten basit bir uygulama seçtim, fakat buna rağmen, kursu hazırlamak için çektiğim videoların toplam süresi otuz saati buldu ama siz değerli kursiyerlerin zamanını çalmamak için tüm videoları saniye saniye editledim ve gereksiz duraksama ve anlatım bozukluklarını mümkün olduğunca temizlemeye çalıştım. Ama yine de kursumuzun toplam süresi onaltı saati aştı, fakat her saniyesi dolu dolu bir kurs olduğunu garanti ediyorum.
Dediğim gibi, hazırlayacağımız uygulama, hesap makinesi benzeri bir asal sayı hesaplama uygulaması olacak ve IOS 9 üzeri tüm cihazlarda (iPhone, iPad, iPod) çalıştırılabilir olacak. Kullanıcılar bu uygulama sayesinde uygulama ekranına girdikleri tam sayıların asal olup olmadıklarını kontrol edebildikleri gibi, girdikleri sayıdan önceki veya sonraki asal sayıların da nele olduğunu hesaplayabilecekler. Uygulama içerisindeki paylaşma özelliğini kullanarak yaptıkları hesaplamaları diğer uygulamalar aracılığıyla dışarıya aktarabilecekler.
Uygulamayı xCode 9 üzerinde Swift 4 ile hazırlayacağız ve Swift dilinin bir çok gelişmiş özelliğinin yanı sıra, xCode IDE'si nin sunduğu kolaylıkları da bu uygulamamızda kullanma şansı bulacağız. Ayrıca uygulama dosyasını oluşturma ve yayınlama aşamalarını, apple developer portal ve iTunesConnect üzerinde neler yapmamız gerektiğine de değineceğiz. Ders içeriklerini kısa başlıklar halinde özetlemek gerekirse,
- Developer portal hazırlıkları.
- Sertifikalar, APP ID, geliştirici cihazlarını tanımlama ve provizyon dosyalarını oluşturma.
- Proje dosyasının oluşturulması.
- Provizyon dosyaları ve sertifikaların projeye dahil edilmesi.
- Tasarım dinamikleri.
- Autolayout, constraint, size class kullanımları ve bu konulara ait önemli püf noktaları.
- Arayüz görsellerini projeye eklemek.
- Viewcontroller’ı child olarak eklemek.
- Programsal yoldan size class modifikasyonu ve constraint oluşturmak.
- IBAction ile buton aksiyonlarını oluşturmak.
- Programsal yoldan UIImageView oluşturmak.
- Özel font kullanımı ve UIKit bitmap graphics context kullanarak programsal yoldan görsel öğeler yaratmak ve bu görseller için caching mekanizması kurmak.
- Enumerated data tipleri oluşturmak.
- CoreGraphics kullanarak parlama efekti yaratmak.
- CoreAnimation kütüphanesi kullanımı.
- CALayer kullanarak maskeleme katmanı oluşturmak.
- CABasicAnimation kullanarak animasyon oluşturmak.
- Extension ve mutating fonksiyon ile class işlevselliğini arttırmak.
- Tekst ve karakter işleme teknikleri.
- Bellek yönetimi için garbage collection.
- Block based UIKit property animasyonu oluşturmak.
- UIGestureRecognizer ve hittest kullanarak dokunulan nesneleri tespit etmek.
- UIPasteBoard kullanımı.
- Singleton design pattern kullanarak class oluşturmak.
- Struct, sequence ve iteratorProtocol kullanımı.
- Completion handler’lı fonksiyonlar oluşturmak.
- İşlemleri GCD ile thread safe bir şekilde yaptırmak.
- Delegates tasarım kalıbını kullanmak.
- Farklı thread’lar da yapılan işlemlerle kullanıcı arayüzünü (main thread) güncellemek.
- GCD Dispatchworkitem ile Global bir geciktirme fonksiyonu oluşturmak.
- UIButton özelliklerini kurcalamak.
- Uygulama modlarını oluşturmak ve buton aksiyonlarına bağlamak.
- Uygulama modları ve asal sayı hesaplama/kontrol işlemlerini uygulama ekranında güncellemek.
- UIVisualEffectView ile bulanıklık efekti oluşturmak.
- UINavigationBar eklemek ve bar butonu oluşturmak.
- UIBarButtonItem için bir IBAction tanımlamak.
- UITableView eklemek.
- UITableView’a UITableViewCell eklemek.
- TableView ve TableViewCell’i yapılandırmak ve özel UITableViewCell subclass’ları oluşturmak.
- UITableViewDelegate ve UITableViewDataSource metodlarını oluşturmak.
- UIView subclass’ı oluşturmak.
- CAGradientLayer ile gradient bir renk oluşturmak.
- CALayer ile yuvarlatılmış köşeler oluşturmak.
- NSAttributedString ile zenginleştirilmiş tekstler oluşturmak.
- UIActivityViewController ile paylaş menüsü hazırlamak.
- UIActivityViewController excludedActivityTypes ile paylaşma seçeneklerini sınırlandırmak.
- Uygulamaya sesler eklemek.
- AVFoundation kütüphanesi ile, AVAudioSession ve AVAudioPlayer kullanımları.
- Arc4Random ile rasgele tam sayı değerleri üretmek.
- Date() yapısı ve timeIntervalSince metodu kullanımı.
- Taptic engine kullanımı, UIImpactFeedbackGenerator ve UINotificationFeedbackGenerator tanımlamaları.
- IOS versiyon kontrolü.
- UIAlertController kullanımı.
- UserDefaults ile veri alma / kaydetme.
- Guard kullanımı.
- OpenURL ile yönlendirme.
- Uygulama ikonu eklemek.
- Uygulama görünür adını değiştirmek ve son kontroller.
- iTunesConnect’de uygulama için bir kayıt oluşturmak.
- App store görsel, video, tekst ve bilgilerini eklemek.
- Uygulamayı paketleyip iTunesConnect’e yollamak.
- Uygulamayı incelemeye göndermek.
- İnceleme aşamaları ve uygulamanın kabülü.
Who Should Attend!
- Swift programlama dilini öğrenmek isteyenler.
- Kendi IOS uygulamasını geliştirmek ve App Store'da yayınlamak isteyenler.
- Bir uygulamayı hazırlar ve yayınlarken gereken temeller ve püf noktaları öğrenmek isteyenler.
- Swift programlama dili temellerini bilen, ama daha çok şey öğrenmek isteyenler.
TAKE THIS COURSE