2016-08-15 3 views
0

Я начинаю разработку нового приложения без использования существующей кодовой базы для повторного использования. Мне очень нравится Objective-C, но мне хотелось создать приложение в Swift, учитывая, что это будущее. Но до этого у меня есть несколько вопросов:Каковы преимущества и недостатки использования Swift для Mac-приложения?

Поддерживает ли Mac App Store приложения, написанные в Swift?

Swift 3 не совместим с бинарными, значит, это означает, что следующая версия macOS может сломать мое приложение? Могу ли я привести ситуацию, когда мне придется поддерживать два бинарных файла для разных версий macOS?

Доступны ли все инструменты отладки Xcode для Objective-C для Swift?

Существуют ли другие факторы, имеющие отношение к этому решению?

+0

Нет смысла утверждать, что этот вопрос основан на мнениях. Четыре вопроса, которые я задал в вопросе, имеют объективные ответы. –

+0

Причина, по которой ваш вопрос был приостановлен, объясняется общим вопросом. Вы должны спросить/изучить эти вопросы отдельно. Просить плюсы и минусы в первую очередь основаны на мнениях. – penatheboss

+0

Это нормально, если вы считаете, что за и против мнения основаны на мнениях, но это не так. Какие из факторов, которые вы считаете важными, основаны на мнениях, но не сами факторы. Например, в принятом ответе говорится, что рефакторинг в Xcode работает только для Objective C. Это факт, а не мнение. –

ответ

1

Я не вижу никаких ограничений в отношении приложений Swift. Они принимаются в Mac App Store и в любой версии Swift, которую вы используете, они будут совместимы с последними и будущими версиями macOS. И инструменты отладки также работают для Swift.

Сказав, что, есть свои преимущества и недостатки:

Преимущество:

  • Современного язык, превосходящие Objective-C
  • Полных обязательств Яблока
  • Может быть легко смешиваются с Objective -C (например, с сторонними библиотеками)

Недостатки:

  • Приложение большего размера, так как все приложения должны быть в комплекте с библиотеками быстрой версии.
  • Невозможно создать двоичные библиотеки в Swift. Они должны быть распределены в исходном коде.
  • Рефакторинг в XCode работает только для Objective-C.
  • Язык по-прежнему развивается. Несмотря на то, что XCode помогает обновляться, если язык изменяется, все еще есть ручная работа и повторный анализ.