Swift и Objective-C

Поделиться:

На вопросы из этого раздела отвечали только те, кто выбрал Swift или Objective-C в качестве одного из трех основных языков программирования.

Поделиться:

Для каких платформ Apple вы разрабатываете приложения?

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

Любопытно, сможет ли Swift в ближайшие годы наконец выйти за рамки экосистемы Apple — в этом году он сделал значительный шаг в этом направлении.

Планируете ли вы использовать Mac Catalyst, чтобы адаптировать iOS-приложения к macOS?

Кшиштоф Заблоцкий

Консультант и автор популярных комьюнити-инструментов

По моему опыту, Mac Catalyst работает достаточно хорошо. Однако, учитывая популярность SwiftUI, я вижу, что все больше приложений выбирают прямой нативный путь, особенно если рассматривать бизнес-приложения и офисные приложения, в которых UX и удобства Mac (шорткаты, многооконность) просто лучше реализованы на полностью нативных устройствах.

Пишете ли вы юнит-тесты для кода на Swift или Objective-C?

Джон Рид

Преподаватель в Industrial Logic, автор книги «iOS Unit Testing by Example»

Процент разработчиков, пишущих юнит-тесты в экосистеме Apple, увеличился по сравнению с прошлым годом, но все еще сильно отстает от других экосистем: очень немногие пишут тесты для SwiftUI-кода. Есть большая возможность научиться писать недорогие микротесты.

Кшиштоф Заблоцкий

Консультант и автор популярных комьюнити-инструментов

Приятно видеть небольшое улучшение по сравнению с прошлым годом, но, кажется, мы все еще сильно отстаем от веб-стеков. Apple действительно улучшила поддержку разработки через тестирование в XCTest и Xcode, и благодаря Xcode Cloud любой может начать пользоваться ими относительно легко.

Какие фреймворки вы регулярно используете для юнит-тестирования?

Используете ли вы UI-тесты?

Кшиштоф Заблоцкий

Консультант и автор популярных комьюнити-инструментов

Самая большая проблема с UI-тестами, которую я заметил в клиентских проектах, — это скорость выполнения. При разработке через тестирование мы можем получать очень быстрый цикл обратной связи, но добиться такой скорости с UI-тестами невозможно.

Из-за этого мы часто настраиваем проекты так, чтобы UI-тесты запускались ежедневно, а не для каждого пул-реквеста (иначе слишком медленно и в больших командах очереди пул-реквестов становятся очень длинными).

Каким менеджером зависимостей вы пользуетесь?

Дэйв Вервер

Создатель iOS Dev Weekly и один из основателей Swift Package Index

Непросто выделить время на переход к новой системе управления зависимостями, если текущая работает исправно, поэтому удивительно, что SwiftPM в этом году на первом месте. А с таким большим числом желающих перейти на SwiftPM в течение 12 месяцев, в следующем году эти цифры будут еще выше.

Заменяете ли вы зависимости CocoaPods пакетами SwiftPM?

Разрабатываете ли вы с помощью Swift на Linux?

Вы разрабатываете серверные проекты на Swift?

Какие UI-технологии вы регулярно используете в Swift-коде?

Джон Рид

Преподаватель в Industrial Logic, автор книги «iOS Unit Testing by Example»

Многие разработчики пользуются только SwiftUI. И среди этих 40% растет число тех, кто никогда не работал с UIKit. Этот сдвиг нельзя не заметить.

Swift и Objective-C:

2023

Спасибо, что уделили время!

Если результаты исследования показались вам интересными, поделитесь ими с друзьями и коллегами.

Если у вас есть вопросы или пожелания, свяжитесь с нами по адресу surveys@jetbrains.com.