Objective-C Nedir?
- Cnin üzerine yazılmış, nesne yönelimli bir programlama dilidir.
- İlk çıkış tarihi 1983 yılında geliştirilmeye başlanmıştır.
- Apple tarafından 26 Ekim 2007 tarihinde geliştirmeye devam edilmiştir.
- Cnin sözdizimi, ilkel türleri ve akış kontrol deyimlerini miras alır ve sınıfları ve yöntemleri tanımlamak için sözdizimi ekler.
- Objective-C, dinamik yazma ve bağlama sağlayarak, çalışma zamanına kadar birçok sorumluluğu erteleyerek, nesne grafik yönetimi ve nesne hazırlıkları için dil seviyesi desteği de ekler.
Objective-C Tarihçesi
Objective-C 1983 de Brad Cox tarafından Stepstone adlı şirkette geliştirildi. Coxun takıldığı sorun yazılımlardaki bileşenlerin tekrar kullanılabilmesiydi. Bir başka deyişle, bir problem nesneye yönelik yöntemlerle parçalarına ayrılmış ve bu parçaların bazıları çalışır duruma getirilmiş ise, bu parçaları sorunsuzca başka çözümlerde de kullanmayı kolaylaştırmak lazımdı. Her ne kadar nesne yönelimli yazılım teorik olarak bunu öngörse de, zamanın araçları ile bunu başarmak emek isteyen bir işti. Programlama dili her şeyden önce nesneleri esnek bir şekilde desteklemeli, kullanışlı ve zaman kazandıran kütüphanelerle gelmeli ve kod ve kaynakların ortamlar arası kullanımını kolaylaştırmalıydı. Coxun temel tasarımı 1986 yılında Nesne Yönelimli Programlama, Evrimsel bir yaklaşım (Object-Oriented Programming, An Evolutionary Approach) adlı kitabında yayınlandı. Kitapta bileşenlerin yeniden kullanımı konusunun sadece programlama dilinden oluşmadığını vurgulamasına rağmen okuyucuların dikkatlerini sadece dile odaklamalarına, Objective-Cyi sunduğu önerilerden ayrı olarak algılamalarına engel olamadı.
Objective-C İle Neler Yapılabilir?
Teorik olarak Objective-C diline hakim bir geliştirici C dili üzerinde tasarlayabileceği her sistemi Objective-C üzerinde tasarlayabilir. C++ üzerinde tasarlanabilecek birçok sistemi de Objective-C maharetiyle tasarlamak mümkündür. gelgelelim tüm bunlar Objective-Cnin Apple odaklı bir programlama dili olduğu gerçeğini değiştirmiyor.
-Objective-C öğrenerek;
1.iPhone ve iPadde kullanılacak mobil uygulama ve oyunlar
2.tvOS üzerinde kullanılabilecek multimedya uygulamaları
3.macOS üzerinde çalışan yazılımlar
4.watchOS akıllı saat sistemi için uygulamalar
5.Statik kütüphane geliştirmeleri
6.GNUStep için uygulamalar geliştirmek
gibi birçok alanda uygulama ve kütüphane geliştirebilirsiniz.
İlk Programımız Hello World!
Kod:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
[USER=298415]auTo[/USER]releasepool {
NSLog(@"Hello, World!");
}
return 0;
}
C programlama dili ile daha önceden uğraştıysanız bu kod yapısı sizlere tanıdık gelecektir. Main fonksiyonunda NSLog metodu yardımıyla ekrana Hello World yazdırdık. Geriye bir değer döndürmeyeceği için return 0 yazdık. Noktalı virgüllere dikkat etmelisiniz. Unutursanız kodunuz çalışmayacaktır.
Swift ile Objective C Benzerlikleri
1- Basit sayısal türler (Int, Float, Double) Objective C de olduğu gibi Swiftte de bulunmaktadır.
2- Benzer for in numaralandırma sözdizimilerine sahiptirler.
3- Apple ürünleri hem Swift hem de Objective C ile geliştirilmesine devam etmektedir.
Swift ile Objective C Farklılıkları
1- Birçok programlama dilinde zorunlu olan noktalı virgül kullanımı Swift ile birlikte artık satırlar noktalı virgül ( ; ) ile bitmek zorunda değil.
2- Objective C de bulunan Başlık dosyaları Swiftte bulunmamaktadır.
3- Swiftte String ifadeler Unicodeu tamamiyle destekler.
4- Syntax yapısı Objective C ye göre oldukça kolay ve anlaşılması basittir.
5- Hafıza/Bellek Yönetimi (Memory Management) Swiftte daha esnek hale getirildi. Objective C deki gibi geliştiricilere zaman kaybettirmeden kodlarını rahat ve güvenli bir şekilde yazmalarına olanak sağlıyor.
Objective-C ile ilgili Kaynaklar
Son düzenleme: