Каковы плюсы и минусы Objective-C для современной iOS-разработки?

«Каковы плюсы и минусы Objective-C для современной iOS-разработки?» — вопрос из категории Софт-скиллы, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Objective-C остается актуальным для поддержки legacy-кода, но для новых проектов предпочтительнее Swift.

Преимущества Objective-C:

  • Прямой доступ к C: Позволяет использовать низкоуровневые API и библиотеки.
  • Динамическая природа: Гибкость во время выполнения (runtime, message passing).
  • Понимание экосистемы: Опыт работы помогает глубже понять историю и внутреннее устройство iOS/macOS.

Недостатки Objective-C:

  • Синтаксис: Менее читаемый и безопасный по сравнению со Swift.
  • Скорость разработки: Медленнее компилируется, требует больше boilerplate-кода.
  • Тренды: Активное развитие и сообщество сосредоточены на Swift.

Пример класса:

// Person.h
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
- (void)sayHello;
@end

// Person.m
@implementation Person
- (void)sayHello {
    NSLog(@"Hello, %@!", self.name);
}
@end

Вывод: Objective-C необходим для работы со старыми проектами, но для старта новых продуктов следует выбирать Swift.