Создание UDP-сервера и клиента в Swift на базе фрейморка Network
Сетевая модель OSI описывает, каким образом устройства в локальных (и глобальных сетях) обмениваются данными.
Всего у неё 7 уровней и каждый из них выполняет определённую задачу (скорее всего вы и так это знаете, обычно это проходят на 2-3 курсе универа).
Так вот, на прикладном уровне чаще всего нам достаточно URLSession.
Но вот для сетевых задач более низкого уровня (работа с TCP и UDP), фреймворк Network предоставляет более полный контроль на транспортном уровне. Это обеспечивает большую гибкость и эффективность по сравнению с URLSession.
📖 В этом материале от нашего читателя Максима Егорова вы можете познакомиться с тем, как написать свой UDP-сервер и клиент на несложном, но любопытном примере.
🛠 Полный код проекта доступен здесь.
😃 iOS Dev
Сетевая модель OSI описывает, каким образом устройства в локальных (и глобальных сетях) обмениваются данными.
Всего у неё 7 уровней и каждый из них выполняет определённую задачу (скорее всего вы и так это знаете, обычно это проходят на 2-3 курсе универа).
Так вот, на прикладном уровне чаще всего нам достаточно URLSession.
Но вот для сетевых задач более низкого уровня (работа с TCP и UDP), фреймворк Network предоставляет более полный контроль на транспортном уровне. Это обеспечивает большую гибкость и эффективность по сравнению с URLSession.
📖 В этом материале от нашего читателя Максима Егорова вы можете познакомиться с тем, как написать свой UDP-сервер и клиент на несложном, но любопытном примере.
🛠 Полный код проекта доступен здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Кровь, пот и пиксели
Перед обратным перелётом из Манчестера вспомнил про вашу чудесную подборку книг и решил чем-нибудь занять 5 часов. Спасибо, что на пути оказался один из магазинов blackwells с прайсом за книгу в 12 фунтов.
Признаюсь, я ждал историй успешного успеха, и отчасти поэтому занизил изначальные ожидания. Но Джейсон Шрейер не стал описывать сказки, как сделать в гараже собственный GTA VI. Вместо этого он сосредоточился на реальных трудностях не только корпораций-гигантов вроде Blizzard, но и инди-разработчиков, например, целая глава выделена для истории Stardew Valley.
Конечно, я не буду делиться спойлерами, чтобы не уменьшать потенциальный интерес от чтения. Но не могу не вынести пару мыслей касаемо разработки ПО в целом, а не только игр.
Проблемы были и будут всегда, вопрос лишь в том, как именно на это реагировать не только в здесь и сейчас, но и в долгосрочной перспективе. Ведь часто бывает так, что у нас бывает только вектор развития (или как верно заметил Шрейер, работая в огромной корпорации вы как будто находитесь на корабле и плывёте куда-то на запад, но куда именно - неизвестно).
Порой крайне сложно (если вообще реально) добиться, чтобы изначально поставленные годовые планы были достигнуты в нужный срок и со всем объёмом.
И наша задача как разработчиков постараться описать как можно больше корнер-кейсов до начала реализации, чтобы наш корабль не превратился в призрак.
😃 iOS Dev
Перед обратным перелётом из Манчестера вспомнил про вашу чудесную подборку книг и решил чем-нибудь занять 5 часов. Спасибо, что на пути оказался один из магазинов blackwells с прайсом за книгу в 12 фунтов.
Признаюсь, я ждал историй успешного успеха, и отчасти поэтому занизил изначальные ожидания. Но Джейсон Шрейер не стал описывать сказки, как сделать в гараже собственный GTA VI. Вместо этого он сосредоточился на реальных трудностях не только корпораций-гигантов вроде Blizzard, но и инди-разработчиков, например, целая глава выделена для истории Stardew Valley.
Конечно, я не буду делиться спойлерами, чтобы не уменьшать потенциальный интерес от чтения. Но не могу не вынести пару мыслей касаемо разработки ПО в целом, а не только игр.
Проблемы были и будут всегда, вопрос лишь в том, как именно на это реагировать не только в здесь и сейчас, но и в долгосрочной перспективе. Ведь часто бывает так, что у нас бывает только вектор развития (или как верно заметил Шрейер, работая в огромной корпорации вы как будто находитесь на корабле и плывёте куда-то на запад, но куда именно - неизвестно).
Порой крайне сложно (если вообще реально) добиться, чтобы изначально поставленные годовые планы были достигнуты в нужный срок и со всем объёмом.
И наша задача как разработчиков постараться описать как можно больше корнер-кейсов до начала реализации, чтобы наш корабль не превратился в призрак.
Please open Telegram to view this post
VIEW IN TELEGRAM
Реализация пошаговой анимации в SwiftUI
На talk.objc.io вышел бесплатный эпизод, посвященный созданию анимации с комбинацией хэдера и нескольких ячеек (которые должны появляться в шахматном порядке и учитывать изменения прозрачности и градиента).
📖 Выпуск с видео и примерами кода доступен здесь.
😃 iOS Dev
На talk.objc.io вышел бесплатный эпизод, посвященный созданию анимации с комбинацией хэдера и нескольких ячеек (которые должны появляться в шахматном порядке и учитывать изменения прозрачности и градиента).
📖 Выпуск с видео и примерами кода доступен здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Примерно раз в год я прошу вас, читатели, помочь улучшить канал: подсветить недостатки, указать, что можно сделать иначе, поделиться идеями и мыслями в целом.
Сейчас как раз пятница, так что если у вас будет пара минут свободного времени, буду рад прочесть любые ваши отзывы.
По традиции, форма анонимная, ни один вопрос не обязательный, но все ответы совершенно точно будут прочитаны и каждое мнение будет иметь значение.
😎 Пройти опрос можно по этой ссылке.
😃 iOS Dev
Сейчас как раз пятница, так что если у вас будет пара минут свободного времени, буду рад прочесть любые ваши отзывы.
По традиции, форма анонимная, ни один вопрос не обязательный, но все ответы совершенно точно будут прочитаны и каждое мнение будет иметь значение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Picker в SwiftUI: примеры кода
Это один из самых часто используемых элементов, который позволяет выбирать пользователям из набора значений. Возможно, наиболее известные стили это сегмент-контрол и меню-пикер.
📖 В этой статье на несложных примерах рассказано, как создать такой пикер и настроить нужное отображение.
😃 iOS Dev
Это один из самых часто используемых элементов, который позволяет выбирать пользователям из набора значений. Возможно, наиболее известные стили это сегмент-контрол и меню-пикер.
📖 В этой статье на несложных примерах рассказано, как создать такой пикер и настроить нужное отображение.
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Conf SG 2025: подборка докладов
В январе прошла одна из крупнейших конференций по iOS и новый набор лучших презентаций уже доступен.
Рекомендую обратить внимание на эти доклады:
📺 Isolation, actors, sendable… Глубокое погружение в параллелизм
Donny Wals рассказывает об изоляции (кстати, напомню про этот пост), акторах и многом другом, чтобы наконец разобраться, что на самом деле пытается сказать нам компилятор, когда выдает загадочную ошибку.
📺 Заблуждения про тестирование и как использовать тесты для более быстрой разработки
В этом выступлении Krzysztof Zablocki делится лучшими подходами к тестированию при работе над Sourcery, New York Times и Arc Browser.
📺 Создание приложений, которые выделяются
Klemens Strasser, который получил 2 номинации Apple Design Award и даже победу, делится своим опытом.
📺 10 лет Swift: что произошло за это время
Swift, который мы пишем сегодня, почти не похож на Swift, который мы писали, когда он появился 10 лет назад. Чему мы научились за это время и какие изменения еще предстоят? В этом докладе на эти вопросы пробует ответить Пол Хадсон.
📺 За пределами программирования: необходимые софт-скиллы для успешной карьеры в iOS
Спикер делится советами, как строить более прочные отношения, преодолевать трудности на рабочем месте и как софт скиллы способствуют профессиональному росту
🔗 Эти и другие доклады доступны здесь.
😃 iOS Dev
В январе прошла одна из крупнейших конференций по iOS и новый набор лучших презентаций уже доступен.
Рекомендую обратить внимание на эти доклады:
📺 Isolation, actors, sendable… Глубокое погружение в параллелизм
Donny Wals рассказывает об изоляции (кстати, напомню про этот пост), акторах и многом другом, чтобы наконец разобраться, что на самом деле пытается сказать нам компилятор, когда выдает загадочную ошибку.
📺 Заблуждения про тестирование и как использовать тесты для более быстрой разработки
В этом выступлении Krzysztof Zablocki делится лучшими подходами к тестированию при работе над Sourcery, New York Times и Arc Browser.
📺 Создание приложений, которые выделяются
Klemens Strasser, который получил 2 номинации Apple Design Award и даже победу, делится своим опытом.
📺 10 лет Swift: что произошло за это время
Swift, который мы пишем сегодня, почти не похож на Swift, который мы писали, когда он появился 10 лет назад. Чему мы научились за это время и какие изменения еще предстоят? В этом докладе на эти вопросы пробует ответить Пол Хадсон.
📺 За пределами программирования: необходимые софт-скиллы для успешной карьеры в iOS
Спикер делится советами, как строить более прочные отношения, преодолевать трудности на рабочем месте и как софт скиллы способствуют профессиональному росту
🔗 Эти и другие доклады доступны здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Структурная идентичность в SwiftUI
В отличие от традиционных UI-фреймворков, когда мы вручную отслеживаем и обновляем элементы интерфейса, SwiftUI автоматически выполняет перерисовку, когда это необходимо.
Однако перерисовывать все подряд — неэффективно.
И поэтому нам может помочь структурная идентичность — с её помощью SwiftUI решает, какие вью действительно нужно перерисовывать, сохранив производительность.
📖 В этой статье Наташа Фадеева на примерах объясняет, в чем особенности такого подхода и какую роль играет идентичность, например, в списках.
😃 iOS Dev
В отличие от традиционных UI-фреймворков, когда мы вручную отслеживаем и обновляем элементы интерфейса, SwiftUI автоматически выполняет перерисовку, когда это необходимо.
Однако перерисовывать все подряд — неэффективно.
И поэтому нам может помочь структурная идентичность — с её помощью SwiftUI решает, какие вью действительно нужно перерисовывать, сохранив производительность.
📖 В этой статье Наташа Фадеева на примерах объясняет, в чем особенности такого подхода и какую роль играет идентичность, например, в списках.
Please open Telegram to view this post
VIEW IN TELEGRAM
Обнаружение и устранение зависаний в приложениях для iOS
📖 В этой статье рассмотрена одна из самых частых причин снижения производительности в iOS-приложениях.
Спойлер: причина в сложных вычислениях в главном потоке.
Рассказано, как обнаружить зависание используя App Hangs Detection и Instruments, смоделирован сценарий зависания интерфейса в проекте SwiftUI и продемонстрированы шаги для устранения этой проблемы.
✅ Большой разбор возможных кейсов проблем с производительностью, причин зависаний и способов предотвращения такого поведения есть 💰 тут и ⭐️ прямо здесь.
😃 iOS Dev
📖 В этой статье рассмотрена одна из самых частых причин снижения производительности в iOS-приложениях.
Спойлер: причина в сложных вычислениях в главном потоке.
Рассказано, как обнаружить зависание используя App Hangs Detection и Instruments, смоделирован сценарий зависания интерфейса в проекте SwiftUI и продемонстрированы шаги для устранения этой проблемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Динамическая адаптация к доступному пространству с помощью ViewThatFits
Вкратце принцип работы следующий: ViewThatFits выбирает первое child view, чей идеальный размер по заданным осям впишется в предложенный размер.
Обычно это происходит в порядке от наибольшего к наименьшему, но, так как наше вью иногда может поместиться только вдоль одной оси, порядок может быть нарушен.
По умолчанию ViewThatFits ограничивается по горизонтальной и вертикальной осям.
📖 Неплохой пример использования ViewThatFits есть тут и в официальной документации.
😃 iOS Dev
ViewThatFits
- это компонент SwiftUI, доступный с iOS 16.Вкратце принцип работы следующий: ViewThatFits выбирает первое child view, чей идеальный размер по заданным осям впишется в предложенный размер.
Обычно это происходит в порядке от наибольшего к наименьшему, но, так как наше вью иногда может поместиться только вдоль одной оси, порядок может быть нарушен.
По умолчанию ViewThatFits ограничивается по горизонтальной и вертикальной осям.
📖 Неплохой пример использования ViewThatFits есть тут и в официальной документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Стратегии, позволяющие избежать мерж-конфликтов в проектах Xcode
Каждый, кто работал в более-менее большой команде разработчиков (что уж там, даже двоих человек иногда достаточно), наверняка сталкивался с конфликтами при слиянии изменений.
📖 Tuist выпустили неплохой материал с разбором, почему такие проблемы вообще возникают, и как с этим может быть связан файл project.pbxproj в Xcode.
А ещё они описали несколько вариантов решения: от использования workspace и SwiftPM до buildable folders в Xcode 16.
🔗 Кстати, вот тут можно познакомиться и с другими возможными причинами мерж-конфликтов.
😃 iOS Dev
Каждый, кто работал в более-менее большой команде разработчиков (что уж там, даже двоих человек иногда достаточно), наверняка сталкивался с конфликтами при слиянии изменений.
📖 Tuist выпустили неплохой материал с разбором, почему такие проблемы вообще возникают, и как с этим может быть связан файл project.pbxproj в Xcode.
А ещё они описали несколько вариантов решения: от использования workspace и SwiftPM до buildable folders в Xcode 16.
🔗 Кстати, вот тут можно познакомиться и с другими возможными причинами мерж-конфликтов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как улучшить архитектуру кода с помощью принципов SOLID (с примерами на Swift)
Эти принципы помогают сократить количество хаоса на проекте с течением времени. Да и следование SOLID облегчает в целом сопровождение кода, тестирование и потенциальное масштабирование.
Наш читатель Максим Егоров (уже знакомый вам по примеру работы с Network-фреймворком) в этот раз решил затронуть базу и показал на несложных примерах потенциальные ошибки, которые могут нарушать принципы, сформулированные Робертом Мартином, а ещё привёл варианты их исправления.
📖 Прочитать статью целиком можно здесь.
🧠 Напомню, что в приложении вы можете проверить себя не только в знании этих принципов, но и в других важных темах.
😃 iOS Dev
Эти принципы помогают сократить количество хаоса на проекте с течением времени. Да и следование SOLID облегчает в целом сопровождение кода, тестирование и потенциальное масштабирование.
Наш читатель Максим Егоров (уже знакомый вам по примеру работы с Network-фреймворком) в этот раз решил затронуть базу и показал на несложных примерах потенциальные ошибки, которые могут нарушать принципы, сформулированные Робертом Мартином, а ещё привёл варианты их исправления.
📖 Прочитать статью целиком можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Spectrum ring — реализация на Metal в iOS
В рамках экспериментов по изучению возможностей шейдеров попробовал разложить несколько цветов в непрерывный ряд (и дополнил парой красивых эффектов).
Варианты использования спектра вообще довольно значительны (от стандартного colorPicker в iOS до реализации самых разных волн и анимаций в музыкальных плеерах).
✅ Реализация, референсы и код на SwiftUI+Metal уже доступен 💰 тут и ⭐️ в телеграм.
🎆 В канале доступны и другие красивые эффекты.
😃 iOS Dev
В рамках экспериментов по изучению возможностей шейдеров попробовал разложить несколько цветов в непрерывный ряд (и дополнил парой красивых эффектов).
Варианты использования спектра вообще довольно значительны (от стандартного colorPicker в iOS до реализации самых разных волн и анимаций в музыкальных плеерах).
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift init() - особенности, примеры использования и подводные камни
📖 Статья, на первый взгляд полезная новичкам, на самом деле описывает несколько проблем, с которыми могут столкнуться разработчики.
Кирилл, который уже делился своим разбором Grand Central Dispatch, акцентирует внимание на нескольких важных аспектах.
Например, почему
Статья разбита на следующие логические блоки:
Работа со структурами:
- Memberwise initializer.
- Optionals, var vs let.
- Retaining a memberwise initializer.
Работа с классами:
- Designated initializer.
- Convenience initializer.
- Уменьшаем количество override.
- Помощь компилятора.
- required initializer: дженерики, протоколы, Self(), final.
- UIView() и что скрывает документация.
😃 iOS Dev
📖 Статья, на первый взгляд полезная новичкам, на самом деле описывает несколько проблем, с которыми могут столкнуться разработчики.
Кирилл, который уже делился своим разбором Grand Central Dispatch, акцентирует внимание на нескольких важных аспектах.
Например, почему
UIView.init()
всегда вызывается без параметров, а init(frame:)
и init(coder:)
переопределяются. Или, например, когда именно нужен required
-инициализатор. Статья разбита на следующие логические блоки:
Работа со структурами:
- Memberwise initializer.
- Optionals, var vs let.
- Retaining a memberwise initializer.
Работа с классами:
- Designated initializer.
- Convenience initializer.
- Уменьшаем количество override.
- Помощь компилятора.
- required initializer: дженерики, протоколы, Self(), final.
- UIView() и что скрывает документация.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
12–13 апреля проводим Weekend Offer Mobile
Устроиться в Яндекс за выходные — реально. Ищем крутых Android- и iOS-разработчиков с опытом работы от 3 лет, готовых работать в офисном или гибридном режиме в России.
Подавайте заявку до 9 апреля — и всего за 2 дня пройдите все технические собеседования. После сможете пообщаться с нанимающими командами и выбрать ту, которая покажется самой интересной. Если всё сложится хорошо, сразу же пришлём вам офер.
Узнать подробности и зарегистрироваться.
Реклама. ООО "Яндекс". ИНН 7736207543
Устроиться в Яндекс за выходные — реально. Ищем крутых Android- и iOS-разработчиков с опытом работы от 3 лет, готовых работать в офисном или гибридном режиме в России.
Подавайте заявку до 9 апреля — и всего за 2 дня пройдите все технические собеседования. После сможете пообщаться с нанимающими командами и выбрать ту, которая покажется самой интересной. Если всё сложится хорошо, сразу же пришлём вам офер.
Узнать подробности и зарегистрироваться.
Реклама. ООО "Яндекс". ИНН 7736207543
Разделение или работа в команде
Удивительно, как в нескольких компаниях сразу идеи о том, как важно отделять рабочее от всего остального, вышли буквально на мировой уровень.
📺 Несколько лет назад появился сериал Разделение, о котором я даже написал пару строк (и по случайному совпадению он завершал один из небольших квестов в нашем канале).
К слову, линия мистера Милчека с его перфоманс-ревью и последующей рефлексией возможно найдет ответ и у некоторых разработчиков.
🎮 А ведь кроме этого вышла сначала it takes two, а в этом году не менее чудесная Split Fiction, в которой, к слову, секретное послание оставил и геймдизайнер.
Пожалуй, крайне важная часть — умение работать в команде, ведь далеко не всегда всё зависит от мобильного клиента, или конкретно от разработчика.
Тесное взаимодействие команд дизайна, тестирования, реализации на сервере и формирование продуктовых задач, которые попадают в спринт достигается за счёт синергии всех участников процесса.
Кроме этого, одна из основных составляющих нашей работы состоит как раз в сложности разделения.
Тяжело перестать думать о баге или какой-нибудь важной фиче, которую вот-вот и вы выкатите на прод, особенно перед релизом.
И это может влиять и на менталку, и на какие-то дела вне работы. Поэтому довольно важно научиться разделять рабочие моменты и все, что находится за пределами, какой бы сложной и важной та или иная не казалась на первый взгляд.
🔄 Главное помнить, что умение переключать контекст - важнейший скилл. Не только в работе, но и в жизни.
И это далеко не самый простой навык.
😃 iOS Dev
Удивительно, как в нескольких компаниях сразу идеи о том, как важно отделять рабочее от всего остального, вышли буквально на мировой уровень.
📺 Несколько лет назад появился сериал Разделение, о котором я даже написал пару строк (и по случайному совпадению он завершал один из небольших квестов в нашем канале).
К слову, линия мистера Милчека с его перфоманс-ревью и последующей рефлексией возможно найдет ответ и у некоторых разработчиков.
🎮 А ведь кроме этого вышла сначала it takes two, а в этом году не менее чудесная Split Fiction, в которой, к слову, секретное послание оставил и геймдизайнер.
Пожалуй, крайне важная часть — умение работать в команде, ведь далеко не всегда всё зависит от мобильного клиента, или конкретно от разработчика.
Тесное взаимодействие команд дизайна, тестирования, реализации на сервере и формирование продуктовых задач, которые попадают в спринт достигается за счёт синергии всех участников процесса.
Кроме этого, одна из основных составляющих нашей работы состоит как раз в сложности разделения.
Тяжело перестать думать о баге или какой-нибудь важной фиче, которую вот-вот и вы выкатите на прод, особенно перед релизом.
И это может влиять и на менталку, и на какие-то дела вне работы. Поэтому довольно важно научиться разделять рабочие моменты и все, что находится за пределами, какой бы сложной и важной та или иная не казалась на первый взгляд.
И это далеко не самый простой навык.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотя актуальный релиз Swift по дефолту включен в Xcode, иногда может понадобиться другая версия для создания сервисов или, например, каких-либо инструментов командной строки.
Установка надежной версии Swift (с нужными зависимостями) требовала действий вручную, которые, очевидно, могли приводить к ошибкам.
🛠 В этом релизе swiftly стал частью Swift toolchain.
Кроме этого, добавлена и поддержка macOS для того, чтобы сделать возможной установку Swift отдельно от Xcode.
Среди базовых фич:
📖 Официальная новость на сайте Swift.
Please open Telegram to view this post
VIEW IN TELEGRAM
Архитектура SwiftData: паттерны и практики
SwiftData ознаменовала важный шаг вперёд в области хранения данных. Она была призвана заменить Core Data чем-то более интуитивным: тем, что будет проще интегрировать в SwiftUI.
Однако осталось несколько важных вопросов.
Как именно мы должны проектировать приложение на её основе?
Должны ли мы целиком полагаться на
📖 В этой масштабной статье можно узнать ответы на эти и другие вопросы:
🔘 Как структурировать модели данных
🔘 Где разместить бизнес-логику
🔘 Как писать модульные тесты
🔘 Как настроить работу Preview в Xcode
🔘 Как интегрировать CloudKit
🔘 Как работать с изменениями в слоях в будущем.
😃 iOS Dev
SwiftData ознаменовала важный шаг вперёд в области хранения данных. Она была призвана заменить Core Data чем-то более интуитивным: тем, что будет проще интегрировать в SwiftUI.
Однако осталось несколько важных вопросов.
Как именно мы должны проектировать приложение на её основе?
Должны ли мы целиком полагаться на
@Model
и @Query
, или можно абстрагировать их за протоколами для обеспечения гибкости? Как быть с бизнес-логикой? Да и как в целом нужно структурировать код для обеспечения надёжности и тестируемости в будущем.📖 В этой масштабной статье можно узнать ответы на эти и другие вопросы:
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Xcode 16.3 с нативной интеграцией вайб-кодинга!
Ночью вышел Xcode 16.3 и Swift 6.1, а вместе с ним и новый режим программирования.
На этой неделе в Европе официально разрешили Apple Intelligence и Тим Кук просто шокировал общественность, написав в X:
«Нам пришлось принять сложное решение. Всё больше разработчиков стало доверять ИИ, всё больше процессов интегрируется и вместе с тем мы вынуждены сохранять гонку не только с Google и OpenAI, но и с самим временем. Поэтому мы решили выпустить из беты режим вайб-кодинга в Xcode. Никакого Leetcode, никаких мыслей, теперь только х-к, х-к и в продакшн (какие-то буквы, к сожалению, пропущены).»
Буквально месяц назад Сергей Брин призвал ходить коллег в офис и работать 60 часов в неделю, но Apple сыграли на опережение как всегда. Разработчики в Купертино сидели по 120 часов с понедельника по субботу, приходя в 4 утра.
Новая инновация уже вызвала целую волну сокращений в Кремниевой долине и даже затронула бигтехи в РФ.
Сообщества с десятками тысяч читателей уже запустили курсы по подписке, как обойти новые процессы собеседований.
Теперь они предлагают работать и скручивать опыт, ведь как известно, для работы с новым ИИ теперь необходимо как можно меньше навыков. Чистое, незамутнённое алгоритмами сознание теперь имеет преимущество перед разработчиками с 10+ опыта.
Тим Кук добавил, что новый режим стал частью долгосрочного плана и подчеркнул, что канал iOSDev всё знал ещё два года назад.
😃 iOS Dev
Ночью вышел Xcode 16.3 и Swift 6.1, а вместе с ним и новый режим программирования.
На этой неделе в Европе официально разрешили Apple Intelligence и Тим Кук просто шокировал общественность, написав в X:
«Нам пришлось принять сложное решение. Всё больше разработчиков стало доверять ИИ, всё больше процессов интегрируется и вместе с тем мы вынуждены сохранять гонку не только с Google и OpenAI, но и с самим временем. Поэтому мы решили выпустить из беты режим вайб-кодинга в Xcode. Никакого Leetcode, никаких мыслей, теперь только х-к, х-к и в продакшн (какие-то буквы, к сожалению, пропущены).»
Буквально месяц назад Сергей Брин призвал ходить коллег в офис и работать 60 часов в неделю, но Apple сыграли на опережение как всегда. Разработчики в Купертино сидели по 120 часов с понедельника по субботу, приходя в 4 утра.
Новая инновация уже вызвала целую волну сокращений в Кремниевой долине и даже затронула бигтехи в РФ.
Сообщества с десятками тысяч читателей уже запустили курсы по подписке, как обойти новые процессы собеседований.
Теперь они предлагают работать и скручивать опыт, ведь как известно, для работы с новым ИИ теперь необходимо как можно меньше навыков. Чистое, незамутнённое алгоритмами сознание теперь имеет преимущество перед разработчиками с 10+ опыта.
Тим Кук добавил, что новый режим стал частью долгосрочного плана и подчеркнул, что канал iOSDev всё знал ещё два года назад.
Please open Telegram to view this post
VIEW IN TELEGRAM
Современные практики для работы с URL в Swift
Использование современных API в Foundation для построения (и дальнейшей работы) с URL не только упрощает наш код, но и снижает риск возникновения ошибок и возможных крашей.
📖 В своей статье Джон Санделл разбирает импакт от StaticString, макросов, как прийти к виду
✅ Кстати, про особенности и свойства URLSession можно узнать из этого поста.
😃 iOS Dev
Использование современных API в Foundation для построения (и дальнейшей работы) с URL не только упрощает наш код, но и снижает риск возникновения ошибок и возможных крашей.
📖 В своей статье Джон Санделл разбирает импакт от StaticString, макросов, как прийти к виду
let url = #staticURL("https://www.tg-me.com/iosdev")
, например, а также опции построения сложных запросов с помощью фич из iOS 16.Please open Telegram to view this post
VIEW IN TELEGRAM