Краткий обзор языка Swift. Самый секретный проект Apple. Я слышал, что учить Swift очень просто. Так ли это? Почему Swift быстрее других языков? Может это неправда

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

Что такое Swift?

Это новый язык программирования, разработанный Apple для создания приложений для iOS и OS X. Он построен на основе C и Objective-C, но более простой и гибкий. Кроме того, создатели Swift позаимствовали лучшие элементы языков программирования Javascript и Python.

Чем он лучше других языков программирования?


Разработчики Apple постарались создать максимально современный язык: Swift быстр (скорость реализации некоторых алгоритмов в 3,9 раза больше, чем на Python) и лаконичен (разработчики избавились от многословности Objective-C). Ещё одно важное нововведение - это возможность писать код и видеть результаты в режиме реального времени. До этого на протяжении долгого времени процесс создания продукта и сам продукт были разделены, и из-за этого программисты должны были тратить много времени на проверку и оптимизацию кода. В Swift они могут вносить поправки и сразу видеть результат. Это значит, что разработчики смогут быстрее проверять в деле свои концепты и в целом быстрее создавать приложения.

Как научиться программировать на этом языке?


Одновременно с релизом Swift Apple выпустила книгу о нём , которую можно бесплатно скачать в iTunes Store. Судя по реакции специалистов, многие из которых прочитали её в первые часы после презентации языка на WWDC, в ближайшие недели стоит ждать сотни видеотуториалов и обсуждений - первые паблики уже появились.

Зачем это Apple?

Во-первых, Swift - это ответ Apple на появление языка программирования , который разработала конкурирующая компания Google. С момента появления OS X Apple использовала только Objective-C, и появление Swift - это большой шаг в будущее. Во-вторых, создавая простой и современный язык, Apple надеется привлечь на свою сторону не только опытных разработчиков, которые уже умеют работать с Objective-C и C, но и новичков, которые наверняка используют данную им возможность и начнут изучать Swift. Рынок приложений снова вырастет, а значит, влияние Apple увеличится.

Flappy Bird уже воссоздали на языке Swift и выложили на GitHub

Что говорят эксперты?

Антон Домашнев

iOS-разработчик Look At Media

«О таком языке мечтали многие из программистов под iOS и OS X, потому что он удобнее Objective-C, но я не могу сказать, что Objective-C - плохой язык и сильно нуждался в замене. Однако мне определённо нравится то, что Swift намного более читаем, и код, написанный на Swift, будет в разы короче аналогичного кода на Objective-C, что увеличит скорость разработки. Судя по тому, что я увидел на WWDC, нам стоит ожидать бума на игры для iOS, так как Apple представила очень интересную утилиту Interactive Playgrounds, которая поспособствует увеличению интереса к разработке игр для девайсов Apple. Сегодня я начну читать учебник по этому языку - судя по тому, что было показано на презентации, переход на Swift не будет сложным, так как много конструкций похожи на те, которые мы используем сейчас в разработке на Objective-C. Новые свои проекты я собираюсь писать на Swift».

Владимир Бобров

Технический директор Look At Media

«Безусловно, релиз Swift - это крутой шаг как для компании Apple, так и для сообщества разработчиков. Новый язык позволит привлечь большее количество разработчиков за счёт снижения порога входа в экосистему разработки Apple, который был довольно высоким из-за языка Objective-C. Кроме этого, предложенный набор инструментов (Interactive Playgrounds, REPL) позволит быстрее отлаживать свои программы и игры. Полагаю, что свойства языка Swift и огромная поддержка со стороны Apple позволят ему добиться большой популярности в среде разработчиков ПО, ориентированных на массового пользователя».

Что ещё?

В Swift можно использовать эмодзи.


Итак, продолжим знакомство с простым и интересным языком Swift. В прошлый раз мы перспективного языка программирования. А теперь сделаем своё первое приложение !

Как создать приложение для iOS

Сегодня мы сделаем простое приложение для расчета индекса массы тела и необходимого количества калорий для поддержания веса. Для этого будем использовать формулы Гарисса Бенедикта и индекса массы тела .

1. Для начала давайте создадим проект: запустите Xcode и нажмите комбинацию клавиш CMD+Shift+N или выберите в меню File->New->Project

2. Теперь выберите Tabbed Application и нажмите Next .

3. На этом этапе надо придумать имя для приложения (Product Name), нажать Next и выбрать папку для сохранения. Параметры Organization Name и Organization Identifier можете не менять.

Главное, чтобы значение в поле Language было равно Swift .

4. После того, как вы сохраните проект, перед вами появится рабочее пространство Xcode.

Слева у вас будет панель Navigator, а справа - Utilities. В каждой из этих панелей есть свои вкладки, которые позволяют получить доступ к различным функциям.

Например, первая влкадка в панеле Navigator показывает список файлов проекта, третья позволяет производить поиск по проекту и так далее.

