Swift — всё по этой теме для программистов


Оглавление (нажмите, чтобы открыть):

Нужно ли вам учить Swift?

Swift — это язык про­грам­ми­ро­ва­ния, раз­ра­бо­тан­ный в ком­па­нии Apple. На нем мож­но писать при­ло­же­ния для деск­то­па, мобиль­ных при­ло­же­ний, сер­ве­ров. У него есть сре­да Playground, в кото­рой мож­но уви­деть резуль­тат про­грам­ми­ро­ва­ния на лету. Ну и вооб­ще — язык Apple. Дол­жен быть хоро­шим, раз­ве нет?

Во всех наших преды­ду­щих ста­тьях мы исполь­зо­ва­ли JavaScript, назы­вая его язы­ком про­грам­ми­ро­ва­ния. Тех­ни­че­ски это вер­но, но наста­ло вре­мя немно­го про­яс­нить, срав­нив со Swift.

Когда вы пише­те на JavaScript, ваш код испол­ня­ет­ся построч­но в бра­у­зе­ре, как буд­то актер на сцене чита­ет репли­ки по теле­суф­ле­ру. Поэто­му JavaScript при­ня­то назы­вать скрип­то­вым язы­ком.

Если вы откро­е­те чужую про­грам­му на JavaScript, вы смо­же­те залезть в код, поме­нять его, и про­грам­ма зара­бо­та­ет по-новому. Мож­но выдрать нуж­ную функ­цию или дан­ные пря­мо из кода, пото­му что про­грам­ма для JavaScript хра­нит­ся и испол­ня­ет­ся в понят­ном чело­ве­ку виде.

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

После ком­пи­ля­ции вы уже не може­те с лег­ко­стью загля­нуть в про­грам­му и что-то в ней поме­нять, там всё зашиф­ро­ва­но и сжа­то. Зато такую про­грам­му про­цес­сор испол­ня­ет гораз­до быст­рее, чем скрип­ты.

iOS, macOS и деньги

В Swift есть биб­лио­те­ки для раз­ра­бот­ки при­ло­же­ний для Маков, Айфо­нов и Айпа­дов. Это боль­шой и бога­тый рынок (все еще), а зар­пла­ты про­грам­ми­стов на Swift высо­ки.

Но важ­но пони­мать, что Swift пока что не язык мобиль­ной раз­ра­бот­ки, а имен­но язык эко­си­сте­мы Apple. Суще­ству­ют реше­ния, что­бы ком­пи­ли­ро­вать код Swift на Андро­ид, но они ско­рее костыль­ные.

Иде­аль­ный сце­на­рий для Swift — про­грам­ма для Мака, для Айфо­на и Айпа­да, напи­сан­ные в одной и той же логи­ке. Но не про­грам­ма для Айфо­на, Андро­и­да, Мака и Вин­до­уса — до тако­го Swift еще не дошел.

Производительность

Это имен­но то, чего хоте­ли добить­ся раз­ра­бот­чи­ки Swift — ско­рость рабо­ты про­грамм и выпол­не­ния кода. Как заяв­ля­ет Apple, Swift в 2,5 раза быст­рее Objective-C и в 8 раз быст­рее, чем Python 2.7.

Цель, к кото­рой стре­мят­ся раз­ра­бот­чи­ки язы­ка — сде­лать его быст­рее, чем С++, кото­рый часто при­зна­ёт­ся самым быст­рым язы­ком про­грам­ми­ро­ва­ния.

Надо ли вам, что­бы про­грам­ма была мол­ние­нос­ной? В иде­а­ле — да, но не все­гда ради это­го нуж­но пере­хо­дить на новый язык про­грам­ми­ро­ва­ния. Если про­грам­мой поль­зу­ет­ся неболь­шое чис­ло людей, а зада­ча некри­тич­ная, то повы­ше­ние ско­ро­сти может быть не так замет­но. А вот пере­пи­сы­ва­ние про­грам­мы на новом язы­ке может быть болез­нен­ным. Так что ско­рость — не все­гда само­цель.

Лаконичный синтаксис

Если брать за кри­те­рий коли­че­ство строк кода, кото­рые нуж­но напи­сать для реше­ния зада­чи, то Swift идёт в пер­вой десят­ке по мини­ма­лиз­му. Это лег­ко­чи­та­е­мый язык, так же как и Python, но с фигур­ны­ми скоб­ка­ми вме­сто отсту­пов.

Такой код лег­ко чита­ет­ся даже теми, кто не зна­ет Swift, но зна­ет любой дру­гой язык про­грам­ми­ро­ва­ния. В нём всё логич­но, струк­тур­но и понят­но.

Посмот­ри­те на при­мер кода на Swift:

Вот так мож­но выби­рать одно из мно­же­ства зна­че­ний (при­мер из доку­мен­та­ции Swift):

Видимый результат

Для Swift есть спе­ци­аль­ный инстру­мент Playground — сво­е­го рода интер­ак­тив­ная песоч­ни­ца, где про­грам­мист сра­зу видит резуль­та­ты рабо­ты про­грам­мы. Ино­гда это в несколь­ко раз уве­ли­чи­ва­ет ско­рость раз­ра­бот­ки и помо­га­ет быст­ро разо­брать­ся с про­блем­ным участ­ком кода.

Безопасный код

Идео­ло­гия язы­ка такая: мень­ше уяз­ви­мо­стей и боль­ше без­опас­но­сти для само­го кода и систе­мы. Раз­ра­бот­чи­ки исхо­ди­ли из того, что про­грам­мист не дол­жен дер­жать всё в голо­ве и преду­смат­ри­вать каж­дую нештат­ную ситу­а­цию. Пусть за него это дела­ет ком­пью­тер. Напри­мер, не нуж­но спе­ци­аль­но сле­дить за досту­пом и утеч­кой памя­ти, пото­му что Swift берёт это на себя.

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

Что учить сейчас?

Если вы уже про­грам­ми­ру­е­те на раз­ных язы­ках — опре­де­лен­но рас­смот­ри­те Swift. Ниче­го луч­ше для раз­ра­бот­ки под Apple сей­час нет.

Если Swift будет вашим пер­вым язы­ком, нач­ни­те луч­ше с Python. Он более уни­вер­саль­ный и раз­но­сто­рон­ний. Потом смо­же­те перей­ти на Swift и дру­гие язы­ки.

Если вам нужен быст­рый резуль­тат и сра­зу выка­ты­вать про­грам­мы на сайт или в интер­нет, луч­ше посмот­ри­те на JavaScript. У это­го язы­ка самый корот­кий путь от идеи до реа­ли­зо­ван­но­го про­дук­та на любом устрой­стве.

10 книг для разработчиков приложений под iOS

Собираетесь нырнуть в бездонный океан разработки приложений под iOS? Эти топ-10 книг по версии MakeUseOf помогут начать и матёрому кодеру-эксперту, и зелёному новичку.

Проба пера в разработке под iOS – довольно трудоёмкая задача даже для программистов со стажем. Между началом изучения языка программирования Swift (тем, который используется в экосистеме Apple) и публикацией приложения в магазине App Store есть множество промежуточных шагов, этапов и ступеней. Придётся изучить каждый такой аспект. К счастью, в этом процессе обязательно помогут замечательные книги – их написано немало.

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

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

Для начинающих

Вам только предстоит впервые погрузиться в мир разработки приложений для iOS? Эта подборка книг содержит всё (и даже больше!) для того, чтобы начать писать свой первый код.

1. Структура и интерпретация компьютерных программ

Авторы: Харольд Абельсон, Джеральд Сассман

Английское название книги: Structure and Interpretation of Computer Programs

Цена: бесплатно

«Структура и интерпретация компьютерных программ» – учебник, который уже не одно десятилетие заслуженно считается «азбукой программистских заклинаний». Благодарные (по-)читатели, особенно за рубежом, называют учебник по аббревиатуре названия – SICP. Несмотря на почтенный возраст, книжка до сих пор является великолепной точкой старта перед восхождением к вершинам программирования. Ещё недавно этот учебник использовался в качестве основного на курсах Массачусетского Технологического Института и других крупнейших университетов планеты.

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

2. Swift Programming: The Big Nerd Ranch Gu > Swift Programming: The Big Nerd Ranch Guide

Русский перевод: отсутствует

Авторы: Matthew Mathias, John Gallagher

Цена: 28 долларов

Потрясающий юмор авторов книги делает чтение по-настоящему занимательным процессом, начиная уже с названия книги (его можно перевести как «Программирование на Swift: подробное руководство для нерда-скотовода»). Читателю предстоит узнать всё про разработку под «железо» Apple. Сложно переоценить роль этой книги для новичков в мире языка Swift. Основатель The Big Nerd Ranch, Аарон Хиллегасс, работал в компании NeXT в 1990х. В 2000х этот человек играл ведущую роль в переводе всего ПО компании Apple на рельсы фреймворка Cocoa API.

Книга «The Big Nerd Ranch guide to Swift programming» предназначена тем, кто лишь начинает изучать язык Swift. Им предстоит начать с самых основ – и продолжать чтение до тех пор, пока они не смогут сами написать первые несколько строк собственного кода. В конце каждой главы есть подборка упражнений, которые помогут протестировать уровень знаний читателя. Эти же упражнения помогают вчитываться в текст глубже. Если вы лишь начинаете изучать язык Swift, лучшей книжки просто не найти.

3. iOS Programming: The Big Nerd Ranch Gu > iOS Programming: The Big Nerd Ranch Guide

Авторы: Christian Keur, Aaron Hillegass

Русский перевод: отсутствует

Цена: 15 долларов

Другая книга серии «The Big Nerd Ranch». Великолепно дополняет предыдущий учебник, посвящённый программированию на Swift. Эта книжка подразумевает наличие у читателя некоторых знаний Swift, однако она сосредоточена на более сложных аспектах этого языка, которые пригодятся при разработке ПО именно под iOS. Изучив эти две книги в тандеме, можно считать, что вы прошли полный курс обучения публикации приложения в App Store.

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

4. iOS Apprentice

Русский перевод: официальный отсутствует. Существуют неформальные переводы отдельных разделов.

Автор: Matthijs Hollemans

Цена: 55 долларов

Если покупка сразу двух учебников серии «Big Nerd Ranch» кажется избыточно дорогим вложением, следует взглянуть в сторону книги «iOS Apprentice» — «Новичкам в iOS». Целевая аудитория – полные новички, что понятно из названия. Содержит краткий курс буквально по каждому аспекту знаний, необходимых для старта разработки в iOS. Особенность учебника – написание и сопутствующий разбор кода четырёх различных приложений.

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

Для программистов с опытом

Посвящается тем, кто уже прошёл «курс молодого бойца-программиста», но хочет обновить и дополнить свои знания, плюс – сделать собственные приложения более яркими и грамотными. Эта подборка книг предназначается для достаточно знающих кодеров, которые пополняют арсенал своих навыков.

5. Swift Pocket Reference: Programming for iOS and OS X

Русский перевод: отсутствует. В интернете встречаются отдельные переведённые отрывки.

Автор: Anthony Gray

Цена: бесплатно


Подобная литература предназначена тем, кто уже набрался некоторого опыта в программировании на Swift. В отличие от книжек, которые можно охарактеризовать общей фразой «для чайников», здесь содержатся материалы справочного характера. Эти статьи пригодятся при поиске ответов на конкретные вопросы. Присутствует подборка задач и упражнений.

К сожалению, у учебника «Swift Pocket Reference: Programming for iOS and OS X» есть изъян: местами книжка несколько устарела. Это издание 2014 года, и охватывает оно лишь Swift версии 2.0. Этот недостаток компенсирован тем, что книга теперь доступна бесплатно. Разделы учебника рассказывают о большом количестве нюансов. Главы сопровождаются подробными примерами. Удачный образец учебника для программистов, которым уже тесно среди начинающих.

6. Pro Swift

Автор: Paul Hudson

Русский перевод: отсутствует

Цена: 30 долларов

Пол Хадсон, автор бестселлера «Хакерам про Swift», написал учебник «Pro Swift» для молодых программистов, которые вскоре собираются перейти в разряд опытных. Книга рассказывает про те области языка программирования, которые вряд ли можно отыскать в учебниках для начинающих:

  • наследование, полиморфизм и инкапсуляция в объектно-ориентированном языке Swift;
  • перегрузка и переопределение операторов;
  • практические аспекты написания сопроводительной документации.

Курс включает в себя 90 сопутствующих видеороликов, доступных для загрузки или онлайн-просмотра (DRM-защита у роликов отсутствует, за что отдельное спасибо автору и его издательству). Видеоуроки пошагово показывают технику написания фрагментов кода. В отличие от классического учебника, такой формат позволяет обучающимся наработать продвинутые навыки в практических задачах.

7. iOS 10 App Development Essentials

Русский перевод: отсутствует.

Автор: Neil Smyth

Цена: 45 долларов

Книга «Основы разработки приложений под iOS 10» – великолепный источник для всех, кто планирует перейти от освоения теории программирования к практике создания приложений. Как и в уже упомянутой книге Swift Pocket Reference, здесь есть примеры и главы, предназначенные для новичков. Но значительно более ценные разделы написаны для уже достаточно опытных программистов. Не следует ориентироваться на название, и считать эту книгу учебником «для чайников».

Вместо отдельных сниппетов кода, книга содержит небольшие, но полноценные программы. Их можно и нужно отладить и настроить под себя. Если в процессе экспериментов по созданию приложений вы сталкиваетесь с трудностями, вдумчиво полистайте эти страницы. Они обязательно помогут разобраться со сложностями.

8. The Core iOS Developers Cookbook

Перевод на русский: отсутствует

Автор: Erica Sadun

Цена: 37 долларов

Книга «Core iOS Developers Cookbook» сосредоточена на практических решениях классических проблем, с которыми разработчикам приходится сталкиваться в повседневной практике разработки под iOS development. Добавление анимационных эффектов, привязка к разметке Auto Layout, внедрение API в собственные проекты – всё это становится не столь уж сложной задачей, которой казалось до прочтения этой книги.

Мастер Йода рекомендует:  Как работает FaceID в iPhone X алгоритм на языке Python

Формат «поварских книг для программистов» (или «cookbooks») нравится многим читателям. Вместо последовательной подачи информации, следует пролистать оглавление, и выбрать конкретный «рецепт», подходящий именно под ваше программное «блюдо». Учебник особенно полезен тем кодерам, которые начинают собственный проект – и ищут практическую поддержку в особо сложных вопросах.

Для экспертов программирования

К определённому моменту карьеры программист перестаёт быть «всего лишь» опытным / продвинутым: перед таким профессионалом стоят значительно более масштабные и сложные вызовы. Эти программисты становятся настоящими экспертами. Им посвящается следующая часть подборки лучших учебников по разработке под iOS.

9. Cocoa Design Patterns

Авторы: Eric Buck, Donald Yactman

Цена: 33 доллара

Книга «Cocoa Design Patterns»– одна из самых старых в списке, впервые была опубликована в далёком 2009 году. Однако, благодаря тому, что она описывает целые паттерны, а не «квирки» определённого языка, книжка остаётся весьма релевантной и в наши дни. В разделах содержится множество информации для разработчиков iOS. Впрочем, она посвящена фреймворку Cocoa в целом, а потому может служить ещё и подспорьем для программистов, пишущих под MacOS.

Отметим ещё раз: целевая аудитория книжки – эксперты программирования. Начальный раздел посвящён паттерну Model-View-Controller, и дальше будет лишь сложнее. Вряд ли возможно разместить на страницах обычной книги хотя бы часть необходимых базовых знаний. Авторы подразумевают, что читатель уже обладает такими знаниями. Впрочем, если читатель уже занимался программированием под iOS, он обязательно найдёт множество способов пополнить копилку собственных знаний благодаря этой книге.

10. iPhone App Development: The Missing Manual

Автор: Craig Hockenberry

Цена: 28 долларов

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

Книга «The Missing Manual» поможет трансформировать навыки программирования в нечто большее: в те знания и опыт, которые необходимы для популярности приложения в App Store. Если конечная цель проекта публикация в магазине, то эта книга расскажет о таких вещах, о необходимости которых вы даже не задумывались.

Разработка Как программировать под 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 и многих других компаний.

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

Уверен, все остальные давно мечтали «сделать свое приложение для айфона». Это ваш шанс. До скорых встреч в следующих статьях цикла!

(4.00 из 5, оценили: 1)

10 причин выучить Swift и разрабатывать приложения для iOS

В 2014 году во время конференции для разработчиков Apple представила новый язык программирования Swift. Компания позиционирует его как новый мощный язык для создания приложений для iOS и OS X. В этом году Apple объявила о выходе языка программирования Swift 3.0, где отмечается значительное расширение порта для платформы Linux. Раскрыть все преимущества языка и научить создавать мобильные программы поможет бесплатный курс по Swift от сервиса GeekBrains.

Swift легче поддерживать

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

Swift более читаемый

Поскольку данный язык не построен на C, он гораздо проще читается. Например, не нужно ставить запятую в конце строки и писать скобки для окружения выражения внутри if/else. Никаких квадратных скобок, Swift напоминает обычный английский язык, является гораздо более чистым и имеет упрощенный синтаксис.

Swift не требует много кода

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

Swift быстрее

Apple постоянно продолжает улучшать скорость работы приложений на Swift. Сейчас язык почти на одном уровне с C++ для FFT, и в Купертино обещают, что это не предел.

Swift безопаснее

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

Swift лучше работает с проектами

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

Swift поддерживает динамические библиотеки

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

Swift интерактивен

Swift Playgrounds, представленные не так давно, позволяют программистам проверить новый алгоритм или графическую рутину (например, 15 строек кода), не создавая целое приложение для iPhone.

Swift полностью функциональный

Это не просто «надстройка» к Objective-C, это его полноценная замена.

Swift — это будущее

Очевидно, в ближайшие несколько лет все приложения для iOS (и не только) будут создаваться с помощью Swift. И на это будущее вы можете повлиять. Как же оперативно выучить новый язык и стать первоклассным iOS-программистом?

В этом вам поможет профессия «Программист iOS» в сервисе GeekBrains. Разработчиков Swift сейчас не так много, и специалисты, которые знают данный язык, очень востребованы на рынке. Всего за полгода вы можете освоить новую профессию, пройти гарантированную стажировку и начать работать в крупной IT-компании! Средняя зарплата по Москве и МО для разработчиков iOS говорит сама за себя.

Обучение состоит из двух уровней изучения Objective-C, основ баз данных, двух уровней изучения Swift и командной разработки в компаниях и проектах. 7 из 10 студентов GeekBrains находят работу уже в процессе обучения.

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

Для тех, кто давно хотел разрабатывать iOS-приложения, профессия «Программист iOS» — отличный шанс начать двигаться к своей мечте. Дерзайте!

Лучший комментарий

Не, ai, вы «статистические» на «статические», конечно, исправили, молодцы, но лучше убрать весь этот абзац, т.к. и C/C++ и C#, и objectiv-C давным давно работают с динамическими библиотеками. Ренат же, вроде, ПМП закончил, можно ж было у него спросить? Или когда пишуться рекламные статьи о точности информации не думается?

12 книг для изучения языка программирования Swift

Темой этой статьи стал язык Swift. На нем написаны приложения для iOS и macOS. Язык достаточно молод и литературу на него не так просто найти, — пишет KV.BY. Причиной малого количества книг стало и то, что официальная электронная литература от разработчиков очень подробная и доступная для понимания. Часть книг из перечня только на английском языке. Русской литературы, к сожалению, очень немного. Поэтому, исходя из этого, статья будет поделена на русские и английские издания.

Swift. Основы разработки приложений под iOS и macOS

Отличная книга для старта освоения языка Swift. Её написал русский программист, пошагово разжевывая все нюансы работы с языком. Постепенно автор подведёт вас к непосредственному созданию приложений для яблочной продукции. Книга описывает работу Swift 3.0, что очень хорошо, так как про эту версию русскоязычных изданий немного.

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

Язык Swift. Самоучитель

Здесь рассмотрена теория. Разбор качественный, глубокий. Первая часть книги рассказывает о синтаксисе, типах данных, операторах и прочих тонкостях, а вторая бегло проносится по остальным моментам (классы, структуры, протоколы), частично захватывая ООП. А вот практических заданий и примеров совсем мало.

Хороший вариант настольного справочника под рукой. Но есть несколько минусов: описана работа Swift 2.0,а значит, часть приемов не работают в версии 3.0.

Swift 3. Разработка приложений в среде Xcode для iPhone и iPad с использованием iOS SDK

Книга внушает уважение с первого взгляда: 900 страниц – это серьёзное заявление. Исходя из этого, диапазон тем очень широкий. Авторы грамотно сочетают теорию с практикой, чтобы эффективно усваивать новые знания. Перевод местами не очень понятен, но это сильно не влияет на усвояемость материала.

В любом случае, книга замечательная, плохих отзывов практически нет.

Swift для детей. Самоучитель по созданию приложений для iOS

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

Swift. Карманный справочник. Программирование в среде iOS и ОS X

А вот книга от O’Reilly. Компания очень известная и серьёзная. Всё примеры рабочие, серьёзных огрехов нет, все скриншоты на местах. Единственный недостаток – в качестве основы использовалась версия языка 2.1.

Swift. Основы разработки приложений под iOS и OS X

Название говорит за себя: она введёт вас в основы программирования для продукции компании Apple. Причём для любой платформы: iOS, OS X, tvOS, watchOS. Опытным программистам ждать от этого пособия нечего, а вот новичкам оно должно понравится. Автор грамотно комбинирует практику с теорией, что отлично работает.

Главным недостатком этого пособия является то, что она рассчитана на версию 2.2, а сейчас актуальна 4 версия языка. А западная литература уже вовсю демонстрирует нововведения и фичи пятой версии Swift.

Professional Swift


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

Мастер Йода рекомендует:  Компьютерное зрение — всё по этой теме для программистов

Это руководство подойдёт как для изучения языка программирования, так и для использования в качестве справочника в различных ситуациях. В книге хватает практических примеров для освоения рассматриваемых тем.

Learning Swift: Building Apps for macOS, iOS, and Beyond

Перед вами практическое руководство от опытных программистов, которое научит кодить на последней версии Swift, даже если вы совсем не знакомы с этим языком. Книга пройдёт по всем этапам создания своего приложения. Вы узнаете основы языка, как работать с Xcode и Interface Builder.

Авторы книги предлагают вам создать свою программу для работы с селфи. Кроме написания самого кода вы протестируете приложение на производительность, произведёте его настройку и будете управлять им в App Store. Также вы узнаете об автоматизации рутинных операций с Fastlane и пользовательском тестировании приложения с TestFlight.

Swift For Dummies

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

Swift Programming: The Big Nerd Ranch Gu >

Авторы этого справочника тщательно объясняют на примерах грамматику и эффективное написание кода на Swift. В книге рассмотрены версия 3.0, работа с Xcode, объяснены некоторые моменты официальной документации от Apple по Swift. Создатели этого труда делятся с читателем своим опытом, показывая области применения этого языка.

Mastering Swift 5: Deep dive into the latest edition of the Swift programming language, 5th Edition

Книга про пятую версию языка. Здесь рассмотрены самые актуальные и новые возможности Swift, новые методы проектирования. Всё это описано не только теоретически, но и подкреплено наглядными примерами. Здесь раскрыты темы расширения протокола, обработка ошибок и замыкание. Объяснения авторов продемонстрируют, как использовать и применять их в ваших собственных проектах.

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

Swift: The Complete Gu >

Это целая серия книг, которая охватывает любой уровень подготовки программиста. Независимо от навыков, авторы проведут вас через все этапы создания приложения для техники компании Apple. Книга познакомит вас с языком, вы найдёте здесь пошаговую инструкцию для написания ПО, примеры проектов из XCode, узнаете о дизайне и прочие полезные вещи.

12 книг для изучения языка программирования Swift

Темой этой статьи стал язык Swift. На нем написаны приложения для iOS и macOS. Язык достаточно молод и литературу на него не так просто найти. Причиной малого количества книг стало и то, что официальная электронная литература от разработчиков очень подробная и доступная для понимания. Часть книг из перечня только на английском языке. Русской литературы, к сожалению, очень немного. Поэтому, исходя из этого, статья будет поделена на русские и английские издания.

Swift. Основы разработки приложений под iOS и macOS

Отличная книга для старта освоения языка Swift. Её написал русский программист, пошагово разжевывая все нюансы работы с языком. Постепенно автор подведёт вас к непосредственному созданию приложений для яблочной продукции. Книга описывает работу Swift 3.0, что очень хорошо, так как про эту версию русскоязычных изданий немного.

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

Язык Swift. Самоучитель

Здесь рассмотрена теория. Разбор качественный, глубокий. Первая часть книги рассказывает о синтаксисе, типах данных, операторах и прочих тонкостях, а вторая бегло проносится по остальным моментам (классы, структуры, протоколы), частично захватывая ООП. А вот практических заданий и примеров совсем мало.

Хороший вариант настольного справочника под рукой. Но есть несколько минусов: описана работа Swift 2.0,а значит, часть приемов не работают в версии 3.0.

Swift 3. Разработка приложений в среде Xcode для iPhone и iPad с использованием iOS SDK

Книга внушает уважение с первого взгляда: 900 страниц – это серьёзное заявление. Исходя из этого, диапазон тем очень широкий. Авторы грамотно сочетают теорию с практикой, чтобы эффективно усваивать новые знания. Перевод местами не очень понятен, но это сильно не влияет на усвояемость материала.

В любом случае, книга замечательная, плохих отзывов практически нет.

Swift для детей. Самоучитель по созданию приложений для iOS

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

Swift. Карманный справочник. Программирование в среде iOS и ОS X

А вот книга от O’Reilly. Компания очень известная и серьёзная. Всё примеры рабочие, серьёзных огрехов нет, все скриншоты на местах. Единственный недостаток – в качестве основы использовалась версия языка 2.1.

Swift. Основы разработки приложений под iOS и OS X

Название говорит за себя: она введёт вас в основы программирования для продукции компании Apple. Причём для любой платформы: iOS, OS X, tvOS, watchOS. Опытным программистам ждать от этого пособия нечего, а вот новичкам оно должно понравится. Автор грамотно комбинирует практику с теорией, что отлично работает.

Главным недостатком этого пособия является то, что она рассчитана на версию 2.2, а сейчас актуальна 4 версия языка. А западная литература уже вовсю демонстрирует нововведения и фичи пятой версии Swift.

Professional Swift

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

Это руководство подойдёт как для изучения языка программирования, так и для использования в качестве справочника в различных ситуациях. В книге хватает практических примеров для освоения рассматриваемых тем.

Learning Swift: Building Apps for macOS, iOS, and Beyond

Перед вами практическое руководство от опытных программистов, которое научит кодить на последней версии Swift, даже если вы совсем не знакомы с этим языком. Книга пройдёт по всем этапам создания своего приложения. Вы узнаете основы языка, как работать с Xcode и Interface Builder.

Авторы книги предлагают вам создать свою программу для работы с селфи. Кроме написания самого кода вы протестируете приложение на производительность, произведёте его настройку и будете управлять им в App Store. Также вы узнаете об автоматизации рутинных операций с Fastlane и пользовательском тестировании приложения с TestFlight.

Swift For Dummies

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

Swift Programming: The Big Nerd Ranch Gu >

Авторы этого справочника тщательно объясняют на примерах грамматику и эффективное написание кода на Swift. В книге рассмотрены версия 3.0, работа с Xcode, объяснены некоторые моменты официальной документации от Apple по Swift. Создатели этого труда делятся с читателем своим опытом, показывая области применения этого языка.

Mastering Swift 5: Deep dive into the latest edition of the Swift programming language, 5th Edition

Книга про пятую версию языка. Здесь рассмотрены самые актуальные и новые возможности Swift, новые методы проектирования. Всё это описано не только теоретически, но и подкреплено наглядными примерами. Здесь раскрыты темы расширения протокола, обработка ошибок и замыкание. Объяснения авторов продемонстрируют, как использовать и применять их в ваших собственных проектах.

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

Swift: The Complete Gu >

Это целая серия книг, которая охватывает любой уровень подготовки программиста. Независимо от навыков, авторы проведут вас через все этапы создания приложения для техники компании Apple. Книга познакомит вас с языком, вы найдёте здесь пошаговую инструкцию для написания ПО, примеры проектов из XCode, узнаете о дизайне и прочие полезные вещи.

Читайте новости первыми в нашем Telegram-канале!

Подписывайтесь на наш канал в Яндекс.Дзен!

Как Swift навсегда изменит мир программирования

Крис Латтнер полтора года создавал новый язык программирования, и за все это время никому об этом не сказал, даже своим близким друзьям и коллегам. Он начал летом 2010 года, работая по ночам и выходным, и к концу года уже наметил основы нового языка. Именно тогда он рассказал о своем проекте топ-менеджерам компании, которые были настолько впечатлены, что подключили к работе еще нескольких опытных инженеров.

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

Новый язык был назван Swift, и Apple представила его на всеобщее обозрение во время WWDC 2 июня. Спустя 4 года после того, как Латтнер приступил к своему детищу, новый язык шокировал всех, за исключением нескольких осведомленных лиц Apple.

Викрам Адве, преподаватель Иллинойского университета, когда-то помогал Латтнеру создавать основы для одной программы, которая затем легла в основу Swift. Но, как и все остальные, он был невероятно удивлен тем, что его студент столько лет создавал новый язык программирования. «Apple настолько скрытная компания, и, похоже, Крис выпил ее волшебного зелья», — сказал, смеясь, Адве. — «Я знал, что он работает над проектом, который занимает все его время, но это все, что я знал».

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

В 2009 году Google представила язык Go, разработанный известнейшими инженерами Кеном Томпсоном и Робом Пайком, и он до сих пор не завоевал большую популярность в мире. Но Swift — это иной случай. Он может достичь массового использования в кратчайшие сроки, превосходя по скорости освоения Java и C# в конце 90-х и начале 2000-х годов.

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

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

«Не было никакого реального стимула использовать Google Go», — говорит Пол Йансен, который отслеживал использование различных языков программирования при помощи Tiobe Index в течение последних 15 лет. «Разница заключается в том, что у Swift он есть».

Уже сейчас около 2400 проектов, находящихся на GitHub, популярном хостинге для открытых IT-проектов, используют Swift. А в этом месяце новый язык дебютировал под 16 номером в списке самых обсуждаемых языков по версии Tiobe. Да, почти то же самое происходило с Go в 2009 году, но с тех пор данный язык потерял свое влияние. А Swift со временем должен только усилить свои позиции.

«Люди перейдут на новый язык, потому что на нем проще писать код», — говорит Йансен. — «Они должны выбрать либо Objective-C, либо Swift. И большинство выберет Swift».

Крис Латтер курирует инструменты разработчиков Apple, все инструменты, которые используют инженеры Apple и сторонние разработчики, занимающиеся программным обеспечением для персональных компьютеров, ноутбуков, планшетов и смартфонов. Будучи аспирантом Иллинойского университета, под руководством Викрама Адве, он создал систему для разработчиков под названием LLVM, которая сейчас составляет основу Xcode.

После того, как Латтнер присоединился к Apple в 2005 году, компания перешла на LLVM, что повлияло на то, как Objective-C стал использоваться разработчиками для создания приложений. И спустя 5 лет Латтнер внедрил данную систему в качестве основы Swift.

Он отказался давать интервью для данной статьи без одобрения PR-отдела Apple, но он кратко описал эволюцию Swift на своей странице. Даже не вдаваясь в детали, можно сказать, что Латтнер построил Swift в тандеме с существующими инструментами Apple, чтобы разработчики могли легко использовать новый язык наряду с Objective-C.

Другими словами, Swift — это не только язык. Он тесно взаимодейстует с другими инструментами, которые позволяют разработчикам создавать свое программное обеспечение. А они включают в себя не только встроенную среду разработки, но и, в том числе, отладчик, который выявляет все погрешности кода. И большинство из этих инструментов знакомы каждому разработчику Apple. В общем, инженеры Apple создали простой переход для десятков тысяч разработчиков, которые пишут программы под iPhone, iPad и Mac.

Так как разработчики никогда раньше не работали с этим языком, у них должны быть веские причины, чтобы перейти от Objective-C к Swift. «Я первый и единственный на сегодняшний момент человек с опытом работы Swift в течение 4 лет», — написал Латтнер в Twitter.


Для того, чтобы освоить новый язык, нужно время и усердие, что, зачастую, для многих является большой проблемой. Но Латтнер и Apple привели неоспоримые аргументы в пользу Swift. Нельзя сказать, что он намного привлекательнее других языков, таких как C#, Ruby или Python. Но это большой шаг вперед по сравнению с Objective-C, который корнями уходит в середину 80-х годов, и который не так легок в использовании.

«Множество людей отказывается от Objective-C из-за его необычного синтаксиса», — говорит Майк Эш, инженер Apple, который последние 15 лет занимается разработкой разнообразного программного обеспечения компании, — «У Swift более правильный, стандартный синтаксис, который сможет заинтересовать таких людей». «Он сделан для продуктивного программиста, и позволяет ему делать больше вещей за меньшее время».

Как пишет Латтнер на своей странице, Playgrounds позволяет сделать программирование более интерактивным и доступным. «На него сильно повлияла философия дизайнера Брета Виктора и его интерактивная программная система Light Table. Как и в Light Table, он позволяет вам писать код на одной стороне экрана и смотреть на появляющиеся результаты с другой. Другими словами, вы можете прогонять программу во время того, как ее пишите».

Во время WWDC 2014 Латтнер продемонстрировал некоторые возможности Swift и Playgrounds на примере очень простой игры. Инструменты позволяют добавлять новый код без повторной компиляции и перезапуска всей системы. «Когда вы вносите изменения, они внедряются в уже запущенный процесс, в ту версию программы, которая работает в этот момент», — говорит Крис Грейнджер, один из создателей Light Table.

«Я надеюсь, что программирование станет более доступным и веселым занятием», — написал Латтнер. — «Мы обращаемся к новому поколению программистов и помогаем пересмотреть методику преподавания информатики».

Light Table может совершать то же самое, только с различными языками, такими как Python, Clojure и Javascript. Но, по мнению Грейнджера, Playgrounds может быть особенно полезным инструментом, потому что Swift был разработан специально для работы с ним. «Поскольку они создали этот язык и его контролируют, они могут делать те вещи, которые мы не можем производить с другими языками».

Playgrounds еще немного подглючивает, но уже сейчас он может сильно сократить время, необходимое для написания кода. «Мгновенная обратная связь Playgrounds может привлечь огромное количество людей в новую область».

Традиционно существовала пропасть между компилированными языками программирования, такими как Objective-C и C++, и интерпретируемыми языками, такими как Python, Ruby и PHP. Используя первые, вы сначала должны были написать код, а затем ждать, пока ваш компилятор превратит его в некое программное обеспечение. Но после того, как программа будет собрана, она будет работать очень быстро. Интерпретируемые языки позволяют тестировать программу почти мгновенно, но работают медленно. Swift собрал лучшее из этих двух миров. Он дружественен как по отношению к разработчику, так и по отношению к компьютеру.

Apple — не единственная компания, которая изучает новые области программирования. Facebook пытается создать нечто подобное, разрабатывая языки Hack и D. Google прощупывает данную почву при помощи Go, Mozilla делает то же самое с Rust. Но все эти языки далеки от Swift.

Да, они находятся в свободном доступе, и в теории, они могут быстрее распространиться при помощи различных устройств и сервисов других компаний. Со Swift — совершенно другая ситуация, его программное и аппаратное обеспечение жестко контролируется. И, скорее всего, его нельзя будет использовать для других платформ.

Но даже если он останется исключительно за Apple, он сможет получить огромное влияние и распространение, не сравнимое ни с одним современным языком программирования. И все благодаря столь популярным iPhone, iPad и Mac.

Да, многие другие языки могут проделывать те же вещи, что и Swift, а некоторые даже лучше, а в том же Light Table есть альтернатива Playgrounds. Но все же, Swift уникален своей простотой и интерактивностью и уже сейчас, спустя всего несколько месяцев после своего представления, он интересен многим десяткам тысяч разработчиков по всему миру.

Программист мобильных приложений на Swift?

