Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209
Не уходим далеко от вопросов безопасности приложений. Есть одна замечательная штука под названием Cycript, которая помогает на лету подключаться к исполняемому приложению и вызывать любые методы у всех его классов и инстансов. Защита от нее достаточно нетривиальна. В статье - подборка лучших практик.
https://blog.0xbbc.com/2015/05/protection-against-cycriptruntime/
#security #objc
Подборка сервисов для проверки ваших мобильных приложений на предмет наличия уязвимостей, в том числе из списка OWASP Top 10. Сам не пробовал, поэтому заинтересован в вашем фидбэке.
https://habrahabr.ru/company/hosting-cafe/blog/319762/
#security
Раз уж вчера заговорили о стилях, вот еще материал на тему. Теперь - используем функции для задания стилей UI элементам.
https://medium.cobeisfresh.com/composable-type-safe-uiview-styling-with-swift-functions-8be417da947f
#ui
Описание крутого решения для удобной работы с адаптивным размером текста - trait collections, dynamic type, вот это все. Решение через сториборды - не универсальное, поэтому автор предлагает использовать extension'ы и прокси.
http://ilya.puchka.me/adaptive-text-styles/
#ui
И кстати, стартовал новый сезон митапов. В ближайшее время ожидается целых три:
1. CocoaHeads, Москва, 27 января: https://corp.mail.ru/ru/press/events/303/
2. Superjob iOS Meetup, Москва, 26 января: https://superjob-meetup.timepad.ru/event/416291/
3. Yandex iOS Party, Новосибирск, 1 февраля: https://events.yandex.ru/events/meetings/01-02-2017/
#meetups
Немного не про разработку, а про управление компаниями, в которых есть айти департаменты. Как происходит смена руководства, к чему ведут дефолтные действия эффективных менеджеров по оптимизации расходов и всякое такое. Читать до последнего раздела, там внезапно начинается странное про политику и теорию заговора. Но основная часть - замечательная.
https://habrahabr.ru/post/297678
#career
Тут новость пришла - Google купил Fabric. Обойдусь без диванной аналитики.
http://vc.ru/n/alphabet-fabric
#news
Наконец-то анонсировали Mobius 2017 - отличную конфу по мобильной разработке. В этом году ребята замахнулись аж на два дня. От себя дам фидбэк по прошлому разу - очень тепло и лампово, огромное количество возможностей для общения между участниками конференции и холиваров на различные темы. И доклады неплохие.
https://habrahabr.ru/company/jugru/blog/319462/
#conferences
Аргументы в защиту синдрома Not Invented Here. В качестве примера приводится команда разработки Excel, не только отказавшаяся от всех сторонних зависимостей, но и даже написавшая свой компилятор.
https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/
#philosophy #processes
Роберт Мартин снова вернулся к холивару "языки со строгой типизацией vs написание unit-тестов". В этот раз активно ругает Swift и Kotlin за переусложненные языковые конструкции и попытки застраховаться от всех возможных несчастных случаев. Пятничный холивар объявляю открытым.
http://blog.cleancoder.com/uncle-bob/2017/01/11/TheDarkPath.html
#tdd #languages
Реализация подсветки синтаксиса на Swift с использованием библиотеки SyntaxKit.
vhart/rendering-code-as-styled-static-text-4c7479e6161b#.ufd71hc01" rel="nofollow">https://medium.com/@vhart/rendering-code-as-styled-static-text-4c7479e6161b#.ufd71hc01
#swift #libraries
Самый громкий переход между компаниями с начала этого года. Да и на ближайшие месяцы, я думаю, тоже. Крис Латтнер, создатель LLVM и Swift, ушел из Apple и присоединился к Tesla в роли вицепрезидента по разработке автопилотов. Теперь, кстати, core-команда разработки Swift включает в себя человека не работающего в Apple.
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170109/030063.html
https://www.tesla.com/blog/welcome-chris-lattner
Update: Можно еще его резюме почитать и взять себе в пример.
http://www.nondot.org/sabre/Resume.html
#news #swift #llvm
Instagram рассказал, в чем суть технологии Wide Color, анонсированной на последнем WWDC, и как они встраивали поддержку нового стандарта во все этапы работы с изображениями - от съемки до публикации.
https://engineering.instagram.com/bringing-wide-color-to-instagram-5a5481802d7d#.7txn5mdsa
#sdk #graphics
Отсыплю вечернего холивара. Какого размера должны быть ViewController'ы, и насколько нужно слепо следовать правилу 200 строк.
https://medium.com/practical-ios-development/lets-stop-being-dogmatic-about-viewcontroller-length-8cb00187c0d
#architecture
Очередной материал цикла "О чем вы никогда не задумывались, но что стоит знать". Видео про то, как под капотом устроен рендеринг web-страницы в обычном браузере. Расширяем кругозор.
https://www.youtube.com/watch?v=n1cKlKM3jYI
#web
Срочная новость - в iOS 10.3 будут добавлены системный компонент "Rate Me" и возможность отвечать на отзывы пользователей!
https://twitter.com/stroughtonsmith/status/823962361438552064/photo/1
#news #appstore #sdk
Шикарный материал под вечер прилетел. Полный транскрипт огромного интервью с Крисом Латтнером на много разных тем: создание Swift, работа в Apple, переход в Tesla, сообщество, будущее языка в чужих руках и еще очень-очень много всего. Даже про реактивщину набрасывает!
http://atp.fm/205-chris-lattner-interview-transcript
#swift #community
Готов представить следующий этап развития нашего сообщества - канал Android Good Reads для наших коллег из Android разработки. Концепция все та же - несколько материалов в день, так или иначе связанных с предметной областью. Уверен, что контент будет часто пересекаться - я выкладываю довольно много вещей на общие темы - архитектура, карьера, принципы проектирования. Но обещаю и много специфичных для Android вещей :)
Подписывайтесь, скидывайте друзьям и коллегам - пусть им тоже достанется немного радости :)
/channel/droidgr
#news
Что это значит - быть сеньором. Перечисление важных софт-скиллов, которые, в отличие от знания конкретных API, действительно помогают нести пользу как своему продукту, так и команде.
http://merowing.info/2017/01/seniority/
#career
Почему UITableView пора начинать забывать. Ребята из PSPDFKit собрали в одном посте все аргументы за то, чтобы постепенно переезжать на UICollectionView.
https://pspdfkit.com/blog/2017/the-case-for-deprecating-uitableview/
#uikit
Jon Reid, известный любитедь как Swift, так и TDD, написал пост в защиту позиции Роберта Мартина. Напомню, разговор идет про пост "The Dark Path", которым дядюшка Боб поджарил многих разработчиков.
http://qualitycoding.org/uncle-bob-swift-testability/
#tdd #swift
Завезли годноты. Классная статья про использование линз и призм, в том числе и в Swift. Даже захотелось сесть и написать еще один парсер для JSON.
https://broomburgo.github.io/fun-ios/post/lenses-and-prisms-in-swift-a-pragmatic-approach/
#patterns #swift
Достаточно подробные гайды от Эша Фурроу по неймингу в Swift'овом коде. Основной смысл - все зависит от контекста, где-то нужно быть многословным, а где-то нет.
https://ashfurrow.com/blog/naming-things-in-swift/
#swift #codestyle
Еще один подход к работе с сетевыми запросами. Добавляем в сетевом клиенте несколько хуков, инжектим вспомогательные сущности, реализующие эти хуки - профит. На самом деле, хороший и дешевый вариант для небольших проектов.
http://khanlou.com/2017/01/request-behaviors/
#architecture #networking
Про устройство типа String в Swift, способы доступа к отдельным символам из строки и появляющиеся при этом проблемы с производительностью. TL;DR В любой непонятной ситуации нужно использовать UnicodeScalarView вместо Character.
tonyallevato/strings-characters-and-performance-in-swift-a-deep-dive-b7b5bde58d53#.ubzus6oqi" rel="nofollow">https://medium.com/@tonyallevato/strings-characters-and-performance-in-swift-a-deep-dive-b7b5bde58d53#.ubzus6oqi
#swift #perfomance
Детально про статический анализатор кода SwiftLint - настройка, написание кастомных правил, способы использования в команде. На наших swift'овых проектах только начинаем заводить - до этого анализатор гонялся только на Objective-C приложениях.
https://realm.io/news/slug-jp-simard-swiftlint/
#swift #tools #processes
Подборка сниппетов и советов, полезных при использовании нативных UI тестов. Кстати, буду рад послушать впечатления тех, кто плотно на них сидит.
http://masilotti.com/ui-testing-cheat-sheet/
#testing
Ну и напоминаю, что свое веское мнение можно высказать в нашем чатике /channel/iosgt.
Читать полностью…Про изменение пользы от написания тестов в зависимости от сложности кода. Ключевая мысль - этот ваш TDD это, конечно, круто, но писать тесты нужно начинать только в случае появления логических ветвлений. Вопрос измерения профита от тестов, конечно, интересный, и не всегда черно-белый подход в духе "либо покрывать все, либо - ничего" действительно решает бизнес-задачи.
davidihunt/tdd-and-complexity-1bbd5ca51ee7#.mvojn39xz" rel="nofollow">https://medium.com/@davidihunt/tdd-and-complexity-1bbd5ca51ee7#.mvojn39xz
#tdd #testing
Про различные психологические проблемы и синдромы, так или иначе связанные с работой в IT. Список когнитивных искажений особенно впечатляет, каждый у себя несколько сможет насчитать точно.
http://www.maxshulga.ru/2016/12/popular-psychology.html
#career #motivation