5. Найдите в списке файлов проектов файл с именем Main.storyboard и нажмите на него.

Файл Main.storyboad определяет, какие экраны (контроллеры) есть в приложении. Вы можете добавлять элементы на экраны, задавать связи между экранами и так далее.

Если вы выберите какой-нибудь контроллер, он подсветится синей рамкой:

После того, как контроллер выбран, его свойства начнут отображаться в панели Utilities . Например, контроллеру можно поменять размер, выбрав другое значение в поле Size .

6. Запустим наше шаблонное приложение и посмотрим, как оно выглядит в симуляторе. Для этого надо в верхнем левом углу выбрать тип симулируемого устройства и нажать комбинацию клавиш CMD+R или кнопку с икокой Play .

Как видите, у нас есть приложение с двумя экранами, преключение между которым осуществляется при помощи таб-бара.

7. Нужно переименовать название табов. Для того, чтобы это сделать, надо выбрать таб, кликнув на него или выбрав его в иерархии элементов управления.


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

8. Теперь в панели Utilities выбирайте Attributes Inspector и меняйте значение в поле Title на BMR/BMI для первого таба и Килокалории для второго.

Сейчас на первом контролере размещены всякие надписи. Их надо удалить. Для этого выделите их и нажмите Delete .

9. Теперь добавим свои элементы управления. Внизу панели Utilities есть Object Library , в которой можно выбрать объекты и добавить их к сцене. Найдите объект Label и перетащите его на контроллер BMR/BMI. Перед этим не забудьте два раза тапнуть на сцене, чтобы масштаб стал стандартным.

Должно получиться примерно так.

В панели Utilities можно поменять текст, размер шрифта и так далее.

10. Перетащите еще несколько лейблов и поставьте им такой же текст, как и на картинке. Для последнего лейбла нужно поставить Lines в 2 , чтобы текст переносился на другую строку.

11. Теперь добавьте 3 текстовых поля (Text Field ).

И разместите их, как на картинке.

У текстовых полей поставьте параметр keyboard type в Number Pad .

И установите текст по умолчанию.

12. Теперь добавим элементы управления для выбора пола и кол-ва тренировок в неделю. В Object Library ищете Segmented Control и добавляйте на экран.

У Segmented Control можно менять количество сегментов и текст для каждого сегмента.

Сделайте так, чтобы сегменты выглядели, как на скриншоте.

13. Теперь добавьте кнопку (button ).

И установите ей заголовок.



После этого добавьте еще один label с lines равным 4 .

14 . Выберите контроллер BMI/BMR, нажмите два пересекающихся кольца в правом верхнем углу и откроется Assistant Editor . Он показывает код, ассоцированный с этим контроллером.

15. Протащим элементы управления.

Для этого выберите первый text field (в нашем случае это будет возраст), нажмите Ctrl, кликните на него еще раз и, не отпуская кнопки, перетащите внутрь класса. Если все сделано правильно, то вы увидите посказку “Insert Outlet, Action, …” .

Теперь отпустите курсор, и вы увидете окошко для создания связи. В качестве имени введите ageTextField и нажмите Connect .

16. У вас появится переменная ageTextField .

Проделайте эту процедуру для оставшихся text field, segmented controls и label с текстовым результатом. У вас должно получиться так:

Теперь протащите кнопку, но тип соединения укажите не Outlet, а Action . И в качестве имени используйте calculateTapped .

17. Теперь скопируйте следующий в метод calculateTapped .

Этот код выполняет расчет и выводит результат на экран.

18. Пришло время подвести итог. Давайте запустим и проверим:

Ваша первая программа готова! Молодцы!

Задавайте вопросы

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

Над текстом трудился Руслан Гуменный - ведущий разработчик e-Legion . Компания является лидером на рынке заказной мобильной разработки в Европе, входит в состав холдинга DZ Systems . За 9 лет существования были созданы приложения для РайффайзенБанка , Яндекса , BMW , Банка Москвы , Первого Канала , Aviasales , Sports.ru , ВГТРК , Mail.Ru Group и многих других компаний.

Если вы шарите в теме и вам есть, что добавить, не стесняйтесь – пишите в редакцию со своими статьями на тему разработки приложений. В следующем выпуске подробнее рассмотрим, что было сделано и доработаем приложение, подготовив его к публикации. Так что подготовьтесь заранее, сделав домашнее задание:)

(Нет голосов)

сайт Итак, продолжим знакомство с простым и интересным языком Swift. В прошлый раз мы познали базовые команды и функции перспективного языка программирования. А теперь сделаем своё первое приложение! Как создать приложение для iOS Сегодня мы сделаем простое приложение для расчета индекса массы тела и необходимого количества калорий для поддержания веса. Для этого будем использовать формулы Гарисса...

Программист Swift — это разработчик программ на платформе iOS для мобильных и настольных устройств от компании Apple — Mac, iPhone, iPad, Apple TV и Apple Watch. Профессия отноится к IT сфере , востребована настолько, насколько продукция Apple, зарплата в России в диапазоне 100000—300000 (медианное значение), возможность работать удалённо, доступна мужчинам и женщинам в любом возрасте с интересом к программированию (пройти тест на программиста), предполагает высшее техническое образование, колледж, или самообучение. Профессия имеет свои . Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

Краткое описание

Язык программирования Swift был создан в 2014 году, чтобы сменить устаревший язык Objective-C, и сразу получил большую популярность среди разработчиков.

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

Популярность программистов Swift напрямую связана с популярностью устройств Apple. Устройства стоят дорого, программное обеспечение для них доступно, как правило, для людей с высоким уровнем дохода. Поэтому программист Swift имеют высокую зарплату.

Особенности профессии

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

Программист Swift должен:

  • создавать программы;
  • проведить тестирование программ;
  • размещять созданные продукты в магазине, анализировать жалобы и пожелания пользователей, которые используют приложение;
  • внесенить исправления;
  • создавать обновления, инструкции;
  • уметь оценивать бюджет и своё время;

Работодатели заинтересованы брать опытных программистов, поскольку учить программированию, как правило у него нет средств. Поэтому, новичку следует рассмотреть возможность обучения на курсах программирования Swift.

Разработчик должен уметь решать спорные вопросы, искать оптимальные решения для реализации требований заказчика, без обид принимать критику, работать на результат, а не ради получения выгоды. Важно знание иностранного языка, навыки работы с устройствами компании Apple.

Плюсы и минусы профессии

Плюсы

  1. Язык Swift — современный, популярный и перспективный язык.
  2. Много вакансий
  3. Постоянное интеллектуальное развитие.
  4. Престижная профессия.
  5. Много обучающей литературы на русском языке.
  6. Есть перспективы карьерного роста.
  7. Работа с настоящими профессионалами, которые тоже увлечены своей работой.
  8. Высокая заработная плата, если программист работает в компании.

Минусы

  1. Часто, нервная работа
  2. Программисты мало двигаются
  3. Необходимо непрестанное самообучение

Важные личные качества

  1. Дисциплинированность.
  2. Умение контролировать себя.
  3. Честность.
  4. Пунктуальность.
  5. Ответственность.
  6. Стратегическое и логическое мышление.
  7. Задатки руководителя.
  8. Умение чувствовать людей.
  9. Хорошая память.

Обучение на программиста Swift, курсы программирования Swift

Swift — этот тот язык программирования, который на протяжении длительного времени ожидали разработчики. Его выход на большой рынок произвел фурор, а компания Apple, представив Swift, выпустила книгу-учебник. Учебник поможет освоить язык программистам, которые ранее работали с Objective-C. Книга распространяется бесплатно, скачать ее можно в iTunes Store, но дело в том, что она написана на английском языке. Официального перевода пока нет, но в интернете можно найти книги, созданные опытными программистами. В основе таких материалов лежит личный опыт разработчиков и переведенная техническая документация.

Если вы ранее не работали с языком Objective-C, но знаете язык Java или C++ и хотите стать классным программистом, то стоит начать посещать курсы программироваия Swift для разработчиков. Во время обучения студент получит знания не только о Swift, но и о Objective-C, узнает об этапах разработки приложений для устройств iOS. Можно выбирать и узконаправленные курсы программирования Swift, и курсы широкого профиля для разработчиков iOS .

Курсы программирования Swift

Курсы от T&P (theoryandpractice.ru)

Студенты обучаются в течение 51 дня, они узнают о том, как производится разработка, загрузка приложений в App Store, выучат языки программирования, необходимые разработчику для iOS, в т.ч. языку Swift. На обучение приглашают опытных программистов, менеджеров, веб-дизайнеров, людей, которые задумываются о собственном стартапе.

Учебный центр «Специалист» при МГТУ им. Н. Э. Баумана

Здесь постоянно проводятся различные лекции, курсы программирования, вебинары, которые направлены на изучение популярного языка Swift. Студенты могут выбирать формат обучения и программу, которая будет соответствовать их подготовке.

Место работы

Рынок мобильных разработок всегда нуждается в талантливых программистах Swift, поэтому они могут работать в любой сфере:

  • частные и государственные компании (клининг, логистика, строительство, продукты и другие);
  • сфера бизнеса и финансов;
  • собственные стартапы;
  • IT-компании;
  • интернет-магазины.

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

Зарплата Программиста Swift

Заработная плата программистов Swift не зависит от региона проживания или возраста. Важен опыт, количество языков программирования, которыми владеет разработчик, уровень знания английского языка и наличие проектов, размещенных в App Store.

