И еще немного новостей от Apple, на которые вчера наткнулись и сами. Теперь нельзя обновлять поля description/what's new без создания новой версии приложения и прохождения всего процесса проверки.
https://9to5mac.com/2017/03/09/developers-edit-app-store-descriptions-app-review/
#appstore #news
Открылось публичное голосование за доклады для UIKonf 2017. Принимайте участие, если не поедем, то хоть на видео посмотрим потом.
http://cfp.uikonf.com/selections
#conferences
Не всегда хранить ключи и пароли в открытом виде, пусть даже в keychain, разумно. Обзор техник реализации шифрования для пользовательских данных на клиенте с использованием мастер-ключа.
https://swifting.io/blog/2017/01/16/33-security-implement-your-own-encryption-schema/
#security
Apple стали реджектить приложения, работающие с сервисом rollout.io. Ну и судя по треду вообще правила проверки в направлении выполнения произвольного кода ужесточились.
https://forums.developer.apple.com/thread/73640
#news
Общий обзор архитектуры приложений Dropbox и Carousel, использующих либу на C++ для шаринга бизнес-логики.
https://oleb.net/blog/2014/05/how-dropbox-uses-cplusplus-cross-platform-development/
#cpp #crossplatform
Выкатили требования к WWDC 2017 Scolarship. Если вы еще студент - заявляйтесь, шансы довольно большие.
https://developer.apple.com/wwdc/scholarships/
#apple
Очень неплохой доклад про написание тестируемого кода на Swift. Видео не обработано, начало там примерно на 11 минуте.
https://www.youtube.com/watch?v=RcmrLEp0m_M
#swift #testing
Мэтт Галлагер написал длинный пост про историю паттерна MVC, его проблемы, возможные решения и альтернативы. Давно мы тут про MVC не набрасывали, поэтому самое время.
https://www.cocoawithlove.com/blog/mvc-and-cocoa.html
#architecture
Еще одна история про процесс миграции на третий Swift, в этот раз от Firefox.
https://mozilla-mobile.github.io/ios/firefox/swift/core/2017/02/22/migrating-to-swift-3.0.html
#swift #refactoring
И еще вдогонку - мы вчера выложили в open source космический медиапикер, чтобы вам в своих приложениях не пришлось велосипедить.
https://github.com/avito-tech/Paparazzo
#libraries
Так, через 10 минут стартанет прямая трансляция CocoaHeads. Напоминаю, что в этот раз общаемся про разработку медиапикера, безопасность и BaaS.
https://youtu.be/vqEA3AjsG-8
#meetups
Главный материал недели. Facebook выложили research paper, где целиком описали свой подход к мобильному Continuous Delivery. Готовьтесь к лонгриду.
https://research.fb.com/wp-content/uploads/2017/02/fse-rossi.pdf
#processes
Наткнулся на очень интересный материал от Spotify про то, как они разрабатывали модель карьерной лестницы в компании, как подошли к процессу и какие результаты получили.
https://labs.spotify.com/2016/02/08/technical-career-path/
#career
Отличный способ бриджинга свифтовых типов к Objective-C коду без потери приятных языковых плюшек.
http://blog.benjamin-encz.de/post/bridging-swift-types-to-objective-c/
#swift
Пошаговая реализация интерфейса нескольких приложений, победивших в Apple Design Awards. Все на swift конечно же.
https://medium.com/exyte/replicating-apple-design-awarded-applications-70e5df4c4b94#.dfr73bn5u
#ui
Выложили в открытый доступ видеозаписи с недавнего CocoaHeads Moscow. Налетайте - доклад про медиапикер и особенности работы с камерой в iOS, рекомендации по безопасности мобильных приложений и реклама какого-то BaaS.
https://habrahabr.ru/company/avito/blog/323514/
#meetups #security
Инженеры Uber'а рассказали о том, почему они отказались от большого количества репозиториев под управлением CocoaPods и перешли на монорепозиторий для всей своей iOS разработки (а это более 150 человек, к слову). Активно набрасывают про Buck, кстати.
https://eng.uber.com/ios-monorepo/
#processes #tools #ci
Обзор плюсов и минусов разных систем для CI - Travis, Xcode Server, Jenkins.
http://thebugcode.github.io/ios-continous-integration-choosing-a-build-server-and-tooling/
#ci
Я достаточно часто сталкиваюсь с мнением, что высокое покрытие кода тестами усложняет процессы рефакторинга и делает архитектуру менее гибкой и расширяемой. Изменение каждой строчки кода ведет к переписыванию еще и нескольких связанных тестов - и с таким лютым оверхедом достаточно тяжело спорить. Аргумент про то, что этот же рефакторинг становится гораздо более безопасным, тоже не во всех ситуациях прокатит. Дядюшка Боб набрасывает очень правильные вещи на эту же тему и рассуждает про то, как надо использовать TDD, чтобы не испортить весь дизайн своего проекта.
http://blog.cleancoder.com/uncle-bob/2017/03/03/TDD-Harms-Architecture.html
#tdd #architecture
Так, ну и немного про организацию кода на ночь глядя. Разбор случаев добавления опционального состояния во ViewController'ы с предлагаемыми решениями проблемы.
http://khanlou.com/2017/03/that-one-optional-property/
#cleancode
Про эргономику и баланс между явностью и неявностью в контексте подходов к разработке фич языка Rust. Применимо в той же мере и к Swift.
https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html
#languages
Соскучились по материалам про React Native? Тогда держите статью с ответами на удобные и не очень вопросы, связанные с фреймворком.
https://habrahabr.ru/post/323214/
#reactnative
Кстати, сегодня будет очередной выпуск нашей e-mail рассылки. Подписывайтесь на http://iosgoodreads.ru.
Читать полностью…Отличная статья-приключение от 2GIS про счастье и стабильность при работе с extension'ами CallKit. Шучу про стабильность. Про счастье тоже.
https://habrahabr.ru/p/323050/
Очень поверхностно, но зато обо всех процессах, которые есть в разработке Google. Ничего нового, но зато собрано в одном месте, и можно поглядывать в поисках лучших практик.
https://dev.by/lenta/main/razrabotka-po-v-google-praktiki-roli-i-vsyo-vsyo-vsyo
#processes
Про пользу и вред большого количества сторонних зависимостей. Все сводится к простой формуле - польза от зависимостей в проекте обратно пропорциональна времени, затрачиваемому командой на его разработку.
http://eli.thegreenplace.net/2017/benefits-of-dependencies-in-software-projects-as-a-function-of-effort/
#cleancode
Методами машинного обучения (но это не точно) выбрали десять лучших (но это тоже не точно) статей и ресурсов по Swift за 2016 год. Enjoy.
https://medium.mybridge.co/swift-top-10-articles-for-the-past-year-e4551a19121#.fo1g82a48
#swift
Хайповая статья про GraphQL и его преимущество над REST. Ну правда же отлично смотрится и решает очень много из тех проблем, с которыми лично я сталкивался при разработке того же ЖЖ.
ottovw/rest-api-downfalls-and-dawn-of-graphql-dd00991a0eb8#.ypncoud5c" rel="nofollow">https://medium.com/@ottovw/rest-api-downfalls-and-dawn-of-graphql-dd00991a0eb8#.ypncoud5c
#backend #api
Встречайте - первый выпуск подкаста Podlodka! Я, @DevAlloy и @Novixon полтора часа болтаем про VIPER, React Native, последние новости разработки и обсуждаем ближайшие мероприятия.
Подкаст планируем делать регулярным и нам очень важна обратная связь. Ссылку на форму найдете в описании выпуска на SoundCloud. Чат в Telegram - @podlodka.
P.S. Модерацию в iTunes еще не прошли, так что пока слушать можно только через SoundCloud. Как пройдем - напомню еще раз.
https://soundcloud.com/podlodka/podlodka-1-viper-i-react-native
#podlodka #architecture #reactnative
Транскрипт выступления Ash Furrow про различные подходы к написанию асинхронного кода на Swift, в том числе и рассуждения про пока нереализуемые async/await и корутины.
https://ashfurrow.com/blog/comparative-asynchronous-programming/
#concurrency