Исследование Bitrise насчет бесплатности Jenkins. Да, у них конкурирующие продукты, но многие согласятся с выводами из их опросов.
https://dev.to/hhaandr/turns-out-there-s-life-after-jenkins-and-it-s-great-1mah
https://dev.to/hhaandr/turns-out-there-s-life-after-jenkins-and-it-s-great-1mah
DEV Community
Turns out, there's life after Jenkins and it's GREAT
This article contains research findings from Bitrise's report Mobile CI after Jenkins - 6 lessons lea...
Неожиданно и быстро прошёл этот “год на удаленке”. Кто-то успел выучить новый язык и не только в программировании, но и заговорить на испанском. Кто-то в совершенстве овладел навыками йоге в домашних условиях.
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Хабр
Дайджест релизов мобильной разработки Mail.ru Group за время пандемии
В прошлом году мы дружно перешли на удалёнку и стали экспериментировать и приспосабливаться к новым условиям. Результаты нас порадовали, мы не сбавили частоту ре...
Сравнение самой популярной open source библиотеки реализующей WebSocket и нативной URLSession, поддерживающей протокол начиная с iOS13.
https://dev.to/cardoso/swift-websockets-starscream-or-urlsession-in-2021-fck
https://dev.to/cardoso/swift-websockets-starscream-or-urlsession-in-2021-fck
DEV Community
Swift WebSockets: Starscream or URLSession in 2021?
Building applications such as online games and real-time chat has never been easier since the standar...
WWDC пройдет 7-11 июня, а по ссылке традиционный Student Challenge, в качестве приза мерч и лицензия разработчика на год.
https://developer.apple.com/wwdc21/swift-student-challenge/
https://developer.apple.com/wwdc21/swift-student-challenge/
Сам не видел, но похоже “предустановка российского ПО” уже прибыла. Какие требования, такая и реализация, видимо.
https://twitter.com/KhaosT/status/1377470814665072643
https://twitter.com/KhaosT/status/1377470814665072643
Twitter
Khaos Tian
Ah looks like the Russia App Store thing is live now
Осталось всего несколько дней, чтобы проголосовать в ежегодном опросе про состояние отечественного рынка мобильной разработки. Поднажмите – пройдите сами, пошарьте своей команде, закиньте в чатики, в которых сидите. Больше ответов – круче общий обзор!
⏰ Время на прохождение – 3 минуты, ссылка – тут.
⏰ Время на прохождение – 3 минуты, ссылка – тут.
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Интересный взгляд на testable import. Если по умолчанию не использовать его, то можно сделать свои тесты более продуманными и эффективными.
https://paul-samuels.com/blog/2021/03/29/thoughts-on-testable-import/
https://paul-samuels.com/blog/2021/03/29/thoughts-on-testable-import/
Уклоняемся от проблем при переезде на SPM. К концу статьи можно перечитать причины для этого переезда и передумать.
https://habr.com/ru/post/549390/
https://habr.com/ru/post/549390/
Хабр
7 Кругов SPM или как сделать модульное приложение на Swift Package Manager
Думаю, многие разработчики сталкивались с задачей, когда нужно разбить проект на модули. В этой статье нет информации о том, как решать циклические зависимости и...
⚡️ Сообщество CocoaHeads приглашает всех на круглый стол про IDFA в iOS 14
Ребята обсудят изменения, которые внесла Apple, что они значат для всех нас, и как с этим жить дальше. Если не понимаете о чем речь – приходите, все доступно расскажут. Если понимаете, тоже приходите, будет обсуждение последствий и как подготовить приложение к iOS 14.5
📆 Трансляция будет в этот четверг, 8 апреля в 19:00, ссылка будет в @cocoaheads
Ребята обсудят изменения, которые внесла Apple, что они значат для всех нас, и как с этим жить дальше. Если не понимаете о чем речь – приходите, все доступно расскажут. Если понимаете, тоже приходите, будет обсуждение последствий и как подготовить приложение к iOS 14.5
📆 Трансляция будет в этот четверг, 8 апреля в 19:00, ссылка будет в @cocoaheads
Основы JavaScript для небольших правок контента в WKWebView. Делать свой блокировщик рекламы уже поздно, но пригодится, чтобы авторизацию пробрасывать и для других хаков.
https://nemecek.be/blog/92/javascript-basics-for-ios-developers
https://nemecek.be/blog/92/javascript-basics-for-ios-developers
nemecek.be
JavaScript basics for iOS developers
What you need to know to manipulate content in WKWebView, how to make Swift & JavaScript talk to each other, how to call JavaScript functions and more.
Встроенные форматтеры, о которых вы возможно даже не слышали. Например RelativeDateTimeFormatter, который может отдавать “Вчера” или “Сегодня” для описания даты. Или ListFormatter с почти очевидным назначением.
https://www.swiftbysundell.com/articles/exploring-some-of-the-lesser-known-formatter-types/
https://www.swiftbysundell.com/articles/exploring-some-of-the-lesser-known-formatter-types/
Swift by Sundell
Exploring some of the lesser-known, built-in Formatter types | Swift by Sundell
Let’s explore some of the lesser-known Formatter subclasses that ship as part of Apple’s platforms, and how those formatters can be really useful in certain situations.
Про написание UI тестов с использованием паттерна PageObject. Его стоит использовать чтобы разделять “что” и “как” мы тестируем.
https://swiftwithmajid.com/2021/03/24/ui-testing-using-page-object-pattern-in-swift/
https://swiftwithmajid.com/2021/03/24/ui-testing-using-page-object-pattern-in-swift/
Swift with Majid
UI Testing using Page Object pattern in Swift
We talked a lot about different design patterns, which help us maintain the codebase by solving various issues. But what about testing? What can we do to keep our UI tests in a maintainable and consistent state? This week we will talk about the Page Object…
ScaledMetric позволяет автоматически подстраивать в отступы или другие величины в верстке в зависимости от размеров динамического шрифта.
https://useyourloaf.com/blog/the-scaledmetric-property-wrapper/
https://useyourloaf.com/blog/the-scaledmetric-property-wrapper/
Наконец-то подробно описанное впечатление от SwiftUI при построении приложения в продакшн сразу на 4 платформах. О плюсах я думаю все уже наслышаны, а из минусов generics и новая layout система, которую не так просто понять глубоко.
https://kean.blog/post/swiftui-experiment
https://kean.blog/post/swiftui-experiment
kean.blog
The SwiftUI Experiment
Wrapping up the series on Pulse development
Погружение в структуру View в SwiftUI. Как происходит определение статических и динамических элементов.
https://fivestars.blog/swiftui/swiftui-graph.html
https://fivestars.blog/swiftui/swiftui-graph.html
FIVE STARS
A sneak peek into SwiftUI's graph | FIVE STARS
Let's explore how SwiftUI knows what and when to observe view-specific publishers at any given time!
Сравнение инструментов для создания Privacy Policy для своего приложения. Интересный факт - по закону текст политики конфиденциальности нельзя копировать, так как он защищен авторским правом.
https://www.revenuecat.com/blog/creating-a-privacy-policy-for-your-app
https://www.revenuecat.com/blog/creating-a-privacy-policy-for-your-app
Revenuecat
Creating a Privacy Policy for Your App
There are a few different ways to create a Privacy Policy and Terms of Use for your app, each with their own benefits and drawbacks. Like it or not, Apple and Google will reject your app if it doesn't contain both of these documents.
Теперь доступен новый официальный пакет с дополнительными коллекциями: Deque, OrderedSet, OrderedDictionary.
https://swift.org/blog/swift-collections/
https://swift.org/blog/swift-collections/
Swift.org
Introducing Swift Collections
I’m thrilled to announce Swift Collections, a new open-source package focused on extending the set of available Swift data structures. Like the Swift Algorithms and Swift Numerics packages before it, we’re releasing Swift Collections to help incubate new…
В день в AppStore и GooglePlay попадает больше 100 тысяч приложений. Через несколько месяцев что-то из них будет приносить создателям сотни тысяч долларов прибыли, но большую часть никто и никогда не скачает. В чем разница между первыми и вторыми? Бюджет на маркетинг.
Gamesboost42 предоставляет финансирование на рост вашего приложения или игры без скрытых комиссий и лимитов. Чем больше вы зарабатываете — тем большее маркетинговый бюджет и меньше комиссия. GamesBoost42 - единственное решение под ключ на рынке финансирования мобильных игр и приложений 😎
Пишите в бота GamesBoost42_bot или оставляйте заявку на сайте GamesBoost42.com
Gamesboost42 предоставляет финансирование на рост вашего приложения или игры без скрытых комиссий и лимитов. Чем больше вы зарабатываете — тем большее маркетинговый бюджет и меньше комиссия. GamesBoost42 - единственное решение под ключ на рынке финансирования мобильных игр и приложений 😎
Пишите в бота GamesBoost42_bot или оставляйте заявку на сайте GamesBoost42.com
Telegram
GamesBoost42
GamesBoost42 - marketing funding for mobile apps and games
==
или ===
отсутствуют для замыканий, потому что это не позволило бы компилятору делать некоторые оптимизации с захватом параметров и телом функций. В общем, не стоит пытаться сравнивать ссылки на функции и замыкания.https://www.jessesquires.com/blog/2021/04/05/why-swift-closures-are-not-equatable/
Jesse Squires
Why Swift closures are not Equatable
Despite the fact that closures (and functions) are reference types in Swift, they cannot be compared using == or ===. But why?
Encode и decode JSON’ов в enum с ассоциируемым типом, когда внутри лежат разные сущности.
https://www.donnywals.com/splitting-a-json-object-into-an-enum-and-an-associated-object-with-codable/
https://www.donnywals.com/splitting-a-json-object-into-an-enum-and-an-associated-object-with-codable/
Donny Wals
Splitting a JSON object into an enum and an associated object with Codable – Donny Wals
Decoding data, like JSON, is often relatively straightforward. For a lot of use cases, you won't need to know or understand a lot more than what I explain in this post. However, sometimes you need to…