LINUX.ORG.RU

Обсуждалось не так давно..

Вроде бы, нашли всего штук пять программ, которые есть ТОЛЬКО под Мак. Все остальные - и под Винду имеются.

SplindeR
()
Ответ на: комментарий от Ramen

хочу посмотреть несколько программ

anonymous
()

нет конечно. Есть проект GNUStep, который реализовует Cocoa под линукс, но оно такое старое шописец.

Так что забудь

kingstone
()

просто мак в этом смысле еще хуже винды.

там вроде бы три полноценных независимых API

Cocoa,Carbon,X

эта игра не стоит свеч

Lockywolf ★★★
()
Ответ на: комментарий от Lockywolf

> Cocoa,Carbon,X

Не такие они и независимые (X-ы не считаем, они на маке не используются по факту). Cocoa -- это суть очень навороченная обертка вокруг Carbon, так что если на ляликсе проэмулировать Carbon, то Cocoa заведется сама. Но "ничего у вас не выйдет", Apple-овские фреймворки изобилуют недокументированными API, которые очевидно тем-же Cocoa используются, а что они из себя должны представлять - никто кроме Apple не знает достоверно.

fmj
()
Ответ на: комментарий от fmj

>Cocoa -- это суть очень навороченная обертка вокруг Carbon

ORLY?

anonymous
()
Ответ на: комментарий от Lockywolf

Вообще там QT(QuickTime)+Quartz+Cocoa. Эмуляции это пока не поддается.

iRunix ★★★★
()
Ответ на: комментарий от Miguel

> Откуда дровишки? А то очень похоже на 4.2.

Для затравки покурите http://www.macdevcenter.com/pub/a/mac/2001/05/23/cocoa_vs_carbon.html

А для окончательного убеждения, берем GUI Appliaction на Cocoa, самый что ни на есть
 темплейтный, билдим, запускаме, цепляемся дебагером и смотрим backtrace (я что-
бы не утруждатся взял готовый пример - SimpleBrowser):

#0  0x968ce9e6 in mach_msg_trap ()
#1  0x968d61dc in mach_msg ()
#2  0x9399a0de in CFRunLoopRunSpecific ()
#3  0x9399ad18 in CFRunLoopRunInMode ()
#4  0x933786a0 in RunCurrentEventLoopInMode ()
#5  0x933784b9 in ReceiveNextEventCommon ()
#6  0x9337832d in BlockUntilNextEventMatchingListInMode ()
#7  0x93d237d9 in _DPSNextEvent ()
#8  0x93d2308e in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#9  0x93d1c0c5 in -[NSApplication run] ()
#10 0x93ce930a in NSApplicationMain ()
#11 0x00001f38 in main (argc=1, argv=0xbffff46c) at /Developer/Examples/AppKit/SimpleBrowser/main.m:4
(gdb) 

И спрашивается, если Cocoa не обертка вокруг Carbon, то какого тогда 
[NSApplication run] спускается в чисто карбоновский CFRunLoopRun* ?


Так что не знаючи, не суйтесь рыльцем

fmj
()

А как насчет хакинтоша в vmware?

Zlyden ★★★
()
Ответ на: комментарий от fmj

>если Cocoa не обертка вокруг Carbon

>Так что не знаючи, не суйтесь рыльцем

Сам бы не совался.

Cocoa - тулкит от OSX, а карбон - это обертка для совместимости и запуска старых os9 тулз.

iRunix ★★★★
()
Ответ на: комментарий от iRunix

Точнее проги на classic пойдут на os9

проги на cocoa osX only

проги на carbon - os(9,X)

iRunix ★★★★
()
Ответ на: комментарий от fmj

Вообще говоря, по слухам в 10.6 уже Carbon не будет - равно как и поддержки PPC: http://www.appleinsider.com/articles/08/06/04/apples_mac_os_x_10_6_code_named...

Adobe еще должны свой софт переделать - и в путь. Но, я думаю, это еще не меньше года.

> И спрашивается, если Cocoa не обертка вокруг Carbon, то какого тогда [NSApplication run] спускается в чисто карбоновский CFRunLoopRun* ?

Если глянуть на http://developer.apple.com/documentation/CoreFoundation/Reference/CFRunLoopRe... видно, что CFRunLoopRun - это Core Foundation (на что как бы намекает префикс CF ;) ), а вовсе не Carbon.

Слышали, что с окончательным переходом Apple с Carbon на Cocoa, компания Corbina переименуется в Cocoina? ;)

