История мобильной кроссплатформы - как ломались предыдущие варианты и насколько это похоже на то, что имеем сейчас.
https://habr.com/ru/company/jugru/blog/545342/
https://habr.com/ru/company/jugru/blog/545342/
Хабр
Кроссплатформенная мобильная разработка: история вопроса
Когда речь заходит о разработке «сразу для Android и iOS», начинаются холивары и гадания на кофейной гуще. Что перспективнее, Flutter или Kotlin Multiplatform Mobile? За этими технологиями будущее,...
Изобретаем проблему и решаем ее: извлечение параметров из строки представляющей собой путь при помощи механизмов интерполяции строк в Swift. Бесполезно, но интересно.
https://davedelong.com/blog/2021/03/04/exploiting-string-interpolation-for-fun-and-for-profit/
https://davedelong.com/blog/2021/03/04/exploiting-string-interpolation-for-fun-and-for-profit/
Dave DeLong
Exploiting String Interpolation For Fun And For Profit
A while ago I was playing around with Swift’s string interpolation functionality and come up with something cool I thought I’d share with you.
Основы безопасности в iOS - прогоняем статические анализаторы, реверсам, разбираемся что вообще доступно и чего делать не стоит.
https://habr.com/ru/company/wrike/blog/544754/
https://habr.com/ru/company/wrike/blog/544754/
Хабр
Безопасность iOS-приложений: гайд для новичков
Привет! Меня зовут Гриша, я работаю application security инженером в компании Wrike и отвечаю за безопасность наших мобильных приложений. В этой статье я расскажу про основы безопасности...
Затянуть KMM к себе в iOS проект можно разными способами, вот плюсы и минусы 4 наиболее очевидных из них.
https://medium.com/wantedly-engineering/different-approaches-in-consuming-kmm-modules-in-ios-7957c722b114
https://medium.com/wantedly-engineering/different-approaches-in-consuming-kmm-modules-in-ios-7957c722b114
Medium
Different Approaches in Consuming KMM Modules in iOS
Exploring various methods to work with KMM modules in an iOS project that is located in a separate repository.
Сегодня стартует пятый ежегодный опрос отечественных мобильных разработчиков! Скоро мы узнаем:
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Тем временем Swift становится все сложнее и асинхронность обещают уже в 5.5.
https://github.com/apple/swift/blob/6274b78ca0f23de052bed9b0d761e416b9882f55/CHANGELOG.md
https://github.com/apple/swift/blob/6274b78ca0f23de052bed9b0d761e416b9882f55/CHANGELOG.md
GitHub
swift/CHANGELOG.md at 6274b78ca0f23de052bed9b0d761e416b9882f55 · apple/swift
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
И в то же время время планы на функционал Actor’ов расширились. Пока есть 3 варианта. Возможно появится атрибут @reentrant и множество других мелочей, для того, чтобы на этапе компиляции исключалось как можно больше ошибок.
https://github.com/apple/swift-evolution/blob/main/proposals/0306-actors.md
https://github.com/apple/swift-evolution/blob/main/proposals/0306-actors.md
GitHub
swift-evolution/proposals/0306-actors.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
Упрощаем и стандартизируем работу с моками для модульных тестов при помощи Sourcery.
https://www.vadimbulavin.com/mocking-in-swift-using-sourcery/
https://www.vadimbulavin.com/mocking-in-swift-using-sourcery/
Yet Another Swift Blog
Code Generating Swift Mocks with Sourcery
How to code generate mocks in Swift? How to integrate Sourcery to an Xcode project? How to unit test an API service by mocking URLSession in Swift? These are the questions to answer in this article.
Доклад про все лучшее в Trunk Based Development. Настало время принимать пулл реквесты за 10 минут от создания.
https://habr.com/ru/post/519314/
https://habr.com/ru/post/519314/
Хабр
Почему Trunk Based Development – лучшая модель ветвления. Андрей Александров
В State Of DevOps 2018 от DORA мы видим, что Нigh Performing компании используют Trunk Based Development. Разберемся, почему именно ее, какие ее преимущества и недостатки имеет эта модель. Всем...
🔥 На канале CocoaHeads вышло превью видео, где Саша Зимин рассказывает подробности, как ему удалось победить в Telegram Contest: https://youtu.be/TZluSAhmh8s
Вообще у ребят в CocoaHeads последнее время много нового, они сделали сайт cocoaheads.io, выкатили бонусы за поддержку митапа. Сообщество развивается, остается открытым, и это радует
Вообще у ребят в CocoaHeads последнее время много нового, они сделали сайт cocoaheads.io, выкатили бонусы за поддержку митапа. Сообщество развивается, остается открытым, и это радует
YouTube
[Preview] Александр Зимин – История победы в Telegram Contest 2021
Саша рассказал в подробностях, как ему удалось занять первое место в конкурсе Telegram, чего ему это стоило и какие выводы он из этого сделал.
Полная версия доклада – https://www.youtube.com/watch?v=fnNatiZZC1E
Полная версия доклада – https://www.youtube.com/watch?v=fnNatiZZC1E
Основы memory layout в Swift. Чем отличаются size, stride, alignment и как порядок полей в структурах меняет эти значения.
https://theswiftdev.com/memory-layout-in-swift/
https://theswiftdev.com/memory-layout-in-swift/
Theswiftdev
Memory layout in Swift - The.Swift.Dev.
Start learning about how Swift manages, stores and references various data types and objects using a memory safe approach.
Мегаподробная статья про DI и существующие решения. Начиная от самописных способов, заканчивая сравнением скорости и функций библиотек, основанных на рефлексии и кодогенерации.
https://habr.com/ru/company/tinkoff/blog/546360/
https://habr.com/ru/company/tinkoff/blog/546360/
Хабр
DI в iOS: Complete guide
Всем привет, меня зовут Виталий, я iOS-разработчик в юните мессенджера в Тинькофф. Сегодня поговорим о том, что такое DI, зачем он нужен, рассмотрим известные библиотеки для DI и сравним их между...
Отдельный инструмент для приведения краш-логов в читаемый вид.
https://christiantietze.de/posts/2021/03/symbolicate-crash-logs/
https://christiantietze.de/posts/2021/03/symbolicate-crash-logs/
Christian Tietze
MacSymbolicator: Tool to Symbolicate Your Crash Reports
I am not good at reading crash logs of my apps. Some errors are obvious, like index out of bounds exceptions. Others require actual symbolication of the crash log to reveal the symbol aka function name ...
Поддержка нескольких версий macOS приложений сейчас выглядит как сущий ад, особенно если не только двух последних. Симулятор отсутствует, старые системы хотят старый Xcode и так далее.
https://www.jessesquires.com/blog/2021/03/19/how-to-test-your-macos-app-or-not/
https://www.jessesquires.com/blog/2021/03/19/how-to-test-your-macos-app-or-not/
Jesse Squires
How to test your Mac app (or not) and decide which versions of macOS to support (or not)
As I continue to pursue Mac app development more seriously, I can build on and borrow from my many years of iOS experience. While many aspects of writing Mac...
История команды Яндекс.Браузера об ускорении работы отладчика Swift с последующим внесением правок в LLVM. Сложная тема, но можно спать спокойно, так как когда-то правка доедет до всех и самим это делать не надо.
https://habr.com/ru/company/yandex/blog/544734/
https://habr.com/ru/company/yandex/blog/544734/
Хабр
Как мы ускоряли работу отладчика Swift
Привет! Меня зовут Александр Скворцов, я работаю в команде Яндекс.Браузера для iOS. Это очень большой проект, который насчитывает около тысячи clang-модулей и примерно 600 Swift-модулей. Наверное,...
Идем в олл ин и создаем приложение под все платформы Apple. Добавляем таргеты, создаем общую точку входа и реализуем часть функционала под отдельные платформы.
https://blog.scottlogic.com/2021/03/04/Multiplatform-SwiftUI.html
https://blog.scottlogic.com/2021/03/04/Multiplatform-SwiftUI.html
Scott Logic
Setting up a multi-platform SwiftUI project
An exploration of how to setup up a basic multi-platform SwiftUI project, including platform specific files, common files and conditionally compiled platform code.
Вот почему вам обязательно стоит использовать SQLite: удобные инструменты, простой и гибкий язык запросов, куча библиотек для расширения функционала.
https://habr.com/ru/post/547448/
https://habr.com/ru/post/547448/
Хабр
SQLite — не игрушка
Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.Для затравки несколько известных фактов:SQLite —...
Хочешь освоить востребованную профессию, чтобы работодатели выстроились в очередь? Начни с изучения Swift – это производительный и легкий в чтении язык программирования.
Прямо сейчас запишись на бесплатный интенсив GeekBrains от Mail.ru Group «Swift для начинающих».
За два часа ты:
📌 узнаешь все об особенностях и преимуществах языка Swift;
📌научишься использовать среду разработки xCode, а также переменные, массивы и классы;
📌сможешь создавать базовые элементы интерфейса TableViewController, NavigationController, а еще подключать и использовать сторонние библиотеки.
Клик по ссылке сделает Swift чуть ближе и понятнее — https://geekbrains.ru/link/YMgj9t
Прямо сейчас запишись на бесплатный интенсив GeekBrains от Mail.ru Group «Swift для начинающих».
За два часа ты:
📌 узнаешь все об особенностях и преимуществах языка Swift;
📌научишься использовать среду разработки xCode, а также переменные, массивы и классы;
📌сможешь создавать базовые элементы интерфейса TableViewController, NavigationController, а еще подключать и использовать сторонние библиотеки.
Клик по ссылке сделает Swift чуть ближе и понятнее — https://geekbrains.ru/link/YMgj9t
GeekBrains
Курс Swift для начинающих. Знакомство с языком Swift | Обучение программированию онлайн | GeekBrains - образовательный портал
Хотите научиться создавать мобильные приложения? Пройдите интенсивный двухчасовой курс по Swift на GeekBrains.ru и узнайте основы языка Swift с опытными преподавателями.
Можно скачать какой-нибудь левый Xcode проект и во время билда он запустит вредоносный код. Нашли вирус XcodeSpy.
https://labs.sentinelone.com/new-macos-malware-xcodespy-targets-xcode-developers-with-eggshell-backdoor/
https://labs.sentinelone.com/new-macos-malware-xcodespy-targets-xcode-developers-with-eggshell-backdoor/
SentinelOne
New macOS Malware XcodeSpy Targets Xcode Developers with EggShell Backdoor - SentinelLabs
Targeting software developers is one route to a successful supply chain attack. Now threat actors are going after Apple developers through the Xcode IDE.
Как архитектурный паттерн RIB помог Uber при соблюдении их отполированных принципов в отношении к данным. По сути полное состояние передается вместе с каждым событием аналитики и потом в читаемом виде отображается в дэшборде.
https://eng.uber.com/ubers-journey-toward-better-data-culture-from-first-principles/
https://eng.uber.com/ubers-journey-toward-better-data-culture-from-first-principles/