Почему Свифт?

Разработка приложений — один из самых востребованных навыков в наши дни. По данным Gartner, спрос на корпоративные мобильные приложения превысит имеющиеся возможности для разработки в пять раз. Поэтому, если вы хотите разрабатывать для мобильной экосистемы, вам придется выбирать между Android или iOS, двумя доминирующими сегодня платформами. Да, есть возможность выбрать из нескольких независимых от платформы технологий, таких как PhoneGap и React Native и т. д., но я чувствую, что они все еще не обеспечивают уровень производительности, который обеспечивают нативные приложения.

Я буду говорить с точки зрения iOS-разработчика, поскольку сам являюсь одним из них. Для разработки приложения для iOS и, если уж на то пошло, приложения для Mac OSX, вам необходимо работать с Objective c и Cocoa/Cocoa touch.

Еще несколько лет назад Objective C был единственным доступным вариантом, если вы хотели разрабатывать для устройств Apple. Хотя мне нравится Objective-C как язык, у него есть свои плюсы и минусы.

Что не так с Objective-C?

Самым большим недостатком Objective C является его загадочный синтаксис. Это большое препятствие для новых программистов или опытных программистов, когда-то работавших на другой платформе/технологии. Кривая обучения крутая и не позволяет многим потенциальным разработчикам разрабатывать для экосистемы Apple.

Objective-C был создан главным образом Брэдом Коксом и Томом Лавом в начале 1980-х годов в их компании Stepstone. В 1988 году NeXT лицензировала Objective-C от StepStone. Objective-C — это надмножество C, который сам по себе является очень старым языком. С момента разработки Objective-C появилось много новых принципов программирования. Современные языки программирования приобрели популярность.

Свифт, что это, спросите вы…

Согласно веб-странице Apple о Swift, «Swift — это мощный и интуитивно понятный язык программирования для iOS, OS X, tvOS и watchOS. Написание кода Swift интерактивно и увлекательно, синтаксис краток, но выразительн, а приложения работают молниеносно. Swift готов для вашего следующего проекта или добавления в ваше текущее приложение, потому что код Swift работает бок о бок с Objective-C».

Мастерски Apple сделала возможным одновременное использование Swift и Objective-C в одном проекте. Это избавляет разработчика от выбора одного языка и делает переход на Swift более плавным. Вы можете создать новый проект с Swift в качестве выбранного языка и добавить во вновь созданный проект старые библиотеки, написанные вами или третьими лицами на Objective-C. Или, если у вас есть старый проект, написанный на Objective-C, в который вам нужно добавить новую функциональность, вы все равно можете использовать Swift. Видите, разве это не опрятно.

Преимущества Swift по сравнению с Objective-C?

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

Языки, которые вдохновили Swift:

  1. Объектив-С
  2. "Ржавчина"
  3. Хаскелл
  4. "Рубин"
  5. Питон
  6. C#
  7. КЛУ

Есть еще много языков, которые вдохновили Swift, здесь невозможно перечислить их все.

Свифт имеет следующие преимущества:

  1. Swift легче читать: код Swift больше похож на естественный английский, в дополнение к другим современным популярным языкам программирования. Эта удобочитаемость облегчает существующим программистам JavaScript, Java, Python, C# и C++ внедрение Swift в свою цепочку инструментов — в отличие от гадкого утенка, которым был Objective-C.
  2. Swift проще в обслуживании: Swift не требует наличия двух файлов. Xcode и компилятор LLVM могут автоматически определять зависимости и выполнять инкрементные сборки. Xcode и компилятор LLVM могут работать за кулисами, чтобы снизить нагрузку на программиста. Благодаря Swift программисты меньше занимаются бухгалтерией и могут тратить больше времени на создание логики приложения. Swift сокращает шаблонную работу и улучшает качество кода, комментариев и поддерживаемых функций.
  3. Swift безопаснее. В Swift необязательные типы и типы значений явно указывают в определении метода, существует ли значение или может ли оно быть необязательным (то есть значение может существовать или может быть ноль).
  4. Swift унифицирован с управлением памятью: в Objective-C ARC поддерживается API-интерфейсами Cocoa и объектно-ориентированным кодом; однако он недоступен для процедурного кода C и API, таких как Core Graphics. Это означает, что ответственность за управление памятью при работе с Core Graphics API и другими низкоуровневыми API, доступными в iOS, лежит на программисте. ARC в Swift работает как с процедурным, так и с объектно-ориентированным кодом, программистам больше не нужно переключать контекст в уме.
  5. Swift требует меньше кода. Swift сокращает объем кода, необходимого для повторяющихся операторов и операций со строками. Система типов в Swift снижает сложность операторов кода, поскольку компилятор может определять типы.

Это лишь немногие преимущества Swift по сравнению с Objective-C. По мере того, как вы все больше и больше привыкаете к Swift, а Apple выпускает новые версии Swift, что они делают довольно регулярно, он будет становиться лучше.

что выбрать?

В конце концов, все сводится к личному выбору, нет смысла ввязываться в войну, как Emacs против Vim. Оба языка имеют свои особенности. Просто выберите то, что вам удобно. Потому что, в конце концов, не имеет значения, разрабатывали ли вы свое приложение с помощью Swift или Objective-C, если только его пользовательский опыт не станет хорошим, оно не станет завоеванием магазина приложений, на которое вы надеялись.