iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.1K subscribers
748 photos
67 videos
4.2K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Пару месяцев назад я выкладывал статью про архитектурное устройство обновленного Uber. Ребята назвали свой подход Riblets. Тут всю статью на русский язык перевели, так что есть повод еще раз к ней вернуться и попробовать применить к своим собственным задачам.
https://habrahabr.ru/company/livetyping/blog/320452/

#architecture
Ловите наброс с 33-мя подами, которые могут пригодиться вам в наступающем году. Список довольно спорный (я вообще не любитель такого рода подборок), но любителям новых сторонних зависимостей должно понравиться. Я вот больше с красивых логотипов порадовался.
https://medium.com/app-coder-io/33-ios-open-source-libraries-that-will-dominate-2017-4762cf3ce449#.dsbf3pk1b

#libraries
Новая утилита, которая позволяет оперативно находить проблемы в xib'ах/storyboard'ах. К примеру, нереализованные IBOutlets и IBActions.
https://github.com/fastred/IBAnalyzer

#tools
Транскрипт доклада с одного из Kotlin Night про паттерн "робот" - абстракцию над выполнением конкретных действий на отображаемом экране. Помогает отвязаться от деталей представления и писать автотесты, которые не будут ломаться при каждом изменении лэйаута. Хоть в докладе и приводятся примеры из Android, предложенные идеи точно так же актуальны и для iOS разработки.
https://realm.io/news/kau-jake-wharton-testing-robots/

#testing #ui #patterns
Я как-то пропустил обновления в XCTest, прилетевшие вместе с Xcode 8.3. Появился новый класс XCTestWaiter, который позволяет делать много крутых вещей: не фейлить тест автоматически, если XCTestExpectation незафулфиллился, управлять сразу несколькими expectation'ами и много чего еще. Ну и сам XCTestExpectation тоже прокачали и добавили несколько удобных сабклассов.
http://masilotti.com/xctest-waiting/

#testing #xcode
Airbnb выложили крутую штуку под названием Lottie. Она позволяет легко и просто встраивать в приложения анимации, экспортнутые прямо из After Effects. Ну и еще несколько полезных фич - A/B тестирование, кеширование частых анимаций, программный контроль скорости. Ответственно подошли к созданию сообщества - не просто все выкинули на GitHub и забыли, а предварительно связались с крутыми анимационными студиями, рассказали им про свой инструмент и вытащили из них несколько крутых примеров.
https://medium.com/airbnb-engineering/introducing-lottie-4ff4a0afac0e#.686cebmtk

#tools #opensource
Кстати, уже завтра - второй выпуск нашей email рассылки. Подписывайтесь на http://iosgoodreads.ru. По вопросам спонсорства и включения дополнительных материалов - стучитесь в @etolstoy.
Если вы живете в Москве и думаете, чем завтра заняться - попробуйте посетить местный Peer Lab в Старбаксе на Кузнецком мосту. Это такое мероприятие, на котором собирается группа разработчиков, вместе прогают, разбирают сложные вопросы и учат друг друга. Судя по официальному сайту, в Москве они проводятся еженедельно по субботам в 11 часов утра. Сам не был, но можете попробовать связаться с организатором.
http://peerlab.community/find/

#community
Мало одной билд-машины, чтобы прогонять тесты? Решение лежит на поверхности - подключайте компьютеры всех своих коллег к CI, нечего им простаивать. В статье рассказано подробнее про такой подход, а еще про GitLab CI.
https://blog.caramba.io/team-distributed-continuous-integration-for-xcode-projects-5e08e3d82987

#ci
Отличная статья для новичков про работу с GCD в Swift 3. Все базовые концепции и функции разбираются буквально на пальцах, так что можете смело сохранять себе или вбрасывать тем, кто задает много вопросов.
http://www.appcoda.com/grand-central-dispatch/

#swift #concurrency
Обеспечиваем потокобезопасность при работе с CoreData, закрывая NSManagedObject свифтовыми протоколами. Решение не без недостатков (в ObjC вообще не рекомендую так делать), но жизнеспособное. А по ссылке в статье есть еще вариант по работе со структурами.
https://swifting.io/blog/2017/02/05/35-structs-alternative-using-swift-protocols-to-enhance-safety-of-core-data-access/

#coredata #swift
Дочитал сегодняшний лонгрид от Орты - ретроспективу внедрения React Native в основное приложение Artsy. Прошел уже год с момента их первого знакомства с технологией, и накопленный ребятами опыт очень ценен. Маленький любитель хайпа внутри меня снова загорелся идеей погонять React Native на каком-нибудь домашнем проекте. Нет, правда, плюсы выглядят очень здраво.
http://artsy.github.io/blog/2017/02/05/Retrospective-Swift-at-Artsy/

#reactnative
Официально объявляю неделю React Native. К нашей вечеринке присоединяется Instagram - оказывается, ребята тоже вовсю экспериментируют и тоже остаются довольны. Ну и, кстати, из статьи можно сделать несколько выводов об организационном устройстве их команды.
https://engineering.instagram.com/react-native-at-instagram-dd828a9a90c7#.ee4z0d6pz

#reactnative