ForumRadyo Destekçileri


Kullanıcı Etiket Listesi

Bu konuda etiketlenmiş kullanıcı bulunmamaktadır.


 
 
LinkBack Seçenekler Görüntüleme stilleri
Prev Önceki mesaj   Sonraki mesaj Next
Gönderi : 05 Ocak 2026, 09:05
# 1
Jewel isimli Üye şimdilik offline konumundadır      
Objective-C Nedir?
Objective-C Nedir?

Objective-C, özellikle Apple ekosisteminde uzun yıllar boyunca iOS ve macOS uygulama geliştirmenin temel dili olmuş, C dilinin üzerine nesne yönelimli programlama (OOP) özellikleri ekleyen güçlü bir programlama dilidir. 1980’lerde ortaya çıkan Objective-C, Apple’ın NeXT’i satın almasıyla birlikte macOS’un (o dönem NeXTSTEP’in) ve daha sonra iOS’un temel teknolojilerinden biri haline gelmiştir. Swift’in 2014’te sahneye çıkmasına kadar, Apple platformlarında uygulama geliştirmenin “standart” yolu Objective-C idi. Bugün yeni projelerde Swift daha fazla tercih edilse de, Objective-C hâlâ büyük bir legacy (miras) kod tabanının dili olarak önemini korur.

Objective-C Ne İşe Yarar?

Objective-C, en temelde Apple platformlarında uygulama geliştirmek için kullanılmıştır. iPhone uygulamaları, Mac uygulamaları, sistem bileşenleri ve Apple’ın birçok yerleşik kütüphanesi yıllarca Objective-C ile yazılmıştır. Objective-C ile tipik olarak şunlar yapılır:
  • iOS Uygulamaları: UIKit tabanlı uygulamalar (özellikle eski projeler)
  • macOS Uygulamaları: Cocoa framework’ü ile masaüstü yazılımlar
  • Apple Framework Entegrasyonu: Foundation, Cocoa Touch gibi kütüphanelerle çalışma
  • Legacy Projelerin Bakımı: Swift’e geçmemiş veya kısmen geçmiş projelerde geliştirme ve hata düzeltme
  • C/C++ Entegrasyonu: Performans kritik modüllerde C/C++ ile birlikte kullanım
Swift bugün modern geliştirmede ön planda olsa da, Objective-C bilmek özellikle eski kod tabanlarında çalışma ve Apple ekosistemini derinlemesine anlama açısından değerlidir.

Objective-C’nin C ile İlişkisi

Objective-C, C dilinin üzerine kuruludur. Bu nedenle C’nin pek çok özelliğini (pointer’lar, düşük seviye bellek erişimi, C kütüphaneleri) kullanabilir. Ancak C’nin prosedürel yapısına ek olarak Objective-C; sınıflar, nesneler ve mesajlaşma (message passing) gibi OOP özellikleri getirir. Bu hibrit yapı sayesinde:
  • Düşük seviyede kontrol gereken yerlerde C kullanabilir,
  • Uygulama mantığını daha yüksek seviyede OOP ile kurabilirsiniz.
Bu yaklaşım, özellikle performans ve sistem entegrasyonu gerektiren Apple projelerinde uzun süre güçlü bir kombinasyon olmuştur.

Mesajlaşma Mantığı ve Runtime

Objective-C’yi farklı kılan en önemli özelliklerden biri “mesaj gönderme” (message sending) mantığıdır. Bazı dillerde bir metot çağırmak daha “statik” bir yapıya sahipken, Objective-C’de metod çağrıları runtime üzerinden dinamik şekilde çözümlenir. Bu nedenle Objective-C “dinamik” bir dil olarak da anılır. Bu dinamizm, esneklik sağlasa da bazı durumlarda hata yakalamayı zorlaştırabilir.

Objective-C runtime, geliştiricilere oldukça güçlü imkanlar sunar:
  • Çalışma anında sınıf/metot ekleme veya değiştirme
  • Reflection benzeri kabiliyetler
  • Dynamic dispatch ile esnek davranışlar
Bu özellikler, Apple framework’lerinin bazı tasarım yaklaşımlarında önemli rol oynamıştır.

Cocoa ve Cocoa Touch Ekosistemi

Objective-C’nin popülerliğinin en büyük sebebi, Apple’ın uygulama geliştirme framework’lerinin (Cocoa ve Cocoa Touch) uzun süre Objective-C merkezli olmasıdır. iOS tarafında UIKit, Foundation gibi kütüphaneler; macOS tarafında AppKit ve Cocoa, Objective-C ile derin entegrasyona sahiptir. Bu framework’ler:
  • Arayüz bileşenleri
  • Uygulama yaşam döngüsü yönetimi
  • Dosya ve ağ işlemleri
  • Bildirim sistemi (notifications)
  • Veri saklama ve modelleme
gibi pek çok temel ihtiyacı karşılayarak uygulama geliştirmeyi hızlandırmıştır.

Objective-C’nin Avantajları

Objective-C’nin öne çıkan avantajları:
  • Olgun Ekosistem: Apple platformlarında uzun yılların birikimi ve geniş framework desteği.
  • C ile Yakınlık: Düşük seviyeli işlemler ve performans kritik bölümler için esneklik.
  • Runtime Esnekliği: Dinamik mesajlaşma ve güçlü runtime yetenekleri.
  • Legacy Projelerde Değer: Hâlâ yaşayan büyük Objective-C kod tabanları bulunur.

Objective-C’nin Dezavantajları

Objective-C’nin günümüzde geri planda kalmasının bazı sebepleri vardır:
  • Sözdizimi Karmaşıklığı: Swift’e kıyasla daha “gürültülü” ve uzun yazım gerektirebilir.
  • Modern Güvenlik Yaklaşımı: Null güvenliği gibi konularda Swift daha güçlü çözümler sunar.
  • Yeni Projelerde Tercih Azalması: Apple, Swift’i modern standart olarak öne çıkarır.
Bu nedenle yeni başlayanlar için genellikle Swift önerilir; Objective-C ise daha çok “mevcut projeleri anlamak ve sürdürmek” için öğrenilir.

Sonuç

Objective-C, C tabanlı yapısı üzerine nesne yönelimli programlama ekleyerek Apple ekosisteminde yıllarca standart olmuş güçlü bir programlama dilidir. Swift’in yükselişiyle yeni projelerde geri planda kalsa da, iOS ve macOS dünyasında çok büyük bir miras kod tabanı Objective-C ile yazılmıştır. Apple platformlarında uzun süreli tecrübe kazanmak, eski projeleri sürdürmek veya sistem seviyesine daha yakın yaklaşmak isteyenler için Objective-C hâlâ değerli ve öğretici bir teknolojidir.
    Alıntı ile Yanıt    
 

İçeriği Sosyalleştir


Şu anda bu konuyu görüntüleyen etkin kullanıcılar: 1 (0 üye ve 1 konuk)
 

Gönderme Kuralları
Konu açma yetkiniz yok
Cevap Yazma Yetkiniz Yok
Eklenti ekleme yetkiniz yok
Mesaj düzenleme yetkiniz yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık