iOS Такой 🍏
3.39K subscribers
423 photos
10 videos
2 files
303 links
IT | Подкасты | Apple | iOS Материалы | Swift

Реклама: @new_repository

Тёплый чат: https://t.me/+tzWmsOMTPpFjMzAy

Бусти: boosty.to/dimov_ios
Download Telegram
SwiftUI для большого B2C-продукта

В конце 2022 было запущено приложение Яндекс Путешествий на SwiftUI. Это было очень интересно, сложно и немножко больно.

Большие продукты очень аккуратно пробуют новые технологии, ведь для старых написаны разные хэлперы, либы, а для SwiftUI такого мало, поэтому сколько-то шишек набить все-таки пришлось. О них и будет этот доклад.

Слушатели смогут решить для себя, стоит ли запускать приложение с нуля полностью на относительно новом SwiftUI или стоит подождать, пока технология стабилизируется, узнать, какие боли могут возникнуть при проектировании нетривиального приложения на новом стеке, и как их решать.

#digest #swiftui
👍11🔥6👎31
Как автоматизировать обнаружение утечки памяти в вашем Swift-коде с помощью XCTest

Вы можете обнаружить утечки памяти с помощью инструментов или средств отладки графов памяти, но это может занять много времени. Лучше действовать проактивно, а не реактивно. Существует способ использовать XCTests для автоматического обнаружения утечек памяти при выполнении тестов.

Если вы пишете тесты в своем проекте, то можно написать unit тест, который поможет вам обнаружить утечки памяти.
Полезная статья с примерами кода и описанием каждого действия, советую к прочтению.

#digest #XCTests
👍12🔥32💩1
Как стать идеальным кандидатом на должность IOS разработчика

Всем привет! В эти выходные мы подготовили для вас особенный выпуск, посвященный теме "Как стать идеальным кандидатом на собеседовании"

В гостях у нас был Владимир iOS разработчик. Он с радостью поделился с нами своими знаниями, опытом и документацией, чтобы помочь вам стать идеальным кандидатом📚

В этом выпуске Вы узнаете о всех тонкостях и секретах успешного прохождения собеседования. Вова расскажет о важности подготовки, правильном поведении и ответах на типичные вопросы. Это обязательный просмотр для всех, кто стремится достичь успеха на собеседованиях!

Мы уверены, что Вы найдете этот выпуск полезным и интересным! Приятного просмотра!

Делимся полезными ресурсами с доклада

1⃣ Канал с разбором вопросов от Владимира:
https://www.youtube.com/channel/UC7RS_sOg9XMX3dtyoAxFpsw

2⃣ Вопросы с собеседований:
https://docs.google.com/document/d/1umwB4nR5y-WLteylhRYC45Vg6fCj7nN30FYoCZvLzK4/edit?usp=sharing

3⃣ 350 листов теории:
https://docs.google.com/document/d/1ssZDXY6m9rhBL3G7pMOusdnLRRf7c3zLUc8jf7l2NyU/edit?usp=sharing

4⃣ Статья "память от 0 до 1":
https://habr.com/ru/companies/hh/articles/546856/

5⃣ Статья "Live coding интервью для iOS разработчиков":
https://habr.com/ru/articles/718334
🔥33👍155💩21
Всем привет 👋

Совсем скоро у нас выйдут еще два ролика, а именно:

1️⃣ "Work life balance" с ребятами из Яндекс Го. Мы поговорим о том, как найти баланс между работой и личной жизнью, а также поделимся полезными советами и рекомендациями от профессионалов.

2️⃣ "Верстка кодом для начинающих UIKit". В этом выпуске мы расскажем о том, как начинающим разработчикам освоить верстку интерфейса с помощью UIKit. Вы узнаете о лучших практиках и секретах эффективной и качественной верстки. -Лайфкодинг.

Мы будем очень рады, если вы подпишетесь на наш ютуб-канал и поддержите нас!
Спасибо, что вы с нами!
🙌

#ios #разработка
👍19🔥7👌41🤮1
🔊 Новый подкаст на канале iOS: "Work Life Balance в IT и как не сойти с ума"! 🎧

В новом подкасте мы обсудили множество вопросов, связанных с Work Life Balance. Ребята из Yandex Go поделились своими секретами и советами о том, как справляться с высокой нагрузкой, не выгорать и сохранять эмоциональное равновесие.

Мы поговорили о том, как организовать свое рабочее время, чтобы не забывать о личных делах и отдыхе. Гости поделились своими методами планирования и приоритизации задач, чтобы быть продуктивными и в то же время находить время для себя.

Всем приятного просмотра.

#digest #подкаст
👍1311🤮1🤝1
Верстка кодом в iOS. Лайфкодинг

Верстка кодом может быть сложной для начинающих разработчиков. Необходимо иметь хорошее понимание основных концепций UIKit. Кроме того, необходимо уметь использовать Auto Layout и констрейнты для правильного расположения элементов на экране.

В целом, верстка кодом UIKit является мощным инструментом для создания качественного и гибкого пользовательского интерфейса на iOS. Этот подход позволяет разработчикам иметь полный контроль над интерфейсом и повышает эффективность разработки.

На канале iOS Такой вышло полезное видео по верстке кодом в UIKit. Если вы начинающий разработчик и хотите научиться создавать интерфейсы с помощью кода, то это видео стоит посмотреть.
В в данном видео автор подробно объясняет основные принципы верстки кодом и демонстрирует живой пример, а так же отвечает на самые задаваемые вопросы.

Не забудьте подписаться на канал, чтобы не пропустить другие интересные видео и материалы по iOS-разработке. Удачи вам в изучении и развитии!

#digest #доклад #верстка
👍21🔥51👎1💅1
Что такое замыкания и как их использовать?

Сегодня хотел бы поделиться с вами информацией о замыканиях (closures). И подготовили видео доклад на нашем ютуб канале.

🔎 Что такое замыкания?

Замыкание - это блок кода, который можно передать и использовать в качестве аргумента или возвращаемого значения в функциях. Оно может захватывать и хранить ссылки на переменные и константы из контекста, в котором оно было создано. Замыкания в Swift могут быть написаны в сжатой и лаконичной форме, что делает код более читабельным и понятным.

🎯 Зачем нужны замыкания?

Замыкания в Swift предоставляют множество возможностей и преимуществ:

1️⃣ Передача кода в качестве аргументов: замыкания позволяют передавать и использовать куски кода внутри других функций. Это особенно полезно при работе с асинхронными операциями или при необходимости выполнить определенные действия после завершения задачи.

2️⃣ Хранение кода в переменных: замыкания можно присваивать переменным или константам и использовать их в любом месте кода. Это позволяет создавать гибкие и масштабируемые архитектуры приложений.

3️⃣ Захват значений из окружения: замыкания могут захватывать и использовать значения из внешнего контекста. Это позволяет создавать более гибкие и мощные функции, которые могут адаптироваться к различным сценариям использования.

💡 Если вы хотите узнать больше о замыканиях в Swift, рекомендую посмотреть технический доклад на нашем канале iOS. Он содержит объяснение концепции замыканий и примеры их использования.

#iOS #digest #замыкания
🔥20👍84🤮1
500 подписчиков💥

Спасибо всем, я очень рад и счастлив. Постараюсь выпускать качественный и годный контент чаще.

Ближайшие выпуски:
1️⃣ Важность проведение one to one в компании.

2️⃣ Переход от классического UIKit+VIPER на SwiftUI по шагам.

3️⃣ Мок-собеседование на должность iOS разработчика.
🎉355🔥5👍3🥰1👏1💩1
MVVM на практике UIKit

Когда iOS впервые появилась, Apple предложила использовать MVC (Model-View-Controller) в качестве шаблона проектирования. Они показали это во всех своих примерах, и все первые разработчики были счастливы использовать его, потому что он прекрасно разделял проблемы между бизнес-логикой и пользовательским интерфейсом. По мере того, как приложения становились больше и сложнее, возникла новая проблема, получившая соответствующее название Massive View Controllers (MVC).

Поскольку вся бизнес-логика была добавлена в ViewController, со временем они обычно становились слишком большими и сложными. Чтобы избежать проблем с MVC, в мире iOS был введен новый шаблон проектирования - шаблон Model-View-ViewModel (MVVM).

Как выглядит MVVM. У вас есть стандартный ViewController + View (в storyboard, XIB или Code), который действует как представление MVVM (в дальнейшем text - View будет ссылаться на представление MVVM). Представление имеет ссылку на ViewModel, где находится наша бизнес-логика. Важно заметить, что ViewModel ничего не знает о представлении и никогда не имеет ссылки на представление. ViewModel содержит ссылку на модель.

Одна из основных проблем с MVVM заключается в том, как обновить View с помощью ViewModel, когда ViewModel не имеет никаких ссылок и даже ничего не знает о View.

Смотреть видео про архитектурный паттрен MVVM

#swift #mvvm
👍10🔥75🤮2
А У ВАС ЕСТЬ ONE TO ONE?

В мире информационных технологий, где командная работа становится все более распространенной практикой, не следует забывать о важности проведения индивидуальных встреч "one to one". Это поистине магическое время, когда руководитель и сотрудник имеют возможность погрузиться в мир личных достижений, амбиций и целей.

Один на один - это не просто обычная встреча, это возможность создать гармонию в команде. Ведь каждый из нас уникален и имеет свои сильные и слабые стороны. Именно во время таких встреч можно выявить и развить эти стороны, создавая идеальное сочетание навыков внутри команды.

