LINUX.ORG.RU
ФорумTalks

Применяется ли Objective C в Linux?

 


0

1

Есть ли какие-то серьёзные программы, написанные на Objective C, притом изначально не для маков, то есть, не портированные с них. Особо интересно, если они даже не имеют мак-версии.

Иначе говоря, представляет ли этот язык интерес для разработчика вне джобсовых платформ или портирования с них.

★★★★★

Последнее исправление: anonymous_incognito (всего исправлений: 1)

Нет. Так исторически сложилось.

Stahl ★★☆
()

серьёзные программы

Ты же понимаешь что сам по себе язык ведь ничего не значит, языку нужна инфраструктура.

-(id) init
{
	if (init_ed == NO) {
		init_ed = YES;

		ud = [NSUserDefaults standardUserDefaults];
		notifCenter = [NSNotificationCenter defaultCenter];
		
		/////////////////////////setup auto update////////////////////
		// 设定手动更新
		[[SUUpdater sharedUpdater] setAutomaticallyChecksForUpdates:NO];
		
		NSBundle *mainBundle = [NSBundle mainBundle];
		// 建立支持格式的Set
		for( NSDictionary *dict in [mainBundle objectForInfoDictionaryKey:@"CFBundleDocumentTypes"]) {
			
			NSString *obj = [dict objectForKey:@"CFBundleTypeName"];
			// 对不同种类的格式
			if ([obj isEqualToString:@"Audio Media"]) {
				// 如果是音频文件
				supportAudioFormats = [[NSSet alloc] initWithArray:[dict objectForKey:@"CFBundleTypeExtensions"]];
				
			} else if ([obj isEqualToString:@"Video Media"]) {
				// 如果是视频文件
				supportVideoFormats = [[NSSet alloc] initWithArray:[dict objectForKey:@"CFBundleTypeExtensions"]];
			} else if ([obj isEqualToString:@"Subtitle"]) {
				// 如果是字幕文件
				supportSubFormats = [[NSSet alloc] initWithArray:[dict objectForKey:@"CFBundleTypeExtensions"]];
			}
		}
		
		/////////////////////////setup bookmarks////////////////////
		// 得到书签的文件名
		NSString *lastStoppedTimePath = [NSString stringWithFormat:kMPCFMTBookmarkPath, 
										 NSHomeDirectory(), [mainBundle objectForInfoDictionaryKey:(NSString*)kCFBundleIdentifierKey]];
		// 得到记录播放时间的dict
		bookmarks = [[NSMutableDictionary alloc] initWithContentsOfFile:lastStoppedTimePath];
		if (!bookmarks) {
			// 如果文件不存在或者格式非法
			bookmarks = [[NSMutableDictionary alloc] initWithCapacity:10];
		}		
	}
	return self;
}

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)

На Objective-C можно писать кроссплатформенные приложения (игры, главным образом) одновременно для Android и iOS. Такую возможность предоставляет crystalx ndk и apportable.

В чистом виде с нуля что-то писать для Linux на Objective-C смысла особо нет, хотя ничто не мешает.

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

Apple продвигает Swift в качестве языка для приложений, но фреймворки и инфраструктурные компоненты до сих пор пишутся на Objective-C.

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

Свифт или как-то так. Не помню как пишется.

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

Не, оно уже достаточно активно в продакшне используется, но до замены Objective-C ещё как до Китая раком.

mono ★★★★★
()

Есть. Был даже дистрибутив Linux, построенный на базе GNUstep.

Deleted
()

И хорошо, что он только под макось есть. У objective-c самый упоротый и нечитаемый синтаксис из всех популярных, неэзотерических языков, какая-то каша из сокращений.

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

Маководы так же говорят и про технику эппл, что она самая тёплая и ламповая и лучше нет в принципе, так что, доверия им нет.
И действительно, кажется, что этот язык на треть состоит из этого самого сахара.

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

«кому-то»

Вкус дело относительное)

На С++ люди пишут, потому что он есть и вокруг него сложилась инфраструктура, на обж-с пишут под яблочки по той же причине, но касающейся яблочек. В остальных местах не сложилось и не пишут, ибо а зачем.

nerfur ★★★
()

unar - свободный архиватор поддерживающий несколько форматов. Раньше он умел новые форматы rar, но умеет ли он rar5 не понятно.

onon ★★★
()

Нет, ибо библиотеки Apple не открывает.

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

Да что угодно. Собственно вопрос про замену глуп. Небуло C#. Чего заменять.

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