Carbon, Macintosh bilgisayarları çalıştıran işletim sistemi olan Mac OS X (bugün macOS olarak bilinir) için Apple'ın C tabanlı uygulama programlama arayüzlerinden (API) biridir. Carbon, Mac OS 8 ve Mac OS 9 işletim sistemlerinde çalışan programlar için iyi bir geriye dönük uyumluluk sağlamıştır. Geliştiriciler, “klasik” Mac OS ve Macintosh işletim sistemleri yazılımlarını OS X platformuna taşımak için uygulamayı azami çaba harcayarak çok az bir çaba ile kullanabilirler. 'te ortaya çıkan tamamen farklı Cocoa API sistemidir.
Geliştirici(ler) | Apple |
---|---|
İşletim sistemi | macOS |
Tür | Yazılım iskeleti |
Resmî sitesi | Sitesi |
Carbon, Apple'ın Mac OS X'i pazara sunma stratejisinin önemli bir parçasıydı; mevcut yazılım uygulamalarının hızlı bir şekilde taşınması için bir yol sunmanın yanı sıra, Mac OS X veya klasik Mac OS'de çalışacak nakliye uygulamaları için bir yol sunuyordu. Pazar giderek artan bir şekilde Cocoa bazlı çerçevelere geçtiğinden, özellikle iOS piyasaya sürüldükten sonra bir taşıma kütüphanesine duyulan ihtiyaç seyreltildi. Apple, 2007 çerçevesindeki diğer çerçevelerini güncellerken 64 bitlik bir Carbon sürümü oluşturmadı ve sonunda 24 Temmuz 2012'de yayımlanan OS X Mountain Lion'daki tüm API'yi kullanımdan kaldırdı.
Tarihi
Orijinal Mac OS, Pascal'ı birincil geliştirme platformu olarak kullandı ve API'ler Pascal'ın çağrı anlambilimine dayanıyordu. Araç Kutusunun çoğu, Pascal'ın değişken kayıt konseptine dayanan çeşitli veri yapıları kullanarak API ve program arasında bilgi ileri geri ileten prosedür çağrılarından oluşuyordu.
Zamanla, Mac'te, özellikle Pascal'da Object Pascal kütüphanesi MacApp ve Library'de (TCL) ve daha sonra MacApp ve CodeWarrior PowerPlant'ın sürümlerinde sürümlerinde Mac üzerinde bir dizi nesne kütüphanesi gelişti. 1990'ların ortalarına gelindiğinde, Mac yazılımlarının çoğu C ++ ile CodeWarrior kullanılarak yazılmıştır.
Orijinal Mac OS, Pascal'ı birincil geliştirme platformu olarak kullandı ve API'ler Pascal'ın çağrı anlambilimine dayanıyordu. Macintosh Araç Kutusunun çoğu, Pascal'ın değişken kayıt konseptine dayanan çeşitli veri yapıları kullanarak API ve program arasında bilgi ileri geri ileten prosedür çağrılarından oluşuyordu.
Rhapsody
NeXT'nin 1996 yılının sonlarında satın alınmasıyla Apple, büyük ölçüde mevcut OpenStep platformuna dayanan yeni bir işletim sistemi stratejisi geliştirdi. Yeni Rhapsody nispeten basitti; OpenStep'in mevcut nesne kitaplıklarının çoğunu "Yellow Box" adı altında, OpenStep'in mevcut GUI'sini barındıran ve daha fazla Mac benzeri görünmesini sağladı, Mac OS'den birkaç büyük API'yi Rhapsody'nin temelindeki Unix benzeri sisteme (özellikle QuickTime ve 'e) taşıdı. ve mevcut Mac OS yazılımını çalıştıran "Blue Box" olarak bilinen bir öykünücüyü ekledi.
Bu plan 1997 yılında Apple Worldwide Developers Conferencede açıldığında, kod tabanlarının etkili bir şekilde güncellenmesi muhtemel olmayan bir emülatöre kilitleneceği için üzülen mevcut Mac OS geliştiricilerinden bir miktar geri dönüş vardı. Microsoft ve Adobe gibi daha büyük geliştiriciler tamamen düpedüz kaldı ve mevcut Mac OS'den çok farklı olan veya uyumsuzluğun çok az olduğu OpenStep'e taşınmayı düşünmeyi reddetti. .
Apple bu endişeleri kalbe aldı. Steve Jobs bu değişikliği 1998 WWDC'de duyurduğunda, "geliştiricilerin gerçekten istediği şey Mac OS'nin modern bir sürümü olduğunu ve Apple'ın bunu sunacağını" belirtti. Açıklama, gök gürültülü alkışlarla karşılandı. Orijinal konsepti sonunda 1999'da türünün tek sürümü olan mac OS X Server 1.0 olarak piyasaya sürüldü.
Cocoa ve Carbon
Apple, mevcut Mac OS kod tabanları için gerçek ve iyi desteklenen bir yükseltme yolu sunmak için Carbon sistemini tanıttı. Carbon, Mac benzeri bir API sunan, ancak öykünme içinde çalışan Mac işletim sisteminin bir kopyası yerine, altında yatan Unix benzeri işletim sisteminin üstünde çalışan birçok kitaplık ve işlevden oluşur. Carbon kütüphaneleri kapsamlı bir şekilde temizlenir, modernize edilir ve daha iyi "korunur". Mac OS veri iletmek için hafızayı paylaşan API'lerle doluyken, Carbon altında bu tür tüm erişim opak veri türlerinde erişimci alt yordamları kullanılarak yeniden uygulandı. Bu, Carbon'un gerçek çoklu görev ve hafıza korumasını desteklemesini sağladı; Mac geliştiricilerin on yıldan beri talep ettiği özellikler idi. Önceden var olan API’deki diğer değişiklikler, kavramsal olarak Mac OS X’le uyumlu olmayan ya da sadece eski olan özelliklerden kaldırıldı. Örneğin, uygulamalar artık kesme kotarıcı veya aygıt sürücüsü yükleyemedi.
Carbon'ı desteklemek için tüm Rhapsody modeli değişti. Rhapsody etkin bir öykünücüyle etkin bir şekilde OpenStep olurken, yeni sistemde hem OpenStep hem de Carbon API mümkün olduğunda ortak kodu paylaşacaktır. Bunu yapmak için, OpenStep sisteminin alt seviyelerinden, Objective-C dilinde yazılmış ve Foundation olarak bilinen yararlı kod bitlerinin çoğu saf C'de yeniden uygulandı. CF çağırmak için gösterilen "Yellow Box"'un bir versiyonu yeni Cocoa API'sine dönüştü ve Mac benzeri Carbon çağrıları da aynı işlevleri çağırdı. Yeni sistemde, Carbon ve Cocoa eşlerdi. Bu dönüşüm normal olarak, temel C kütüphanelerine çağrılan nesne metotları olarak Cocoa performansını yavaşlatırdı, ancak Apple bu etkiyi azaltmak için ücretsiz köprüleme olarak adlandırdıkları bir teknik kullandı.
Bu dönüşümün bir parçası olarak, Apple, grafik motorunu lisanslı 'ten lisanssız 'a ("Ekran PDF" olarak adlandırılır) aktardı. Quartz, hem Carbon hem de Cocoadan kullanılabilecek doğal çağrılar sağlamanın yanı sıra Java 2D benzeri arayüzler de sundu. Altta yatan işletim sisteminin kendisi daha da izole edildi ve Darwin olarak serbest bırakıldı.
Serbest bırakma ve evrim
1997 yılında, Mac OS 8.1 ile geriye dönük olarak uyumlu paylaşılan bir kütüphane olarak, Carbon 2000 yılında eksik olarak tanıtıldı. Bu sürüm, geliştiricilerin bu programların mevcut Mac OS makinelerinde çalışabilme yeteneğini kaybetmeden kodlarını Carbon'a aktarmalarına izin verdi. Resmi Mac OS X desteği, 2001'de yeni işletim sisteminin ilk halka açık sürümü olan Mac OS X 10.0'ın piyasaya sürülmesiyle geldi. Carbon, Mac OS X'in ilk sürümlerinde neredeyse tüm büyük yazılım evleri tarafından Apple tarafından bile kullanıldı. Örneğin, Finder, 2009 yılında yalnızca Mac OS 10.6'nın (Mac OS X Snow Leopard) piyasaya sürülmesiyle Cocoa'ya taşınan, uzun yıllar boyunca bir Carbon uygulaması olarak kaldı.
26 Ekim 2007'de yayınlanan Mac OS X Leopard (Mac OS X v10.5) ile başlayan 64 bit Macintosh uygulamalarına geçiş, Carbon için ilk büyük kısıtlamaları getirdi. Apple, 64-bit ortamdaki Macintosh grafik kullanıcı arayüzü ile C programlama dili arasında uyumluluk sağlamaz; bunun yerine, Cocoa API ile Objective-C lehçesi kullanılmasını gerektirir. Birçok yorumcu bunu Carbon'un nihai ortadan kaybolmasının ilk işareti olarak gördü, Apple, Carbon sistemine yeni önemli bir ilaveler eklenmeyeceğini söylediğinde yeniden uygulanan bir pozisyondu ve 2012'de değer düşüklüğü ile daha da güçlendirildi.
Cocoaya Geçiş
Cocoa'nın öngörülen avantajlarına rağmen, büyük miktarlarda eski kodun yeniden yazılması ihtiyacı, Nisan 2010'da sonunda Cocoa'ya güncellenen ünlü Adobe Photoshop ile olan Carbon tabanlı uygulamaların geçişini yavaşlattı. iTunes ve Final Cut Pro (ayrıca QuickTime motorundaki güç veren özellikler gibi) yazılım paketleri de yıllarca Carbon'da yazılı kaldı. Hem iTunes hem de , Cocoa sürümlerinde piyasaya sürüldü.
Karşı koyma
2012'de, OS X 10.8 Mountain Lion'un piyasaya sürülmesi ile çoğu Carbon API'si kullanımdan kaldırılmıştır. API'lar geliştiricilere hala erişilebilir durumda ve tüm Carbon uygulamaları çalışacak, ancak API'ler artık güncellenmeyecekdir. 28 Haziran 2017'de, Apple, MacOS için tüm Carbon uygulamaları gibi 32 bit yazılımların, macOS High Sierra'dan sonra macOS sürümlerinde artık “ödün vermeden” desteklenmediğini açıkladı. macOS Catalina, 32-bit uygulamalar için desteği resmi olarak kaldırır ve bu nedenle tüm Carbon uygulamaları artık desteklenmez.
Mimari
Carbon, Araç Kutusundan iner ve bu nedenle “Yöneticiler” den oluşur. Her Yönetici, veri yapıları kümelerini ve bunları işlemek için kullanılan işlevleri tanımlayan, işlevsel olarak ilgili bir API'dir. Yöneticiler genellikle birbirine bağımlı veya katmanlıdır. Carbon, dosyaları, belleği, verileri, kullanıcı arayüzünü ve diğer sistem servislerini yönetmek için geniş bir işlevler setinden oluşur.
Mac'e özgü işlevselliğe erişen tüm C dili API prosedürlerini kapsayan bir şemsiye terim olan Carbon, ayrı bir sistem olarak tasarlanmamıştır. Aksine, neredeyse eşdeğer Cocoa API'sı için gereken Objective-C dilini bilmeyen geliştiricilere macOS'un neredeyse tüm işlevselliğini açar.
Carbon, PowerPC Mac OS için mevcut tüm çalıştırılabilir formatlarla uyumludur. Mac OS X ve önceki sürümleri arasındaki ikili uyumluluk, Apple'ın Xcode IDE'lerinde hiç desteklemediği Tercih Edilen Yürütülebilir Format dosyasının kullanılmasını gerektirir.
Carbon'un daha yeni kısımları, çoğu 'a dayanan anlayışlarında çok daha fazla nesne yönelimli olma eğilimindedir. HIView Manager (Kontrol Yöneticisinin bir süperseti) gibi bazı Yöneticiler C ++ 'ta uygulanmaktadır ancak Carbon bir C API olmaya devam etmektedir.
Carbon Yöneticilerinin bazı örnekleri:
- Dosya Yöneticisi - dosya sistemine erişimi, açılmasını, kapanmasını, okunmasını ve yazmasını yönetir.
- Kaynak Yöneticisi - bir programın gerektirebileceği önceden tanımlanmış veri parçaları olan kaynaklara erişimi yönetir. Disk dosyalarından kaynakları okumak ve yazmak için Dosya Yöneticisi'ni çağırır. Kaynaklara örnek olarak simgeler, sesler, resimler, aletler için şablonlar vb aittir.
- Font Yöneticisi - yazı tiplerini yönetir. Mac OS X v10.4'ten beri Apple Type Services (ATS) lehine itiraz edildi (QuickDraw'ın bir parçası olarak).
- - 2D grafik ilkeleri. Mac OS X v10.4'ten beri Quartz 2D'nin lehine itiraz edildi.
- Carbon Event Manager - kullanıcı ve sistem etkinliğini, kodun tanıyabileceği ve yanıt verebileceği olaylara dönüştürür.
- HIObject - Carbon'a GUI oluşturmak için bir OO modeli getiren tamamen yeni bir nesne yönelimli API-dir. Mac OS Classic ve Copland'daki HIToolbox, terkedilmiş dayanıyordu, bu yüzden Carbon, eski kodun taşınmasını sağlamak için hızlı ve kirli değiştirme sağlamak zorundaydı. Bu Mac OS X 10.2 veya sonrasında mevcuttur ve Carbon programcılarına Cocoa geliştiricilerinin uzun zamandır tanıdığı araçlardan bazılarını verir. Mac OS X v10.2 ile başlayarak, HIObject, Carbon'daki tüm GUI öğeleri için temel sınıftır. HIView, Apple'ın geliştirici araçlarının bir parçası olan Interface Builder tarafından desteklenmektedir. Geleneksel olarak bu tür GUI mimarileri sağlamak için üçüncü taraf uygulama çerçevelerine bırakılmıştır. Mac OS X v10.4'ten başlayarak, HIObjects, NSObjects'tir ve veri aktarımı veya diske kaydedilmesi için veri akışlarına seri hale getirilebilme özelliğine sahiptir.
- HITheme - grafik kullanıcı arayüzü (GUI) elemanlarını ekrana getirmek için QuickDraw ve Quartz kullanıyor. HITheme, Mac OS X Panther'de tanıtıldı ve Görünüm Yöneticisi bu sürümden beri HITheme'nin üstündeki bir uyumluluk katmanıdır.
- HIView Manager - kontrollerin oluşturulması, çizilmesi, isabet testi ve manipülasyonunu yönetir. Mac OS X v10.2'den bu yana, tüm kontroller HIViews'tir. Mac OS X v10.4'te, Kontrol Yöneticisi HIView Manager olarak yeniden adlandırıldı.
- Pencere Yöneticisi - pencerelerin oluşturulmasını, konumlandırılmasını, güncellenmesini ve değiştirilmesini yönetir. Mac OS X v10.2'den beri, pencerelerin kök HIView'i var.
- Menü Yöneticisi - Menülerin oluşturulmasını, seçilmesini ve değiştirilmesini yönetir. Mac OS X v10.2'den beri, menüler HIObjects'tir. Mac OS X v10.3'ten beri, menü içeriği HIViews kullanılarak çizilebilir ve tüm standart menüler çizmek için HIViews kullanır.
Kaynakça
- ^ "Arşivlenmiş kopya". 16 Haziran 2019 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ "Arşivlenmiş kopya". 30 Temmuz 2019 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ . 10 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2019.
- ^ https://carbondate.github.io/docs/ []
- ^ . 13 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2019.
- ^ https://carbondate.github.io/history/ []
- ^ . 22 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2019.
- ^ "Arşivlenmiş kopya". 14 Temmuz 2019 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ "Arşivlenmiş kopya". 10 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ "Arşivlenmiş kopya". 7 Ocak 2017 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ "Arşivlenmiş kopya". 4 Ağustos 2009 tarihinde kaynağından . Erişim tarihi: 12 Ağustos 2019.
- ^ . 6 Haziran 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2019.
Dış bağlantılar
- Sitesi16 Haziran 2019 tarihinde Wayback Machine sitesinde .
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Carbon Macintosh bilgisayarlari calistiran isletim sistemi olan Mac OS X bugun macOS olarak bilinir icin Apple in C tabanli uygulama programlama arayuzlerinden API biridir Carbon Mac OS 8 ve Mac OS 9 isletim sistemlerinde calisan programlar icin iyi bir geriye donuk uyumluluk saglamistir Gelistiriciler klasik Mac OS ve Macintosh isletim sistemleri yazilimlarini OS X platformuna tasimak icin uygulamayi azami caba harcayarak cok az bir caba ile kullanabilirler te ortaya cikan tamamen farkli Cocoa API sistemidir Carbon APIGelistirici ler AppleIsletim sistemimacOSTurYazilim iskeletiResmi sitesiSitesi Carbon Apple in Mac OS X i pazara sunma stratejisinin onemli bir parcasiydi mevcut yazilim uygulamalarinin hizli bir sekilde tasinmasi icin bir yol sunmanin yani sira Mac OS X veya klasik Mac OS de calisacak nakliye uygulamalari icin bir yol sunuyordu Pazar giderek artan bir sekilde Cocoa bazli cercevelere gectiginden ozellikle iOS piyasaya suruldukten sonra bir tasima kutuphanesine duyulan ihtiyac seyreltildi Apple 2007 cercevesindeki diger cercevelerini guncellerken 64 bitlik bir Carbon surumu olusturmadi ve sonunda 24 Temmuz 2012 de yayimlanan OS X Mountain Lion daki tum API yi kullanimdan kaldirdi TarihiOrijinal Mac OS Pascal i birincil gelistirme platformu olarak kullandi ve API ler Pascal in cagri anlambilimine dayaniyordu Arac Kutusunun cogu Pascal in degisken kayit konseptine dayanan cesitli veri yapilari kullanarak API ve program arasinda bilgi ileri geri ileten prosedur cagrilarindan olusuyordu Zamanla Mac te ozellikle Pascal da Object Pascal kutuphanesi MacApp ve Library de TCL ve daha sonra MacApp ve CodeWarrior PowerPlant in surumlerinde surumlerinde Mac uzerinde bir dizi nesne kutuphanesi gelisti 1990 larin ortalarina gelindiginde Mac yazilimlarinin cogu C ile CodeWarrior kullanilarak yazilmistir Orijinal Mac OS Pascal i birincil gelistirme platformu olarak kullandi ve API ler Pascal in cagri anlambilimine dayaniyordu Macintosh Arac Kutusunun cogu Pascal in degisken kayit konseptine dayanan cesitli veri yapilari kullanarak API ve program arasinda bilgi ileri geri ileten prosedur cagrilarindan olusuyordu RhapsodyNeXT nin 1996 yilinin sonlarinda satin alinmasiyla Apple buyuk olcude mevcut OpenStep platformuna dayanan yeni bir isletim sistemi stratejisi gelistirdi Yeni Rhapsody nispeten basitti OpenStep in mevcut nesne kitapliklarinin cogunu Yellow Box adi altinda OpenStep in mevcut GUI sini barindiran ve daha fazla Mac benzeri gorunmesini sagladi Mac OS den birkac buyuk API yi Rhapsody nin temelindeki Unix benzeri sisteme ozellikle QuickTime ve e tasidi ve mevcut Mac OS yazilimini calistiran Blue Box olarak bilinen bir oykunucuyu ekledi Bu plan 1997 yilinda Apple Worldwide Developers Conferencede acildiginda kod tabanlarinin etkili bir sekilde guncellenmesi muhtemel olmayan bir emulatore kilitlenecegi icin uzulen mevcut Mac OS gelistiricilerinden bir miktar geri donus vardi Microsoft ve Adobe gibi daha buyuk gelistiriciler tamamen dupeduz kaldi ve mevcut Mac OS den cok farkli olan veya uyumsuzlugun cok az oldugu OpenStep e tasinmayi dusunmeyi reddetti Apple bu endiseleri kalbe aldi Steve Jobs bu degisikligi 1998 WWDC de duyurdugunda gelistiricilerin gercekten istedigi sey Mac OS nin modern bir surumu oldugunu ve Apple in bunu sunacagini belirtti Aciklama gok gurultulu alkislarla karsilandi Orijinal konsepti sonunda 1999 da turunun tek surumu olan mac OS X Server 1 0 olarak piyasaya suruldu Cocoa ve CarbonApple mevcut Mac OS kod tabanlari icin gercek ve iyi desteklenen bir yukseltme yolu sunmak icin Carbon sistemini tanitti Carbon Mac benzeri bir API sunan ancak oykunme icinde calisan Mac isletim sisteminin bir kopyasi yerine altinda yatan Unix benzeri isletim sisteminin ustunde calisan bircok kitaplik ve islevden olusur Carbon kutuphaneleri kapsamli bir sekilde temizlenir modernize edilir ve daha iyi korunur Mac OS veri iletmek icin hafizayi paylasan API lerle doluyken Carbon altinda bu tur tum erisim opak veri turlerinde erisimci alt yordamlari kullanilarak yeniden uygulandi Bu Carbon un gercek coklu gorev ve hafiza korumasini desteklemesini sagladi Mac gelistiricilerin on yildan beri talep ettigi ozellikler idi Onceden var olan API deki diger degisiklikler kavramsal olarak Mac OS X le uyumlu olmayan ya da sadece eski olan ozelliklerden kaldirildi Ornegin uygulamalar artik kesme kotarici veya aygit surucusu yukleyemedi Carbon i desteklemek icin tum Rhapsody modeli degisti Rhapsody etkin bir oykunucuyle etkin bir sekilde OpenStep olurken yeni sistemde hem OpenStep hem de Carbon API mumkun oldugunda ortak kodu paylasacaktir Bunu yapmak icin OpenStep sisteminin alt seviyelerinden Objective C dilinde yazilmis ve Foundation olarak bilinen yararli kod bitlerinin cogu saf C de yeniden uygulandi CF cagirmak icin gosterilen Yellow Box un bir versiyonu yeni Cocoa API sine donustu ve Mac benzeri Carbon cagrilari da ayni islevleri cagirdi Yeni sistemde Carbon ve Cocoa eslerdi Bu donusum normal olarak temel C kutuphanelerine cagrilan nesne metotlari olarak Cocoa performansini yavaslatirdi ancak Apple bu etkiyi azaltmak icin ucretsiz kopruleme olarak adlandirdiklari bir teknik kullandi Bu donusumun bir parcasi olarak Apple grafik motorunu lisansli ten lisanssiz a Ekran PDF olarak adlandirilir aktardi Quartz hem Carbon hem de Cocoadan kullanilabilecek dogal cagrilar saglamanin yani sira Java 2D benzeri arayuzler de sundu Altta yatan isletim sisteminin kendisi daha da izole edildi ve Darwin olarak serbest birakildi Serbest birakma ve evrim1997 yilinda Mac OS 8 1 ile geriye donuk olarak uyumlu paylasilan bir kutuphane olarak Carbon 2000 yilinda eksik olarak tanitildi Bu surum gelistiricilerin bu programlarin mevcut Mac OS makinelerinde calisabilme yetenegini kaybetmeden kodlarini Carbon a aktarmalarina izin verdi Resmi Mac OS X destegi 2001 de yeni isletim sisteminin ilk halka acik surumu olan Mac OS X 10 0 in piyasaya surulmesiyle geldi Carbon Mac OS X in ilk surumlerinde neredeyse tum buyuk yazilim evleri tarafindan Apple tarafindan bile kullanildi Ornegin Finder 2009 yilinda yalnizca Mac OS 10 6 nin Mac OS X Snow Leopard piyasaya surulmesiyle Cocoa ya tasinan uzun yillar boyunca bir Carbon uygulamasi olarak kaldi 26 Ekim 2007 de yayinlanan Mac OS X Leopard Mac OS X v10 5 ile baslayan 64 bit Macintosh uygulamalarina gecis Carbon icin ilk buyuk kisitlamalari getirdi Apple 64 bit ortamdaki Macintosh grafik kullanici arayuzu ile C programlama dili arasinda uyumluluk saglamaz bunun yerine Cocoa API ile Objective C lehcesi kullanilmasini gerektirir Bircok yorumcu bunu Carbon un nihai ortadan kaybolmasinin ilk isareti olarak gordu Apple Carbon sistemine yeni onemli bir ilaveler eklenmeyecegini soylediginde yeniden uygulanan bir pozisyondu ve 2012 de deger dusuklugu ile daha da guclendirildi Cocoaya GecisCocoa nin ongorulen avantajlarina ragmen buyuk miktarlarda eski kodun yeniden yazilmasi ihtiyaci Nisan 2010 da sonunda Cocoa ya guncellenen unlu Adobe Photoshop ile olan Carbon tabanli uygulamalarin gecisini yavaslatti iTunes ve Final Cut Pro ayrica QuickTime motorundaki guc veren ozellikler gibi yazilim paketleri de yillarca Carbon da yazili kaldi Hem iTunes hem de Cocoa surumlerinde piyasaya suruldu Karsi koyma2012 de OS X 10 8 Mountain Lion un piyasaya surulmesi ile cogu Carbon API si kullanimdan kaldirilmistir API lar gelistiricilere hala erisilebilir durumda ve tum Carbon uygulamalari calisacak ancak API ler artik guncellenmeyecekdir 28 Haziran 2017 de Apple MacOS icin tum Carbon uygulamalari gibi 32 bit yazilimlarin macOS High Sierra dan sonra macOS surumlerinde artik odun vermeden desteklenmedigini acikladi macOS Catalina 32 bit uygulamalar icin destegi resmi olarak kaldirir ve bu nedenle tum Carbon uygulamalari artik desteklenmez MimariCarbon Arac Kutusundan iner ve bu nedenle Yoneticiler den olusur Her Yonetici veri yapilari kumelerini ve bunlari islemek icin kullanilan islevleri tanimlayan islevsel olarak ilgili bir API dir Yoneticiler genellikle birbirine bagimli veya katmanlidir Carbon dosyalari bellegi verileri kullanici arayuzunu ve diger sistem servislerini yonetmek icin genis bir islevler setinden olusur Mac e ozgu islevsellige erisen tum C dili API prosedurlerini kapsayan bir semsiye terim olan Carbon ayri bir sistem olarak tasarlanmamistir Aksine neredeyse esdeger Cocoa API si icin gereken Objective C dilini bilmeyen gelistiricilere macOS un neredeyse tum islevselligini acar Carbon PowerPC Mac OS icin mevcut tum calistirilabilir formatlarla uyumludur Mac OS X ve onceki surumleri arasindaki ikili uyumluluk Apple in Xcode IDE lerinde hic desteklemedigi Tercih Edilen Yurutulebilir Format dosyasinin kullanilmasini gerektirir Carbon un daha yeni kisimlari cogu a dayanan anlayislarinda cok daha fazla nesne yonelimli olma egilimindedir HIView Manager Kontrol Yoneticisinin bir superseti gibi bazi Yoneticiler C ta uygulanmaktadir ancak Carbon bir C API olmaya devam etmektedir Carbon Yoneticilerinin bazi ornekleri Dosya Yoneticisi dosya sistemine erisimi acilmasini kapanmasini okunmasini ve yazmasini yonetir Kaynak Yoneticisi bir programin gerektirebilecegi onceden tanimlanmis veri parcalari olan kaynaklara erisimi yonetir Disk dosyalarindan kaynaklari okumak ve yazmak icin Dosya Yoneticisi ni cagirir Kaynaklara ornek olarak simgeler sesler resimler aletler icin sablonlar vb aittir Font Yoneticisi yazi tiplerini yonetir Mac OS X v10 4 ten beri Apple Type Services ATS lehine itiraz edildi QuickDraw in bir parcasi olarak 2D grafik ilkeleri Mac OS X v10 4 ten beri Quartz 2D nin lehine itiraz edildi Carbon Event Manager kullanici ve sistem etkinligini kodun taniyabilecegi ve yanit verebilecegi olaylara donusturur HIObject Carbon a GUI olusturmak icin bir OO modeli getiren tamamen yeni bir nesne yonelimli API dir Mac OS Classic ve Copland daki HIToolbox terkedilmis dayaniyordu bu yuzden Carbon eski kodun tasinmasini saglamak icin hizli ve kirli degistirme saglamak zorundaydi Bu Mac OS X 10 2 veya sonrasinda mevcuttur ve Carbon programcilarina Cocoa gelistiricilerinin uzun zamandir tanidigi araclardan bazilarini verir Mac OS X v10 2 ile baslayarak HIObject Carbon daki tum GUI ogeleri icin temel siniftir HIView Apple in gelistirici araclarinin bir parcasi olan Interface Builder tarafindan desteklenmektedir Geleneksel olarak bu tur GUI mimarileri saglamak icin ucuncu taraf uygulama cercevelerine birakilmistir Mac OS X v10 4 ten baslayarak HIObjects NSObjects tir ve veri aktarimi veya diske kaydedilmesi icin veri akislarina seri hale getirilebilme ozelligine sahiptir HITheme grafik kullanici arayuzu GUI elemanlarini ekrana getirmek icin QuickDraw ve Quartz kullaniyor HITheme Mac OS X Panther de tanitildi ve Gorunum Yoneticisi bu surumden beri HITheme nin ustundeki bir uyumluluk katmanidir HIView Manager kontrollerin olusturulmasi cizilmesi isabet testi ve manipulasyonunu yonetir Mac OS X v10 2 den bu yana tum kontroller HIViews tir Mac OS X v10 4 te Kontrol Yoneticisi HIView Manager olarak yeniden adlandirildi Pencere Yoneticisi pencerelerin olusturulmasini konumlandirilmasini guncellenmesini ve degistirilmesini yonetir Mac OS X v10 2 den beri pencerelerin kok HIView i var Menu Yoneticisi Menulerin olusturulmasini secilmesini ve degistirilmesini yonetir Mac OS X v10 2 den beri menuler HIObjects tir Mac OS X v10 3 ten beri menu icerigi HIViews kullanilarak cizilebilir ve tum standart menuler cizmek icin HIViews kullanir Kaynakca Arsivlenmis kopya 16 Haziran 2019 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 Arsivlenmis kopya 30 Temmuz 2019 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 10 Agustos 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 12 Agustos 2019 https carbondate github io docs olu kirik baglanti 13 Ekim 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 12 Agustos 2019 https carbondate github io history olu kirik baglanti 22 Agustos 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 12 Agustos 2019 Arsivlenmis kopya 14 Temmuz 2019 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 Arsivlenmis kopya 10 Agustos 2019 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 Arsivlenmis kopya 7 Ocak 2017 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 Arsivlenmis kopya 4 Agustos 2009 tarihinde kaynagindan Erisim tarihi 12 Agustos 2019 6 Haziran 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 12 Agustos 2019 Dis baglantilarSitesi16 Haziran 2019 tarihinde Wayback Machine sitesinde Ayrica bakinizCocoa API Objective C Xcode iOS SDK Interface Builder uygulama Rosetta yazilim XNU X Pencere Sistemi