Но важность one to one не ограничивается только гармонией в команде. Это также отличная возможность для руководителя понять, что мотивирует каждого сотрудника, какие цели он преследует и как можно помочь ему достичь этих целей. Ведь только истинно мотивированный сотрудник способен добиться высоких результатов.

iOS Такой пригласил гостя - Анатолия Кнутарева, который подготовил доклад и рассказал о важности проведение one to one в компаниях.

#digest #доклад
👍8🔥73💩2
Гибкость интерфейса с Backend-Driven UI

Backend‑Driven UI (или Server‑Driven UI) — это концепция в разработке приложений с интерфейсом, при котором бэкенд управляет как данными приложения, так и его внешним видом. Например, для фронтенд‑приложения BDUI будет управлять вёрсткой.

В этой статье на практических примерах разбираются преимущества переноса логики интерфейса приложения на backend.

Вы узнаете, как упростить тестирование, оптимизировать разработку и быстро вносить изменения в дизайн.

#idgest
👍82🔥2🤮2
Привет всем!

Хочу поделиться с вами некоторыми мыслями о нашем контенте и предложить вам возможность поддержать наш канал на бусти. Если вам нравятся наши видео, вы можете сделать свой вклад, который будет не только огромной поддержкой для меня, но и для всего канала!
☕️199 рублей - цена чашки кофе, но большой вклад в развитие контента!

Я очень стараюсь выпускать новые ролики и хочу поделиться с вами планами на будущее:
🔴Скоро выходит выпуск свой игры, над которой мы усердно работаем.
🔴Расскажем о переходе с VIPER UIKit на SwiftUI подробно
🔴Возвращаем рубрику публичных моковых собеседований! Следующий выпуск будет очень интересным🔫

Для подписчиков бусти создадим специальный локальный чат, помогать друг другу в развитии, делиться приватной полезной информацией! Но главное - это мок собеседования внутри этого чата и ваша возможность принять участие в них!

Огромное спасибо всем за вашу поддержку и интерес к нашему контенту. Вы делаете нас лучше! Люблю!🎯

#digest #поддержка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🎉4🏆3💩2🤮1🤡1
Swift Runtime в деталях

Это написанная на C++ библиотека, которая занимается обслуживанием встроенных в сам язык Swift функций. В частности, тут можно выделить как минимум две больших категории: работа с памятью (ARC), и работа с типами данных.

Статья про Swift Runtime - что это, зачем он нужен, где появляется и на чем основан принцип его работы, немного про особенности его реализации и про этапы компиляции.

#digest
🔥14👍84💩2😡1
Полезные материалы

Много ссылок об iOS и Swift — эти материалы очень полезны в решении многих вопросов. Сохраняй, пользуйся, делись 👇

Xcode
➡️ Подробнее про сам Xcode
➡️ Подробнее про Interface Builder

Структура приложения
➡️ Жизненный цикл iOS-приложения
➡️ Туториал по iOS Storyboard
➡️ UIApplicationDelegate
➡️ UIScene

Работа с Git
➡️ Документация по Git
➡️ Вводная по работе с Git

UI/UX
➡️ Документация Apple UIViewController
➡️ Хабр: жизненный цикл UIViewController
➡️ Документация Apple UINavigationController
➡️ Документация Apple UITabBarController
➡️ VC: основы мобильной навигации
➡️ UX/UI Design Glossary. Navigation Elements

Архитектура
➡️ Документация по MVC
➡️ Хабр: про MVC
➡️ Medium: отличия MVP от MVC
➡️ Хабр: различные архитектуры

UICollectionView
➡️ Документация от Apple
➡️ Туториал
➡️ CollectionView with NSHipster

Тестирование
➡️ Практический видео материал
➡️ Написание своего первого теста

UITableView
➡️ Документация
➡️ Подробный разбор на Medium
➡️ Туториал для начинающих

Layout
➡️ Статья про Update Cycle и все его методы
➡️ Туториал про CALayer
➡️ Документация от Apple по layoutSubviews()
➡️ Подробный гайд AutoLayout от Apple
➡️ Хабр: концепция, строение, применение AutoLayout
➡️ От Apple про адаптивный дизайн
➡️ Хабр: математические основы AutoLayout

Работа с сетью
➡️ Официальная документация URLSession от Apple
➡️ Networking in iOS от Swift by Sundell
➡️ Хабр: взаимодействие с сетью в iOS
➡️ Документация URLSession + Combine
➡️ Medium: REST простым языком

Decoding
➡️ Туториал по декодингу данных от Apple
➡️ Гайд по Codable
➡️ Хабр: парсинг данных в iOS