anonymous
()
Ответ на: комментарий от iRunix

> Cocoa - тулкит от OSX, а карбон - это обертка для совместимости и запуска старых os9 тулз.

Еще раз повторюсь: не зная, не суйте свое рыло, ыы в том числе.

Вокруг чего простите Carbon обертка, вокруг Mach и BSD API? Carbon это нижний уровень архитектуры OS X, и все вышележащее его использует.

А то, что "а карбон - это обертка для совместимости и запуска старых os9 тулз." -- это да, Apple такими красивыми словами пишет в документации по Cocoa для чайником, дабы расхвалить последнюю. Однако по факту Cocoa целиком и полностью базируется на карбоне, и карбон является такой-же неотемлемой частью OS X, как WinAPI уровень в винде (имеются в виду XP / 2k, про свисту я ничего не знаю): какие-то библиотеки возможно и используют NT Native API, но большая часть всего базируется на WinAPI, при этом можно сколько угодно обзывать WinAPI устаревшим фреймворком, оставленным только для совместимости, умалчивая тот факт что 99% кода системного используют WinAPI. Так и Carbon можно обозвать устаревшим фреймворком, но для этого надо сначала переписать весь код Cocoa, так что-бы Cocoa напрямую использовала BSD и Mach интерфейсы, а до тех пор, пока Cocoa будет использовать Carbon, ни о какой "обертки для совместимости и запуска старых os 9 тулз" речи быть не может.

Если вам мои слова не кажутся убедительными, присмотритесь еще раз к backtrace, вас он не убеждает? Ну тогда вы полный ФГМ, что с вами спорить.

Кстати говоря, чтоб вы знали, Carbon не позволяет напрямую запускать OS 9 тулзы, он лишь облегчает перенос этих приложений на OS X, на уровне исходных кодов. А для запуска OS 9 приложений на PowerPC маках был эмулятор классики, который, что-бы знали, упразднили в Intel версии OS X, так что на новых маках запускать OS 9 тулзы уже никак не получится.

Ну и последний гвоздь в твой гроб: вот у меня стоит iPhone SDK beta5, я иду в каталог /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/System/Li brary

Захожу в каталог Frameworks, и вижу:

Carbon.framework отсутствует, вы могли бы радоватся, однако другие составляющие карбона: CoreFoundation, CoreGraphics, CFNetwork -- все это и тут есть, ну и для проверки сделаем:

$ grep -r CFRunLoopRun * 2>/dev/null

Binary file AudioToolbox.framework/AudioCodecs matches

Binary file AudioToolbox.framework/AudioToolbox matches

..... много.....

Спрашивается, зачем на iPhone элементы Carbon-а, что-бы запускать старые OS 9 приложения?

fmj
()
Ответ на: комментарий от fmj

Вчера под вечер решил прибрать на полках

Нарыл нехилую кучю старого или ненужного софта

Запускалось вообще все!! Ничо не зависало.. Никаких эмуляторов..

Акуенно знаете ли диски из окна запускать

bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

> Если глянуть на http://developer.apple.com/documentation/CoreFoundation/Reference/CFRunLoopRe.. . видно, что CFRunLoopRun - это Core Foundation (на что как бы намекает префикс CF ;) ), а вовсе не Carbon.

Карбоном, давно уже принято называть всю совокупность фреймворков с C-шным интерфейсом, если вы не знали :)

fmj
()
Ответ на: комментарий от fmj

>Спрашивается, зачем на iPhone элементы Carbon-а, что-бы запускать старые OS 9 приложения?

Чтобы собрать то, что на cocoa еще не переписали.

ФГМ ты.

iRunix ★★★★
()
Ответ на: комментарий от iRunix

> >Спрашивается, зачем на iPhone элементы Carbon-а, что-бы запускать старые OS 9 приложения?

> Чтобы собрать то, что на cocoa еще не переписали.

> ФГМ ты.

Странная у тебя логика. К твоему сведению, Cocoa на iPhone OS весьма отличается от Cocoa на OS X, так что получается что, Apple поменяли Cocoa интерфейс до неузнаваемости (оно и понятно, интерфейс пользовательский совершенно на другом принципе построен), но оставили Carbon что-бы какие-то там старые никому не нужные приложения собирались на iPhone-е ?

fmj
()
Ответ на: комментарий от fmj

> Also unconfirmed, but somewhat likely, is that Apple will completely wrap Snow Leopard in its Cocoa application programming interface (API) set, meaning that applications written via the company's legacy Carbon API will fail to run on the new system.

iRunix ★★★★
()
Ответ на: комментарий от fmj

Cocoa состоит в основном из двух библиотек объектов Objective-C называемых фреймворками (Framework). Фреймворки это примерно то же, что и динамические библиотеки. Они представляют собой скомпилированные объекты, загружаемые в адресное пространство программы во время исполнения, но помимо того фреймворки включают ресурсы, заголовочные файлы и документацию. Cocoa также включает систему контроля версий, предупреждающую проблемы встречающиеся в Microsoft Windows (так называемый "DLL hell"). Foundation Kit, зачастую просто называемый Foundation, впервые появился в OpenStep. В Mac OS X он основан на Core Foundation. Foundation представляет собой объектно-ориентированную библиотеку общего назначения обеспечивающую работу со строками и значениями, контейнеры и итерацию по ним, распределённые вычисления, циклы обработки сообщений и другие функции, не привязанные напрямую к графическому интерфейсу. И это ни разу не карбон!!! Application Kit или AppKit происходит напрямую от NeXTSTEP Application Kit. Он содержит код, с помощью которого программы могут создавать графический интерфейс и взаимодействовать с ним. AppKit построен на основе Foundation.

Ключевой элемент архитектуры Cocoa — это модель представлений (views). Внешне она огранизована как обычный фреймворк но реализована с использованием PDF для всех операций рисования предоставляемых Quartz. Это позволяет программисту рисовать всё, что угодно, используя команды языка, похожего на PostScript. Это к тому же автоматически предоставляет возможность вывода любого представления на печать. Поскольку Cocoa обрабатывает обрезку, прокрутку, масштабирование и прочие типичные задачи отображения графики, программист освобождается от необходимости реализовывать базовую инфраструктуру и может сконцентрироваться на уникальных аспектах разрабатываемого приложения.

iRunix ★★★★
()
Ответ на: комментарий от iRunix

Дубль два:

Карбоном, давно уже принято называть всю совокупность фреймворков с C-шным интерфейсом, если вы не знали

(а не только Carbon.framework).

Что вы пытаетесь вякать, не вникая в суть дела то?

fmj
()
Ответ на: комментарий от fmj

>Карбоном, давно уже принято называть всю совокупность фреймворков с C-шным интерфейсом, если вы не знали

Минуточку, кем принято? Вами?

>Что вы пытаетесь вякать, не вникая в суть дела то?

Ну кто бы говорил?

iRunix ★★★★
()
Ответ на: комментарий от fmj

>среди разработчиков.

Среди разработчиков которые не умеют читать.

Каким боком core foundation относится к карбону больше чем к кокоа?

А в линуксе qt тоже gtk дергает? Ведь если гткшную прогу дернуть, она тоже к иксам обращается, как и qt

iRunix ★★★★
()
Ответ на: комментарий от iRunix

> Минуточку, кем принято? Вами?

Разроботчегами, почему тогда даже Сами Боги, Apple, поместили референс на Core Foundation в раздел Carbon? Сходите на тот-же http://www.macdevcenter.com/ млм на http://www.cocoabuilder.com/, поищите поиском слово "Carbon", и почетайте о чем люпи пишут/спрашивают.

fmj
()
Ответ на: комментарий от iRunix

> Каким боком core foundation относится к карбону больше чем к кокоа?

Таким, что у Cocoa есть Objective-C-шная NS* замена всем CF* обьектам, которая конечно суть обретка во многих случаях.

fmj
()
Ответ на: комментарий от fmj

>Таким, что у Cocoa есть Objective-C-шная NS* замена всем CF* обьектам, которая конечно суть обретка во многих случаях

Короче загон в терминах. По вашему CF часть carbon?

iRunix ★★★★
()
Ответ на: комментарий от iRunix

> Короче загон в терминах. По вашему CF часть carbon?

Если давать точное определение, то очевидно нет, однако среди разработчиков карбоном зовется все что не на Objective-C, в частности всякие Core Foundation, Core Services, Core Graphics, System Configuration, Audio Services и проч-проч-проч.

fmj
()
Ответ на: комментарий от fmj

>Если давать точное определение, то очевидно нет

Значит, что кокоа не использует карбон вы понимаете?

iRunix ★★★★
()
Ответ на: комментарий от fmj

давайте все-таки в этом следоваьб мнению apple, а не "общепризанного" заблуждения девелоперов. Они просто используют общую базу, и не более

iRunix ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.