Зарплата на 04.03.2019

Россия 50000—200000 ₽

Москва 60000—200000 ₽

Профессиональные знания

Разработчик обязательно должен знать язык программирования Swift и иностранный язык. Важен опыт практической работы с Objective-C, App Store, iTunes Connect и Apple Developer Program, знание UX/UI, Cocoa, CALayer, NSNotificationCenter, JSON/XML, Design Patterns, Core Data, SQL, SDK. Часто работодатели выдвигают и другие требования: знание дополнительного языка (Java, JavaScript и т. д.), размещенные в App Store приложения и многое другое. Конечно, программист должен уметь работать со всеми продуктами Apple (iPod, iPhone и т. д.).

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

Полезные материалы

  1. Русскоязычная документация: swiftbook.ru/doc .
  2. Форум разработчиков: cyberforum.ru/swift .
  3. Официальный учебник от компании Apple.

Подборка курсов, сайтов и рассылок, которые помогут освоить Swift в течение месяца.

Я начал изучать Swift ровно 30 дней назад. Три дня назад моё приложение было утверждено Apple для бета-тестирования. Понятно, что бета ещё далеко не идеал, но для меня это было большим достижением.

У меня нет ни степени в области компьютерных наук, ни опыта работы разработчиком, но последние 5 лет я был продакт-менеджером в команде разработки ПО и писал Ruby on Rails приложения ради забавы. Мне хотелось быть более близким к тем вещам, с которыми я работаю, поэтому я начал кодить.

Почему я выбрал iOS и Swift?

Постоянный рост популярности мобильных приложений

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

Ограничения играют на пользу

Разработка приложений в рамках, заданных Apple, вполне доступна новичку и не сильно ограничивает возможности. Зато у меня не было соблазна отвлекаться на что-либо другое и вынуждало меня больше думать о UX.

Swift - быстроразвивающийся язык.

Мне нравится находиться у истоков, вместе расти и развиваться, по этой причине я предпочитаю работать в стартапах. Так и тут, Swift ещё не настолько популярен, и мне нравится быть вместе с сообществом единомышленников.

Ресурсы для начинающих

Когда я начал изучение, у меня была идея простенького приложения. Это помогло мне сохранить мотивацию и шаг за шагом изучать основы.

Я потратил кучу времени в поиске хороших ресурсов, инструкций и онлайн-курсов. Я нашёл много крутых вещей для начинающих, для тех, кто не видел ни строчки кода, и решил, что это будет слишком медленно. В то же время технические статьи и справочные материалы (в том числе от Apple) оказались рассчитаны на более опытных разработчиков.

В конце концов я нашёл золотую середину, ниже приведены материалы, которые я счёл наиболее полезными:

1. Стэнфордский курс Пола Хегарти «Разработка Swift приложений для iOS 8» .

Доступно бесплатно в iTunes U (в том числе на Windows). На просмотр первых пяти лекций и выполнение домашнего задания у меня ушло около недели. В процессе обучения я столкнулся с трудностями, и мне пришлось перейти к другим ресурсам. Тем не менее скоро я планирую продолжить обучение. А этот сайт поможет вам разобраться с тем, что вы не понимаете.

2. Курс от ВШЭ «Разработка iOS-приложений на языке Swift» .

Курс основан на книге «Swift: Programming Language» . Для обучения потребуется опыт разработки на любом языке программирования (хотя бы на уровне основ). В целом курс даёт хорошую подготовку для начала работы над своими приложениями.

3. RayWenderlich.com

Нет, это не чей-то персональный сайт. Это лучшее, что я когда-либо находил. Если вы только начинаете, советую подписаться на рассылку и воспользоваться учебником, размещённым на сайте. Благодаря ему я впервые узнал о странных вещах и нашёл, как с ними справляться. После прочтения приступайте к поиску идей. Если не получается - погуглите.

Мой тайм-план

Неделя 1. Я погрузился в лекции и задания Стэнфордского курса, параллельно читая книгу , на основе которой был создан курс ВШЭ, и изучая ресурсы RayWenderlich.com . В конце первой недели я решил, что готов к старту работы над приложением.

Недели 2 и 3. В это время я отправился в небольшое путешествие, в пути у меня не было доступа к интернету, и я заранее загрузил более 40 вкладок. Это дало мне возможность работать над приложением, не отвлекаясь. Каждой день я думал о том, как сделать его лучше.

Неделя 4. Я продолжал зачистку ненужного кода, рисовал логотип в Sketch и готовил приложение к отправке Apple на рассмотрение. Я получил ответ меньше, чем через сутки.

Я провел 15 часов, работая в Xcode, 3 часа в iOS эмуляторе, больше 4 часов ушло на чтение учебников и около часа на поиск ответов на Stack Overflow. Ещё кучу времени я был занят изучением материалов с помощью смартфона (это время я не считал).