Temporary
➡️ Официальная документация URLCache от Apple
➡️ Официальная документация NSCache от Apple
➡️ Cache with NSCache from Swift by Sundell

Databases
➡️ Официальная документация Core Data от Apple
➡️ Core Data + Swift для самых маленьких
➡️ Medium: синхронизация API с Core Data

Key-Value
➡️ Storing Keys in the Keychain от Apple
➡️ Хабр: Keychain в API
➡️ Официальная документация UserDefaults от Apple
➡️ Medium: пример использования UserDefaults
➡️ Официальная документация FileManager от Apple

Многопоточность и асинхронность
➡️ Немного о RunLoop
➡️ Medium: Swift Mutex benchmark
➡️ Параллелизм, многопоточность и асинхронное программирование
➡️ Хабр: Multithreading
➡️ YouTube: Multithreading в Swift с нуля
➡️ Medium: Deadlocks, Livelocks и Starvation
➡️ Medium: параллельное программирование на Swift
➡️ Устройство многопоточности в iOS

Книги по iOS
➡️ Swift подробно
➡️ Мет Ньюберг ios 14 programming (кому нужен перевод книги, пишите мне - я скину)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥277👍5💩21🎉1
Туториал для начинаюших по Bezier Paths и Shape Layers

Существуют разные способы и разные подходы к тому, как нарисовать "экран" приложения:

— Использовать полученную графику от дизайнеров.
— Реализовать UI в коде.
— Использовать Interface Builder.
Комбинации способов выше и другие варианты.

Но иногда, нам необходимо нарисовать сложный графический UI, который зачастую делается с помощью Bezier Paths и Shape Layers.

В статье предлагается практическое руководство по созданию Bezier Paths. Автор рассматривает серию небольших, но понятных примеров, и знакомит с обеими концепциями.

#digest #UI
12👍6🔥4💩2🤷‍♂1❤‍🔥1
Привет, друзья!
У нас на YouTube канале вышла викторина по iOS
💡

В ней соревнуются четыре опытных разработчика, и каждый из них показывает свои знания и навыки.

Викторина состоит из пяти секций, которые охватывают различные аспекты разработки на iOS. Мы покрываем такие темы, как:

🔴 SwiftUI
🔴 Сеть
🔴 Многопоточность
🔴 Рандомные вопросы
🔴 Основы Swift.

В каждой секции есть по семь вопросов, начиная с простых и заканчивая самыми сложными.

Кроме того, мы также выпустили моковое собеседование с одним из наших подписчиков на платформе Boosty.

Удачи в развитии ваших навыков разработки на iOS! 🚀📚

#digest #свояигра #викторина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🎉52🔥2🤮2💯1🙉1
🔥 На канале iOS Такой вышел новый выпуск командной викторины, посвященный теме Apple и разработке

В этом выпуске приняли участие две команды, которые соревновались друг с другом, чтобы показать свои знания и умения

Викторина была не только увлекательной, но и информативной. Участники отвечали на вопросы, связанные с продукцией Apple, и делились интересными фактами о разработке приложений и программ для iOS

Каждая команда демонстрировала свою экспертность в мире Apple, стараясь ответить на вопросы как можно точнее и быстрее. Атмосфера в студии была наполнена энергией и соперничеством


Если вы хотите провести время с пользой, узнать что-то новое о компании Apple и разработке для iOS, обязательно посмотрите этот выпуск на канале iOS Такой

#digest #викторина
19🔥12👍4👎3
В скором времени мы подготовим и выпустим для вас выпуск на тему «Переход c VIPER UIKit на SwiftUI, пошагово» от опытного разработчика.

Если у вас есть какие-то идеи для выпуска или вы хотите стать гостем, не стесняйтесь пишите в комментарии или в личку.

Мы рады любой обратной связи. Большое спасибо Вам ❤️
🔥345🖕3❤‍🔥2👍2
Все по SwiftUI

➡️ SwiftUI Tutorials — серьезный материал от Apple, который сформирует базовые знания

➡️ Лекции Стенфорда. Бесспорно, не требующий представления ресурс, который содержит изменения за 2023 год

➡️ SwiftUI by Example — куча страниц с кодом под любую задачу

➡️ Awesome SwiftUI — список статей, обучающих программ, руководств и видосов

➡️ SwiftUI Weekly — обновляемый список ссылок на материалы

#digest #swiftui
🔥247👍3🤮2🤩1
Готовим в ближайший релиз два выпуска

Технический доклад о переходе с VIPER UIKit на SwiftU подробно. От Senior iOS Разработчика

Подкаст на тему "Развитие и продвижение своего продукта и бренда" от опытного маркетолога с большим опытом

Ставь лайк, если интересно. Пишите в комментариях, чтобы вы хотели бы видеть.
👍15🔥4🤡43🤮1💩1