Objective-C Nedir?
Objective-C, Apple tarafından geliştirilen ve 1980’li yılların sonunda kullanıma sunulan bir genel amaçlı programlama dilidir. C programlama dilinin bir üst kümesi olarak kabul edilir. Bu yüzden C programlama dilinde olduğu gibi low-level bir dil olmasına rağmen, Object Oriented Programming yetenekleri de barındırır. Apple’ın işletim sistemi olan macOS ve mobil işletim sistemi iOS için temel bir proglama dili olarak kullanılır. Objective-C, C++ ve Smalltalk dillerinin etkilendiği bir dildir. C programlama dilindeki C fonksiyonlarına ve yapılarına ek olarak, Smalltalk dilindeki sınıf yapısının kullanımına da izin verir. Bu, değerlerin değiştirilmesine izin veren bir nesne yönelimli dil sağlar. Nesne yönelimli bir dilin temel özellikleri arasında veri öğeleri ve metodlar yer alır.
Objective-C Özellikleri
Objective-C dilinin birçok özelliği vardır. Bunlardan bazıları şunlardır:
- Verimli: Objective-C, C dili üzerine oluşturulmuştur ve dolayısıyla verimli bir dil olarak kabul edilir. Özellikle, uygulamanın performansını olumsuz etkilemeden çeşitli aygıtlarla uyumlu kod yazmak için uygun bir dildir.
- Nesne yönelimlidir: Objective-C, nesne yönelimli bir dildir ve bu sayede kodun yeniden kullanılması ve modüler olması daha kolaydır. Kod, sınıflar, nesneler ve mesajlar aracılığıyla yapılandırılabilir.
- Tipi Zayıf: Objective-C’ye özgü bir başka özellik türü zayıflığıdır. Bu, tip belirtilmediğinde, değişkenin hangi tür olduğunu belirlemek için hata ayıklama işlemleri yapmanız gerekebileceği anlamına gelir.
- Garbage Collection: Objective-C, çöp örneğine sahiptir. Bu, bellekten çıkarılan nesnelerin otomatik olarak geri alınmasını sağlar.
- Söz Dizimi: Objective-C, C diline benzer bir sözdizimine sahiptir. C sınıf, nesne ve fonksiyon yapısını korur.
Objective-C Avantajları
Objective-C dilinin birçok avantajı vardır. Bunlardan bazıları şunlardır:
- Verimli Nesne Yönelimli Çözümler: Objective-C, C’den öğelere kaldığından, her iki dünyanın en iyi yanlarını birleştirir. Nesne yönelimli çözümler geliştirmek için faydalı, hatta birçok geliştirici tarafından dünya çapında tercih edilen bir programlama dili haline gelmiştir.
- Yüksek Performans: Objective-C, sistem kaynaklarını verimli bir şekilde kullanarak yüksek performans sağlar. Bu, özellikle cihazlarla uyumlu kod yazmak için önemlidir.
- İyi Bellek Yönetimi: Objective-C, otomatik çöp toplama özelliği sayesinde bellek yönetiminde daha kolay kullanılabilir. Bu, geliştiricilerin bellek sızıntılarını tespit etmek veya temizlemek için ayrı bir proje yapmalarına gerek kalmaz.
- Birçok Kütüphane: Mac OS X ve iOS için birçok kütüphane, araç seti ve framework’e sahip olan Objective-C, daha önce yaratılmış kodun yeniden kullanımını ve geliştiricilerin daha hızlı programlama yapmasına olanak tanır.
Objective-C Kullanım Alanları
Objective-C dilinin en yaygın kullanım alanı, Apple’ın işletim sistemi Mac OS X’te ve mobil işletim sistemi iOS’ta uygulama geliştirmektir. Bu sistemler, Objective-C’nin bağlı olduğu Cocoa, Cocoa Touch ve CoreFoundation gibi kütüphanelerini destekler. Objective-C ayrıca, diğer C programlama dilleri, web hizmetleri, server-side uygulamaları ve benzeri şeyleri geliştirmek için kullanılabilir. Ayrıca C#’ın alternatifi olarak kullanılabilir.
Objective-C Geliştirme Araçları
Objective-C dilini kullanmak için, birkaç geliştirme aracını yüklemeniz gerekebilir. İşletim sistemi olan macOS, Xcode adlı tam özellikli bir geliştirme ortamı sunar. Xcode ayrıca, Objective-C ve diğer programlama dilleri için en popüler araçtır. Xcode, ayrıca Cocoa Touch ve iOS uygulamalarını geliştirmede yaygın olarak kullanılan bir araç olan Interface Builder için özelleştirilmiş bir kullanıcı arabirimi oluşturur.
Objective-C Sürümleri
Objective-C için en yeni sürüm, Apple’ın Xcode’iyle birlikte sunulan 2.0’dır. Bu sürüm, iOS ve macOS işletim sistemleriyle uyumlu en yeni özellikleri ve geliştirmeleri içerir. Objective-C, ayrıca Apple’ın işletim sistemi Mac OS X’e göre 10.0.1, 10.2 ve daha sonra sürümleri için değiştirilmiştir.
Objective-C Öğrenme Kaynakları
Objective-C öğrenmek için, birçok kaynak vardır. Bu kaynakların bazıları:
- Objective-C Programming: The Big Nerd Ranch Guide tarafından Bill Dudney: Bu kitap, Objective-C’nin temellerini, nesne yönelimli programlama ve iOS uygulamaları oluşturma becerilerini öğrenmenize yardımcı olur.
- iOS Programming: The Big Nerd Ranch Guide tarafından Christian Keur: Bu kitap, Objective-C dilini ve iOS uygulamalarını nasıl geliştireceğinizi anlatır. Kitaplar, iPhone, iPad ve iPod Touch için uygulama geliştiricilerine yöneliktir.
- Objective-C Tutorial tarafından Tutorials Point: Bu tutorial, Objective-C’nin temel yapılarını ve konseptlerini kapsar. Öğrenmeye yeni başlayanlar için oldukça yararlıdır.
Objective-C Toplulukları
Objective-C için birçok topluluk vardır. Bunlar, kullanıcılar arasında zengin bir bilgi paylaşımı sağlar ve uygulamaların nasıl daha iyi hale getirileceği üzerine tartışma yaparlar. Objective-C topluluklarından bazıları:
- Apple Developer: Apple, iPhone, iPad ve Mac uygulama geliştiricileri için forumlar, belgeler, köşe yazıları ve topluluk sayfaları ile birlikte Apple Developer sunar. Burada, Objective-C hakkında tartışmalar yapabilir veya genel geliştirme ipuçları toplayabilirsiniz.
- Cocoa Dev Central: Bu, geliştiricilere Objective-C ve Cocoa ürünleri hakkında bilgi veren bir web sitesidir. Cocoa Dev Central’ın bir blogu, yazılım kılavuzları ve Cocoa öğreticileri vardır.
- Cocoa Builder: Bu, Apple’ın Mac OS X için geliştirilmiş bir forumudur. Objective-C konusunda tartışmalar yapmak ve yardım almak için buraya bakabilirsiniz.
Objective-C Geleceği
Objective-C, özellikle iOS uygulama geliştirmek için yeni başlayanlar için harika bir dil olarak kabul edilir. Ancak, Apple, Swift adlı yeni bir dil piyasaya sürdüğünden beri Objective-C’ye yeni bir özellik eklemedi. Swift, Objective-C’ye kıyasla daha yeni bir dil olmasına rağmen, geliştiricilerin bu dile geçtiklerini göstermek için daha fazla ilgi çekti. Bununla birlikte, Objective-C, hala birçok uygulamanın temel programlama dili olmaya devam ediyor. Bununla birlikte, Objective-C yerine Swift dillerinin kullanımı artmaya devam ediyor.