Практические уроки по программированию
97,02
рейтинг
4 июня 2014 в 15:56

Разработка → Видео-курс по Swift на русском языке

Здравствуй, Хабр!

Мы сделали видео-уроки по языку Swift на основе бесплатной книги The Swift Programming Language от Эппл.



Все 32 урока доступны на нашем сайте. Несколько уроков – под катом.

Тип функции можно использовать как любой другой тип в языке:



За изменением свойств можно наблюдать и выполнять код до перед изменением и после изменения:



Мутирующий метод может изменять свой экземпляр:



Generic-функции:

Автор: @freetonik
Hexlet
рейтинг 97,02
Практические уроки по программированию
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Комментарии (62)

  • +24
    Ого, оперативно :-)
    • +7
      Даже слишком. Неплохо было бы тем, кто не умеет читать, дать время пососать лапу ;-)
      • +4
        Книгу все равно придется читать, некоторые главы я пропустил.
  • +6
    Какой-то до боли знакомый голос. Вы научные видео не озвучиваете, случайно?)
    • +12
      Озвучивал, было дело :)
      • +4
        А, ну да, надо было посмотреть на ник :) Теперь все понятно.
        Спасибо за кучу интересных видео!
        • +10
          Пожалуйста! Рад, что интернет в очередной раз тесен :)
  • +23
    1. Появились первые возмущения «это же просто перевод гайда!».
    Да, этот курс полностью основан на бесплатной книге от Эппл, об этом сказано в описании.
    Свифт – замечательный язык, и мы будем рады сделать полноценный курс на основе собственных материалов, но на это понадобится немного больше чем два дня. Если вы прочитали книгу – в этих видео-уроках ничего нового вы не услышите

    2. К сожалению, наш сервер не выдерживает нагрузки и сейчас с доступностью курса могут быть проблемы. Я прошу прощения, мы работаем над этим.
    • 0
      Спасибо.
    • +5
      А почему видео? Я бы, например, предпочел просто текстовый перевод. Не понимаю этой моды на видео-уроки.
      • +1
        Думаю и на это уйдет на порядок больше, чем 2 дня.
        • +1
          Было бы очень здорово увидеть русский вариант книги по Swift
        • 0
          Я думаю люди переводя записывали это счастье на листочекiPad и потом это все читали в видео. Нет?;)
    • +1
      Фритоник — молодец!
  • +5
    Hexlet сразу упал под Хабрэффектом
  • +2
    Хабраэффект. Интересно, сколько же было переходов?
  • +8
    Вы можете создать плейлист на ютубе, чтобы можно было смотреть видео по очереди, с автоматическим переключением на следующее?
    Учитывая количество видео и их небольшую длину, это было бы очень удобно.
  • +1
    Какой-то глупый автокомплит в этом Плэйграунде. После R# совсем грустно на него смотреть.
    • +1
      И вообще эта бета ОЧЕНЬ глючная и нестабильная. Думаю, они еще многое будут допиливать раз решили столько внимания уделять разработчикам в этом году.
    • 0
      Ждем обновления AppCode
  • +1
    Кнопка доната только у меня закрывает кнопку войти? Вроде как раньше такого небыло…

    Лично я не против доната, и делал уже Вам перевод раньше. Но сейчас я не могу войти на сайт так как кнопка закрыта.
    • 0
      Извините. Пока мы исправляем – войти можно на hexlet.org/login
      А какое у вас разрешение монитора?
    • +1
      Измените масштаб страницы и кнопка сместится.
  • +74
    image
    • +4
      К сожалению по наплыву вопросов на тостере сразу видно как «школота» резко захотела кодить для iOS.
      • +15
        а что, плохо что ль? Пусть кодит. Из части этой школоты потом хорошие специалисты вырастут. Может кто-то вообще придет в программирование через swift.
        • +2
          Ничего плохого, если бы они как минимум гуглили и читали документацию.
          А на деле получаем вопросы «как выучить swift, а то хочу срочно написать приложение»
          • +5
            ну я тоже также себя вел в школе)) ну школоло, да. Только тогда был не swift, а бейсик. Блин, куча разных путей прийти в программирование. Будут и они читать доки и гуглить.
      • +2
        Не только на тостере. На SO так вообще — ужас :)
      • 0
        Сарказмнометр секретной службы США (из соседнего поста) показал сильные помехи с форумов андроид-разработчиков.
    • 0
      Подобные языки есть на других платформах — но даже Си до конца не вытеснили, скорей всего с iOS будет также.
  • +2
    Вы за один день сделали перевод и видео? Очень круто!

    Крайне хотелось бы иметь кнопочку: «скачать курс». На интуите есть такая кнопка, она стоит 100 рублей, если мне не изменяет память.
    • +3
      За два, ну и перевод отдельно не делал, просто по главам урока сделал видео.
      Спасибо!
      • 0
        в видео о массивах insert — это не замена а вставка ;) что и видно на примере
        • +1
          Вы правы, извиняюсь, сейчас исправлю.
  • +2
    Это великоплено! Огромное спасибо
  • +4
    Вот я не понимаю, как фирма Apple это все делает?
    Был Objective-C. Придумать язык с таким синтаксисом — это еще нужно постараться. Мыши плакали, но продолжали жрать кактус.
    Теперь появился Swift. Языку пару дней, а вокруг него ажиотаж, как во времена первого айфона.

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

    Пока я вижу такие проблемы:
    1) Теперь нужно учить еще один язык;
    2) Поддерживается только одной платформой;
    3) Отсутствие киллер-фич (либо я про них не знаю).

    Никого не хочу оскорблять, просто хочу понять, почему люди бегут изучать Swift, а не Python, Ruby, C# или что-то еще.
    • +1
      Потому что с ним можно в теории заработать денег. Ну и зарплату платят неплохую, если ты на этом пишешь.
      • +6
        Предполагаю, что разработчикам на Swift пока еще ни разу не платили зарплату ;)
        В теории можно заработать денег на любом языке. Чем этот лучше?
        • +1
          Например, мне интереснее писать под мобильные платформы, чем под веб. Поэтому я прихожу к выбору платформы — андроид, айось или винда. Винда вообще не конкурент, выбирая между первыми двумя, обычно выбирают ios, так как тут все еще больше денег, а значит больше потенциальных заказчиков, а значит больше работы, выше зарплаты. Значит надо учить саму iOS, а также язык для разработки. Раньше это был просто Obj-C. А тут на сцену появляется абсолютно новый, современный язык для разработки под эту платформу. Так зачем учить устаревший обжектив?
          Надеюсь, мне удалось немного прояснить, почему такой ажиотаж вокруг Swift
          • +6
            Вы еще не заработали никаких денег на мобильных платформах, как я понимаю? Такие выводы я делаю на основании того, что просто взять мобильную платформу и с ходу написать для нее золотое приложение почти нереально — все необходимое уже давно написано, а что-то интересное без каких-то модных сервисов вряд ли взлетит. В 99.9% случаев это так.

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

            Так зачем учить устаревший обжектив?

            Так его тоже не надо учить. Есть другие языки.
            • +1
              Нет, вы ошибаетесь, на мобильных платформах деньги зарабатываем. Причем игры не пишем. Вот вы смотрите на мобильную разработку только со стороны игр — да, там возможно кроссплатформенность имеет смысл (я не силен в этом). Если же посмотреть на разработку обычных неигровых приложений — то тут уже попытка побежать за двумя зайцами заканчивается очень печально. Опыт есть.
    • –1
      Если Вы программировали на C# до того как начали писать на Objective-C, то Вам будет невероятно сложно наступать себе на горло, сталкиваясь с идеологией 25-ти летней давности. В Swift всего этого нет. Ощущение от синтаксиса примерно такое же, как при переходе от C++ к С#. Конечно, было бы суперски если бы вместо Swift Apple перешел на C#, но, видимо, уж очень шарп заточен под .net.
      • +1
        Ну на C# бы они точно никогда не перешли, а на какие-нибудь питоны — вполне.

        А отсутствие GC (вернее, его замена на ARC) — вообще несколько странно смотрится.
      • 0
        Причём тут вообще C# и почему Apple должен был на него именно перейти…
      • +1
        Патенты не помешали бы им перейти на C#?
    • +1
      Поддержка Cocoa из коробки.
      • 0
        Аргумент, окей.
        Но почему бы не сделать какой-нибудь Python из коробки?
        • +2
          Единственное что из адекватного приходит в голову так это… слово… маркетинг!
          • 0
            Ну и возвращаемся к первому предложению этого треда: " Вот я не понимаю, как фирма Apple это все делает?". Просто офигительный маркетинг, да!
        • +1
          Инфраструктура Apple — замкнутая. Свое железо, своя ОС, своя программная платформа, теперь еще и свой язык.
          Им нужно, чтобы оно и дальше продолжало оставаться «своим», а не пошло по миру.
          Например, с использованием Питона наверняка пришли бы еще и проблемы кроссплатформенности, а для Apple кроссплатформенности не существует.
    • +7
      Ну вообще то с Python и Ruby Swift точно нельзя сравнивать, просто по нише. С трудом можно сравнить с Java, чуть ближе C#, но больше всего похож на «упрощённый D» с добавлением пары мелких вкусностей из других языков (pattern matching, extensions). Речь естественно не про синтаксис, а про набор возможностей.

      Собственно если не наступать на грабли jvm/.net, то было всего несколько вариантов современных языков для таких целей: C++11, D, Rust. Проблемы первого думаю всем известны. Rust вообще ещё не готов и там есть свои специфичные нюансы. Почему не взяли D… Ну если глянуть на основную разницу со Swift, то видно, что отсутствует всё метапрограммирование (кстати одна из важнейших фич D), исключения, поддержка многопоточности. И если втрое вызвано старыми традициями Apple, третье можно добавить и на уровне библиотек, то первое явно просто убрано, как слишком сложное. T.e. D явно слишком сложен для целей Apple. Так что в общем то ничего удивительного в идее создания нового языка не вижу, тем более с их ресурсами.

      Это так сказать технические аргументы. Понятно что есть ещё и маркетинговые — в данном случае создание нового язык просто классически укладывается в общий стиль Apple. Но это не отменяет наличие технических аргументов.

      Так что отвечая на ваш главный вопрос насчёт интереса к Swift: как ни странно в данном случае у Apple получится действительно интересный инструмент. В том смысле, что он интересен не только в рамках мирка Apple (где на фоне ужасного obj-c любой современный язык должен вызывать радость), но вообще для всего IT сообщества (даже если оно не собирается им пользоваться, как например я), т.к. явно имеет задатки стать одним из лучших современных языков.

      P.S. Если что, я мягко говоря не поклонники компании Apple или её продукции.
    • +1
      Не нужно там ничего учить, он простой как три копейки.

      Почему идут учить? Есть практическая необходимость писать для Apple. Писать на Swift удобно.
  • +1
    Плохо то что язык этот нишевый и не кросс-платформенный. А так swift выглядит весьма интересно.
    • +1
      На счет «не кросс-платформенный» на самом деле все не так однозначно.
      Да, в настоящий момент приоритет, конечно же, Cocoa. Но нет никаких технических проблем сделать его как минимум кросс-компилируемым на другие платформы, так как это, по сути, просто llvm frontend.
      Вопрос больше политический: допустит ли это Apple.
      • +1
        А чего не допускать? Есть же моно и C#. Только нафиг никому не нужен, но есть. Ну ладно, нужен, но малой доле энтузиастов, остальные пишут на obj-c.
        • +1
          Конечно, никто не может помешать заново полностью реализовать грамматику, но я немного о другом.
          Объем работы для того, чтобы сделать поддержку кросс-платформенности в уже существующей реализации достаточно мал. Есть даже ненулевая вероятность, что это zero cost, или даже уже работает и отключено специально. Так уж устроен llvm.
          PS: На счет ненужности mono и C# тоже можно поспорить.
        • 0
          Сейчас современные игрушки под мобилки (какой это процент вообще от всего мобилььного рынка? наверное, большой?) делают на Unity. Unity — это Mono в первую очередь. Получается, что Mono нужен чуть ли не всем.
  • +1
    А текстом будет?
  • +2
    Ничего себе! Такой оперативности освещения нового средства для разработки можно только позавидовать! Наверное я повторю чьи-то высказывания и отзывы, но хотелось бы отметить отличную подготовку, ясное изложение, грамотную речь и очень хорошую дикцию. Последние два пункта в русских учебных скринкастах почему-то любят игнорировать, считая, что интересующиеся и так поймут. В общем, качество отличное, на очень высоком уровне, и материал доступный. Спасибо ребята, за вашу работу!
  • +1
    Очень хочется перевести книжку от Apple на русский. Для этого я открыл её перевод на Notabenoid.ru, присоединяйтесь к переводу, вместе мы ее быстро осилим! Любой может добавлять главы/переводить, сделал все максимально публично.
  • 0
    Синтаксис чуть ли не один в один содрали со Скалы. И это круто.

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

Самое читаемое Разработка