Movatterモバイル変換


[0]ホーム

URL:


İçeriğe atla
VikipediÖzgür Ansiklopedi
Ara

Cocoa API

Vikipedi, özgür ansiklopedi
Cocoa API
GeliştiriciApple
İşletim sistemimacOS
TürYazılım iskeleti
Resmî sitesiSitesi

Cocoa, masaüstü işletim sistemimacOS içinApple'ın yerelnesne yönelimli programlama veuygulama programlama arayüzüdür (API).[1]

iOS,tvOS vewatchOS için,Cocoa Touch adlı jest tanıma, animasyon ve farklı grafik kontrol öğeleri içeren benzer birAPI vardır.iPhone,iPad,iPod Touch,Apple TV veApple Watch gibi Apple cihazlarının uygulamalarında kullanılır.

Cocoa, Cocoa.h başlık dosyasında yer alan Foundation Kit, Application Kit ve Core Data çerçevelerinden ve C standart kütüphanesi veObjective-C çalışma zamanı gibi olanlar tarafından dahil edilen kütüphanelerden ve çerçevelerden oluşur.[2]

Cocoa uygulamaları tipik olarak, Objective-C veyaSwift programlama dillerini kullanan Apple, özellikleXcode (eski adıProject Builder) veInterface Builder (şimdi Xcode'un bir parçası) tarafından sağlanan geliştirme araçları kullanılarak geliştirilir.[3] Ancak, Cocoa programlama ortamına,PasCocoa,PyObjC,CamelBones,RubyCocoa veD gibi köprü mekanizmalarının yardımıylaClozure CL,LispWorks,Object Pascal,Python,Perl,Ruby veAppleScript gibi başka araçlar kullanılarak erişilebilir. Köprü mekanizmasına duyulan ihtiyacı ortadan kaldıranMacRuby adında bir Ruby dili uygulaması, daha önce Apple tarafından geliştirilmiştir.Nu ise köprü olmadan Cocoa ile birlikte kullanılabilenLisp benzeri bir dildir. Objective-C Cocoa programlarını basit bir metin editöründe yazmak ve komut satırından veyamake'denGNU Compiler Collection (GCC) veyaClang ile manuel olarak oluşturmak da mümkündür.[4]

Son kullanıcılar için, Cocoa uygulamaları, Cocoa programlama ortamını kullanarak yazılanlardır. Bu tür uygulamalar genellikle tanıdık bir görünüme ve hislere sahiptir, çünkü Cocoa programlama ortamı Apple'ın insan arayüzü yönergelerine uyması için bir uygulamanın birçok yönünü otomatikleştirir.

Tarihi

[değiştir |kaynağı değiştir]

Cocoa, 1980'lerde ve 1990'lardaNeXT tarafından geliştirilenNextStep veOpenStep programlama ortamlarından çeşitli yazılım çerçevelerinin (temel olarak App Kit ve Foundation Kit) soyuna devam ediyor. Apple, Aralık 1996'da NeXT'yi satın aldı ve ardından OpenStep'in direkt halefi olacakRhapsody işletim sistemi üzerinde çalışmaya başladı. Blue Box adlı klasikmacOS veMacintosh işletim sistemleri uygulamaları için bir öykünme tabanına sahip olmalıydı. OpenStep kütüphanelerinin ve ikili desteğin tabanı Yellow Box olarak adlandırıldı.[5] RhapsodyMac OS X'te gelişti ve Yellow Box Cocoa oldu. Bu nedenle, Cocoa sınıfları NSString veya NSArray gibi NS harfleriyle başlar. Bunlar, OpenStep çerçevesi, NeXTSTEP için orijinal tescilli terimi ifade eder.

OpenStep'in geliştirilmesine yönelik yapılan çalışmaların çoğu Mac OS X'in geliştirilmesine uygulandı, Cocoa en görünür kısımdı. Ancak farklılıklar vardır. Örneğin NeXTSTEP ve OpenStep, metin ve grafiklerin ekranda gösterilmesi için Ekran PostScript'i kullandı, ancak Cocoa Apple'ınQuartz'ına (Taşınabilir Belge Formatı (PDF) görüntüleme modelini kullanıyor) dayanıyor.[6] Cocoa ayrıca NSURL veWebKitHTML sınıfları ve diğerleri de dahil olmak üzere bir İnternet desteği seviyesine sahipken; OpenStep, NSFileHandle sınıfları veBerkeley soketleri üzerinden yönetilen ağ bağlantıları için yalnızca temel desteğe sahipti.

Sonuçta ortaya çıkan yazılım çerçevesi çaresizlik adına Cocoa adını aldı, çünkü ad zaten Apple tarafından tescilli idi. Bu ismin kullanılmasından önceki yıllar boyunca Apple'ın Cocoa markası, çocuklar için multimedya proje tasarım uygulamasının adı olarak ortaya çıkmıştı. Uygulama başlangıçta KidSim adı altında Apple Advanced Technology Group'ta geliştirildi. Daha sonra yeniden adlandırıldı ve "Cocoa" olarak markalandı. Apple adına Cocoa'yı geliştirmek için kiralanan Peter Jensen tarafından icat edilen isim, web sayfalarına gömülü olduğu için "Çocuklar için Java"yı çağrıştırmak amacıyla tasarlandı.[7] Ticari marka ve dolayısıyla "Cocoa" adı, bu yazılım çerçevesi için yeni bir ticari marka tescil ettirilirken ortaya çıkabilecek gecikmeyi önlemek için yeniden kullanıldı. Orijinal "Cocoa" programı,Steve Jobs'un Apple'a geri dönmesini izleyen rasyonelleştirmelerden birinde Apple'da durduruldu. Daha sonra üçüncü bir tarafa lisanslandı ve 2011 itibarıyla Stagecast Creator olarak pazarlandı.

Bellek yönetimi

[değiştir |kaynağı değiştir]

Cocoa ortamının bir özelliği de dinamik olarak ayrılmış hafızayı yönetme tesisidir. CocoA'nın NSObject sınıfı, hem tedarikçinin hem de kullanıcının çoğu sınıfının türetildiği,bellek yönetimi için referans sayma şemasını uygular. NSObject kök sınıfından türetilen nesneler bir tutma ve bırakma iletisine yanıt verir ve bir tutma sayısını korur. RetainCount adlı bir yöntem var ancak isminin tersine, genellikle bir nesnenin tam alıkoyma sayısını döndürmez. Genelde sistem düzeyinde amaçlar için kullanılır.[8]

Tahsis veya kopya ile yaratılan yeni tahsis edilen bir nesnenin tutma sayısı vardır. Bu nesneye bir tutma mesajı gönderilmesi tutma sayısını artırırken, bırakma mesajı gönderildiğinde tutma sayısını azaltır. Bir nesnenin tutma sayısı sıfıra ulaştığında, bir C ++ yıkıcısına benzer bir prosedürle serbest bırakılır.

Objective-C 2.0 ile başlayarak Objective-C çalışma zamanı, artık Otomatik Referans Sayma (ARC) lehine eski ve kullanımdan kaldırılmış isteğe bağlı bir çöp toplayıcı uyguladı. Bu modelde, çalışma zamanı "tutma" ve "bırakma" gibi Cocoa referans sayma işlemlerini çalışmaz hale getirdi. Çöp toplayıcı, Objective-C 2.0'ın iOS uygulamasında mevcut değildir.[9] Objective-C'deki çöp toplama işlemi düşük öncelikli bir arka plan iş parçacığına dayanıyordu ve kullanıcı deneyimini duyarlı tutmak amacıyla Cocoa'nın kullanıcı etkinliklerini durdurabiliyordu. Eski çöp toplayıcı Mac OS X sürüm 10.13'te hala kullanılabilir ancak Apple tarafından sağlanan hiçbir uygulama bunu kullanmaz.

2011 yılında LLVM derleyicisi, Objective-C kaynak kodunun statik analizini yaparak ve gerektiğinde tutma ve bırakma mesajlarını yerleştirerek geleneksel çöp toplayıcının yerini alan Otomatik Referans Sayma (ARC) 'yı başlattı.

Ana çerçeveler

[değiştir |kaynağı değiştir]

Cocoa, çerçeveler adı verilen üç Objective-C nesne kütüphanesinden oluşur. Altyapılar işlevsel olarak paylaşılan kitaplıklara benzer; çalışma zamanında programın adres alanına dinamik olarak yüklenebilen derlenmiş bir nesnedir ancak çerçeveler ilişkili kaynakları, başlık dosyalarını ve belgeleri ekler. Cocoa çerçeveleri, yukarıda belirtilen parçaları standart konumlarda içeren bir tür paket olarak uygulanır.[10]

  • Foundation Kit (Foundation), NeXTSTEP 3'teki Kurumsal Nesneler Çerçevesinde göründü. OpenStep çalışmasının bir parçası olarak geliştirildi ve daha sonra bu sistem 1994 yılında piyasaya sürüldüğünde OpenStep AppKit'in temeli oldu. MacOS de Core Foundation'a dayanıyor. Foundation; dizge ve değer manipülasyonu, kaplar ve yineleme, dağıtılmış hesaplama, olay (çalışma) döngüleri ve doğrudangrafiksel kullanıcı arayüzüne bağlı olmayan diğer fonksiyonlar sağlayan genel bir nesne yönelimli kütüphanedir. Çerçeve içindeki tüm sınıflar ve sabitler için kullanılan "NS" öneki, NeXT ve Sun Microsystems tarafından ortaklaşa geliştirilen Cocoa'nın OPENSTEP mirasından geliyor.
  • Application Kit (AppKit) doğrudan orijinal NeXTSTEP Uygulama Kitinden çıkarılmıştır. Grafiksel kullanıcı arayüzleri oluşturmak ve onlarla etkileşime geçmek için kullanabileceğiniz kod programları içerir. AppKit, Foundation üzerine kuruludur ve aynı NS önekini kullanır.
  • Core Data, Foundation ve Cocoa'ya dahil edilen ve Cocoa.h'de bulunan nesne kalıcılık çerçevesidir.

Kaynakça

[değiştir |kaynağı değiştir]
  1. ^"About the iOS Technologies". 28 Ağustos 2016 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  2. ^"FAFA123 เว็บสล็อตแท้ 100% ไม่มีขั้นต่ำ แตกจริง โบนัสสูงสุดในไทย". 8 Şubat 2011 tarihindekaynağından arşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  3. ^"getsentry/sentry-cocoa: The official Sentry SDK for iOS, tvOS, macOS, watchOS". 12 Eylül 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  4. ^"Arşivlenmiş kopya". 22 Mart 2020 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  5. ^"Learning Cocoa with Objective-C, 2nd Edition". 29 Kasım 2021 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  6. ^"Introduction To Objective-C Programming Language". 25 Eylül 2020 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  7. ^"A Windows user's would-be conversion to Mac OS X". 14 Temmuz 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  8. ^"A history of iOS media APIs (iPhone OS 2.0 to iOS 4.3)". 8 Ekim 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  9. ^"Arşivlenmiş kopya". 23 Temmuz 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 
  10. ^"Arşivlenmiş kopya". 28 Eylül 2020 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Ağustos 2019. 

Dış bağlantılar

[değiştir |kaynağı değiştir]

Ayrıca bakınız

[değiştir |kaynağı değiştir]
MacOS/macOS
Versiyonlar
macOS wordmark
Uygulamalar
Kamu hizmetleri
Teknoloji ve kullanıcı arayüzü
Apple listeleri
Kurucular
Yönetim Kurulu
Mevcut
Önceki
Yöneticiler
Mevcut
Önceki
Servisler
Mağazalar
Destek
Ürünler
Donanım
Yazılım
Şirketler
Bağlı ortaklıklar
Devralmalar
ilgili
Qt
Açık kaynak
GTK
Açık kaynak
Özel mülk
wxWidgets
Açık kaynak
CLI
Açık kaynak
Özel mülk
VCL veilgili olanlar
Açık kaynak /LCL
Özel mülk
Cocoa
Özel mülk
Java-based
Açık kaynak
Özel mülk
Windows API
Açık kaynak
Özel mülk
Diğer
Açık kaynak
Özel mülk
"https://tr.wikipedia.org/w/index.php?title=Cocoa_API&oldid=35655834" sayfasından alınmıştır
Kategoriler:
Gizli kategoriler:

[8]ページ先頭

©2009-2026 Movatter.jp