Вакансий Swift разработчиков с каждым годом становится все больше. Это говорит о росте популярности молодого и динамично развивающегося языка. Согласно индексу TIOBE, сегодня он входит в 10-ку самых популярных языков программирования и продолжает наращивать позиции. Сколько зарабатывают специалисты со знанием Swift и можно ли уже говорить о конкуренции в этой среде?

Ежегодно App Store собирает около 20 млрд. долларов с приложений на платформах Mac и iOS. И, несмотря на то, что разработчики могут откусить хороший кусок от этого пирога, многие все еще скептически относятся к изучению Swift. А ведь его возможности необыкновенно широки:

● быстрота и легкость изучения;

● простота и скорость использования в написании проекта практически любой сложности;

● ускорение цикла разработки приложений;

● отсутствие переполнения и ошибок с размерностями массивов:

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

● безопасность для автора кода и пр.

Вдобавок к такому количеству возможностей в вакансиях Swift разработчику не предъявляется слишком высоких требований. К примеру, знаний уровня джуниор вполне достаточно для написания простых, но крутых приложений. Само знание языка Свифт в вашем резюме точно будет плюсом. Уже сейчас более 55% работодателей рынка IT указывают его в требованиях к кандидатам.

К тому же, все программисты мобильных приложений на Swift пока еще находятся примерно в равных «весовых категориях». Язык появился лишь в 2014 году, поэтому опыт у большинства, можно сказать, равный. Максимальный – 5 лет, больше и требовать нельзя. Хотя уровень владения навыками при отборе кандидатов тоже учитывается. В целом же, в плане конкуренции дорога открыта даже новичков мобильной разработки.

Что касается зарплат программиста Swift, в вакансиях медиальные значения по России варьируются в пределах 100-200 тысяч рублей в зависимости от города, компании и уровня владения языком.

Детально же ситуация выглядит следующим образом. Стартовый оклад джуниоров – от 30 тысяч рублей, средняя планка рынка – от 50-100 тысяч рублей, а сеньоры и тимлиды могут рассчитывать на зарплату от 150-200 тысяч рублей в месяц.

Надо отметить также, что Swift – очень выверенный инструмент с огромным потенциалом развития. С его эволюцией все достаточно предсказуемо — движение вперед к следующим релизам. Выигрывает, как всегда, тот кодер, который постоянно обновляет массивы данных в своей голове.

На нашем сайте представлены вакансии для программистов Swift от проверенных работодателей – не упустите шанс получить престижную должность.

Я учусь программировать: пора готовиться к Swift 2

В новом выпуске своего блога я на неделю забываю о Python. Конференция WWDC 2015 снова убедила меня — если в какой язык сейчас и надо вкладывать силы, то в Swift.

Swift, новому языку программирования Apple, уже почти год. За это время те, кто успел его опробовать, могли убедиться: обещания Apple не были пустыми словами. Это действительно удобный и мощный язык, который претендует не только на то, чтобы заменить Objective-C в экосистеме Apple, но и посягнуть на всё семейство C в целом — о чём Apple теперь открыто говорит в описании Swift.

Я взялся за Swift в начале этого года, а перед этим осваивал C и Objective-C. Последнее было не обязательным, но полезным для общего развития шагом, позволившим мне освоиться в Xcode (интегрированной среде разработки от Apple), устройстве iOS, а также легче разобраться в Swift, который многое унаследовал у предшественников. Когда этой осенью выйдет финальная версия Xcode 7 и Swift 2, мы сразу займёмся ими в этом блоге — так что если вы хотите основательно подготовиться, сейчас самое время браться за C и Objective-C. Особенно это полезно, если вы намереваетесь сделать программирование не только своим хобби — на Objective-C написано очень много проектов, код которых потребуется поддерживать немало лет.

В чём преимущества Swift для новичков?

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

Это молодой язык. В новых версиях Swift по-прежнему происходят фундаментальные изменения в синтаксисе и типах данных. Язык взрослеет на глазах, и так легче понимать логику перемен — а при желании можно и помочь в его доработке. Конечно, кто-то может назвать это недостатком, учитывая, что проекты, написанные на более старых версиях Swift, не работают на новых — но миграция занимает не так много времени, а синтаксис становится только проще.

Это безопасный язык. В основе Swift — желание оставить как можно меньше уязвимостей и максимально обезопасить код от ошибок. Программист не обязан всё держать в голове и следить за всем. Это необходимо в C-подобных языках, и если раньше это было обоснованным, потому что они работали быстрее других, то Swift догоняет по производительности даже C++ — и ведь чем дальше, тем лучше он будет оптимизирован. Программист, который пишет код на Swift, лишён огромного количества головной боли, связанной с менеджментом памяти и другими вещами.

Легко читаемый синтаксис, вдохновлённый Python и Ruby. За предыдущие выпуски вы уже могли убедиться, как легко читать Python — и Swift в этом с ним схож. Основное отличие в том, что блоки отделяются не отступами, а фигурными скобками — мне так, если честно, привычнее и удобнее.

Это красивый язык. Очень субъективно, конечно, но код на Swift выглядит красиво — чего не скажешь о том же Objective-C с его бесконечными нагромождениями. А главное, что красота и удобство не сказываются на мощности.

Наконец, Apple объявила на WWDC 2015, что до конца года Swift станет языком с открытым исходным кодом. Это значит не только то, что в его доработке Apple будет ещё сильнее опираться на сообщество разработчиков, но и то, что в потенциале он станет воистину мультиплатформенным, а не будет ограничиваться экосистемой Apple. Иначе говоря, если вы разрабатываете приложение на Swift для iOS, то есть перспектива того, что вы сможете перенести его на Android, и вам не нужно будет учить Java, используемый операционной системой Google.

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

В следующий раз мы вернёмся к Python и начнём писать на нём текстовую игру, которая будет называться 40 Floors. Мы не только повторим то, что уже узнали о Python, но и рассмотрим кое-какие новые понятия. Как всегда, пишите комментарии под постом и в социальных сетях — буду рад и любым другим отзывам — особенно от тех, кто опытнее меня. Спасибо, и до следующего раза!

Читайте и смотрите также:

Разработка для iOS с помощью Objective-C на Code School

