Решили написать свое мобильное приложение для Apple устройств? Не можете выбрать между Swift и Objective-C? Советую выбрать свифт и вот почему.
Простота
Язык Swift намного более понятен и приятен для начинающих разработчиков. Он был разработан для быстрого изучения. Даже "зеленый" программист без опыта поймет синтаксис. Огромным плюсом стало то, что в Swift отказались от огромного количества скобочек [[[]]] и ;;; которыми изобилует Objective-C. К тому же один и тот же метод на Swift в сравнении с Objective-C выглядит намного лучше и компактнее, что добавляет ему читабельности. Больше всего он похож на Ruby или Python.
Objective-C
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName"]] ;
Swift
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
Скорость компиляции и написания
Очень быстрое компилирование вашего кода благодаря LLVM. Swift дает разработчику возможность писать меньше кода и использовать более современные методы разработки ПО.
Память
Swift использует ARC (Automatic Reference Counting), который проследит за использованием памяти вашим приложением. Это очень полезно, особенно если ваш проект вырастет в размерах со временем. Автоматическое, высокопроизводительное управление памятью было одной из главных проблем, которую Apple смогли решить.
Комьюнити
Огромное количество информации, сниппетов вы сможете найти за пару секунд, проведенных в гугл. Развернутые ответы на StackOverflow и тематических форумах. Видео-уроки на YouTube, с которыми изучение станет намного более интересным и простым.
Поддержка
Если в Objective-C AppDelegate занимал 2 файла, то в Swift файл всего один. Свифт комбинирует в себе заголовок Objective-C (.h) и файлы реализации (.m) в одном файле кода (.swift).
Подводя итог, стоит заметить, что Swift намного безопаснее своего собрата особенно с nil указателями, из-за введения опциональности значения. Разработка на свифт намного удобнее чем на Objective-C, переход с одного языка на другой, если у вас уже был опыт написания проектов на Objective-C, не займет много времени. Преимущества, которые вы получите изучив этот язык, неоценимы.
Читайте также: