LazyLoad Developers
1.63K subscribers
174 photos
132 videos
4 files
529 links
Курсы по мобильной разработке from zero to hero.
По вопросам сотрудничества обращаться к @Jonfir
Сайт - https://lazyload.academy
Правила - https://lazyload.academy/code-of-conduct/
Cсылки на мои другие чаты и каналы https://lazyload.academy/we-in-social/
Download Telegram
Новый выпуск вышел в открытый доступ

В этой главе мы разберемся, как наделять наши собственные типы поведением, свойственным типам из базового набора. Например, способностью выводить подробную информацию в консоль при вызове print или создавать из строкового литерала.
👍6
Новый выпуск для подписчиков на Boosty

Начнем с более простого варианта навигации - present. Посмотрим какие способы презентовать и новый экраны существуют.
👍6
Новый выпуск для подписчиков на Boosty

Перейдем к push навигации, которая больше похожа на навигацию между разными экранами.
👍8
Новый выпуск вышел в открытый доступ

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

В прошлой главе мы познакомились с NavigationStack, который управляет push навигацией и создает UIKitNavigationBar. В этой главе мы разберемся как управлять NavigationBar.
👍6
Новый выпуск для подписчиков на Boosty

В этой главе мы заканчиваем говорить о навигации в iOS приложениях и разбираем последний вид навигации - вкладки.
👍6
Новый выпуск вышел в открытый доступ

В этой главе мы разберем способ упрощенной обработки ошибок в коде.
👍6
Новый выпуск для подписчиков на Boosty

В этой главе мы спроектируем навигации в новом приложении список задач. Посмотрим, как лучше сделать навигацию, что бы приложением было удобно пользоваться.
👍6
Новый выпуск для подписчиков на Boosty

В этой главе мы создадим экраны авторизации, добавим переходы между ними, а так же добавим переход на главный флоу, который пока будет закрыт заглушкой.
👍6🤔1
Новый выпуск вышел в открытый доступ

В этой главе мы добавим в наше консольное приложение обработку ошибок.
👍4
Новый выпуск для подписчиков на Boosty

В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
👍3🥰1
Новый выпуск для подписчиков на Boosty

В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
👍4
Я.Субботник по мобильной разработке — 16 сентября!

Привет! 16 сентября Яндекс проводит большой митап по мобильной разработке, где разработчики расскажут о своих сервисах и технологиях, с которыми работают. Вас ждёт:

— 5 технических докладов от разработчиков Яндекса;
— Нетворкинг как в офлайне, так и для онлайн-зрителей;
— Видеотрансляция и доклады в открытом доступе сразу же после выступлений.

В этот раз мы собираем сообщество сразу в двух городах — в Москве и в Белграде! Выбирайте подходящий для вас город участия, оставляйте заявку, а мы рассмотрим все анкеты и пришлём приглашение на очную встречу или на онлайн-трансляцию😉

Ждём ваши заявки!
Программа и регистрация
👍4
Новый выпуск вышел в открытый доступ

В этой главе мы разберемся с последней крупной концепцией в Swift — замыканиями (Closures). Узнаем, как можно хранить функции в переменных, а также передавать их в другие функции.
👍7
Новый выпуск для подписчиков на Boosty

В этой главе мы создадим экран добавления новой задачи
👍3
Новый выпуск для подписчиков на Boosty

В этой главе мы разберемся зачем нужны LazyVStack и LazyHStack, чем они отличаются от обычных стеков и когда их нужно применять.
👍5
Что нового в Swift

Ссылка на wwdc

▶️ Условные операторы (if, switch) теперь выражения

Это значит, что они могут возвращать значения, как то так:

let result = if b < a { 2 } else { 3 }

Особенно это интересно вместе с if case

enum Error {
case network(Int)
case unlnown
}

let error = Error.network(1)

let code = if case .network(let code) = error { code } else { nil }

▶️ Улучшения в ResultBuilder

⭐️ ускорен вывод типов
⭐️ улучшено автодополнение
⭐️ более понятные сообщения об ошибках

▶️ Вариадик (packed) дженерики

позволит описывать переменное число аргументов, разного типа

было:

func evaluate<R1, R2>(_:_:) -> (R1, R2)
func evaluate<R1, R2, R3>(_:_:_:) -> (R1, R2, R3)

стало:

func evaluate<each Result>(_: repeat Request<each Result>) -> (repeat each Result)

▶️ Макросы

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

⭐️ генерировать классы, структуры, перечисления
⭐️ методы, конструкторы, функции
⭐️ выполнять код во время компиляции

впереди нас ждут и автоматические DI контейнеры, и ORM, и генерация сетевого слоя по структурам, и другие замечательные вещи

▶️ Foundation написанная на Swift

утверждают что стало быстрее, но главное даже не это, а то что swift теперь имеет свою утилити библиотеку, и теперь для работы с календарем, json, и кучей других вещей в проект не будет тащиться objc

▶️ Не копируемые value types

то есть, в swift, теперь, есть, структуры, которые, НЕ БУДУТ КОПИРОВАТЬСЯ при присвоении, вот такие дела

у них будет деструктор, проверка на владение, и наш язык стал еще сложнее

честно, лучше бы уже как в rust, чем вот так

▶️ Интероп с C++

в swift теперь можно напрямую вызывать код написанный на C++

в общем то довольно бесполезная штука для рядовых разработчиков, но кто-то определенно обрадуется, хотя я бы предпочел интероп с растом)

#lazywwdc
👍113
Новый выпуск вышел в открытый доступ

В главе "Циклы и массивы, практика" мы решали разные простые задачки, чтобы лучше понять, как работают массивы и циклы. Тогда же мы упоминали о том, что в реальной iOS-разработке программисты так не делают. Сейчас мы увидим, как Swift упрощает работу с массивами, и решим те же задачи более простыми способами.
🔥61
Новый выпуск для подписчиков на Boosty

В этой главе мы разберемся с еще одним списком, представленным компонентом List, выясним зачем он нужен и чем отличается от ленивых стэков.
👍7
Новый выпуск для подписчиков на Boosty

В этой главе мы разберемся последними UI элементом, который может выводить большое количество дочерних элементов: LazyVGrid и LazyHGrid. Они почти как ленивые стэки, только сетки.
👍71