Разработка для iOS с помощью Objective-C на Treehouse*

* — платные курсы, но есть пробный период

Презентации сотрудников Apple на WWDC 2015

Swift 2: особенности программирования

Apple представила Swift 2 на конференции WWDC 2015 в качестве обновления к своему относительно новому языку программирования. Swift 2, как и Swift, используется для написания и создания мобильных приложений для устройств с операционными системами Mac OS X и iOS. Apple разработала Swift с целью добиться максимально быстрой и эффективной производительности от устройств, а Swift 2 расширяет и без того впечатляющий список функциональных особенностей этого языка программирования.
Главная новость для разработчиков, пожалуй, заключается в том, что теперь у Swift открытый исходный код. По словам представителей Apple, такой шаг призван стать тем драйвером, который послужит к развитию всей софтверной индустрии.

С декабря 2015 года у Swift 2 открытый исходный код. Но что это означает для программистов и пользователей приложений? Как правило, в подобных ситуациях исходный код, лежащий в основе программы или языка программирования, становится доступен широкой общественности. Кодеры могут инспектировать, модифицировать и размещать программу где посчитают нужным.
В практическом отношении это значит, что разработчики могут с помощью языка программирования Swift создавать приложения не только для операционных систем Apple. Ожидается появление Swift на Linux OS (поскольку у Linux и OS X та же Unix-образная структура). В теории Swift может появиться и на Windows. Еще ожидается, что Swift будет доступен и на небольших тестовых компьютерах (Raspberry Pi).

Можно ли будет запускать iOS-приложения на устройствах с Android?

Код Swift можно будет увидеть на сторонних устройствах, однако не стоит ожидать, что приложение, изначально предназначавшееся для OS X и iOS, можно будет запустить на Windows и Android. Портирование ПО с одного устройства на другое существенно упроститься, но, судя по всему, Apple намерена сохранить контроль над своим SDK (пакетом программ для разработки приложений). И хотя неизвестно, для каких именно частей Swift Apple откроет доступ, все-таки можно предположить, что руководство «яблочной» компании сохранит код для Xcode, т.е. все еще можно будет с помощью Mac разрабатывать ПО для OS X и iOS.
Apple — закрытая компания и защищает свои разработки, однако такое решение ее руководства никак нельзя считать чем-то новым для Apple. OS X создана на базе UNIX, а у многих его компонентов открытый исходный код.
На странице Apple Open at the source сообщается, что люди из Apple считают, что применение методологии открытого исходного кода делает Mac OS X более устойчивой и безопасной платформой, так как ее ключевые составляющие на протяжении десятилетий подвергаются тщательному тестированию.

Новые особенности в Swift 2

В Swift 2 представлен ряд новых особенностей, которые определенно оценят разработчики:

  • Модель управления ошибками. В Swift появился новый механизм обнаружения и управления ошибками, позволяющий коду устранять несложные ошибки («file-not-found» или сетевые тайм-ауты).
  • Улучшения синтаксиса. Синтаксические особенности Swift дают возможность писать более сложные коды. Apple заявляет, что это поспособствует целостности языка.
  • Доступность. Применение новейших SDK открывает доступ к новым функциям и информации об изменениях платформы. Теперь возможно собрать материал для старой ОС и компилятор покажет ошибку, если используемый API слишком новый.
  • Расширения протоколов. Сейчас можно добавлять методы и свойства для любых классов, соответствующих конкретному протоколу. Это позволит разработчикам повторно использовать больше кодов.

Apple также обновила Objective-C (язык, предшествовавший Swift), что должно упростить парную работу Objective-C и Swift. Новые особенности Objective-C: Generics, аннотации обнуляемости (nullability annotation) и новый тип объекта, известный как «Kind-Of». Все это улучшит взаимодействие Swift и Objective-C.
Обновленный Swift призван в конечном итоге заменить Apple Objective-C, который разрабатывался в 80-х годах прошлого века и появился на Mac в 1996-м. Спустя 17 лет на конференции WWDC 2014 Apple представила новый язык программирования — Swift, что крайне важно для девелоперского сообщества Apple. Язык этот был разработан с целью облегчить программирование для Mac OS X и iOS.

Что представляет собой Swift?

Swift — язык программирования для Cocoa и Cocoa Touch (программных фреймворков в Mac OS X и iOS, соответственно). Программы в Swift создаются с использованием Xcode 6, новейшей версии IDE (интегрированной среды разработки) Apple.
Swift предназначался для совместного использования с Objective-C. Коды, написанные языком Swift, могут быть добавлены в приложения без необходимости замены старого кода Objective-C.

Каковы преимущества программирования в Apple Swift?

Представители Apple очертили ряд преимуществ Swift перед Objective-C.
Синтаксис

Apple Swift разработан с целью упростить чтение и написание кодов. Синтаксис Swift (форматирование) не требует наличия точек с запятой в конце каждой строки; функции языка более просты для понимания. К примеру, обычная команда Print, с которой большинство людей знакомы по Basic, это NSLOG в Objective-C (NS — отсылка к NextStep, компании, которую основал Стив Джобс, уйдя из Apple, (т.е. это показывает, сколько былого наследия Apple сейчас пытается заменить), в Swift такая команда выглядит как println. Для написания кодов требуется меньше символов, и, в общем и целом, Swift намного эффективнее Objective-C.
Если рассмотреть классическую программу Hello World в каждом языке (программа, которая высвечивает надпись «Hello, world!» на экране), можно прийти к выводу, что Swift проще и продуманнее Swift.

Objective-C: Hello World

Так программа Hello World появляется в Objective-C:
#import
#import
int main(void)
<
NSLog(@”Hello, world!\n”);
return 0;
>

Swift: Hello World

В Swift Hello World выглядит следующим образом:
println(“Hello, world!”)
Как можно убедиться, читаются коды в Swift намного легче.

Одно из основных преимуществ Swift состоит в том, что разработчикам не требуется изменять значение памяти. В Swift переменные величины задаются перед использованием, массивы (arrays) и целые числа (integers) проверяются, управление памятью осуществляется автоматически, что добавляет надежности приложениям. Другими словами, с языком Swift все намного проще.

Swift доступен для бесплатного скачивания в Mac App Store.

Добавить комментарий