Новый выпуск вышел в открытый доступ
В этой главе мы разберемся, как наделять наши собственные типы поведением, свойственным типам из базового набора. Например, способностью выводить подробную информацию в консоль при вызове
В этой главе мы разберемся, как наделять наши собственные типы поведением, свойственным типам из базового набора. Например, способностью выводить подробную информацию в консоль при вызове
print
или создавать из строкового литерала.👍6
Новый выпуск для подписчиков на Boosty
Начнем с более простого варианта навигации - present. Посмотрим какие способы презентовать и новый экраны существуют.
Начнем с более простого варианта навигации - present. Посмотрим какие способы презентовать и новый экраны существуют.
👍6
Новый выпуск для подписчиков на Boosty
Перейдем к push навигации, которая больше похожа на навигацию между разными экранами.
Перейдем к push навигации, которая больше похожа на навигацию между разными экранами.
👍8
Новый выпуск вышел в открытый доступ
В этой главе мы сделаем наш калькулятор более универсальным, код программы более надежным и расширяемым, а заодно попрактикуемся с протоколами.
В этой главе мы сделаем наш калькулятор более универсальным, код программы более надежным и расширяемым, а заодно попрактикуемся с протоколами.
👍6
Новый выпуск для подписчиков на Boosty
В прошлой главе мы познакомились с
В прошлой главе мы познакомились с
NavigationStack
, который управляет push навигацией и создает UIKitNavigationBar
. В этой главе мы разберемся как управлять NavigationBar
.👍6
Новый выпуск для подписчиков на Boosty
В этой главе мы заканчиваем говорить о навигации в iOS приложениях и разбираем последний вид навигации - вкладки.
В этой главе мы заканчиваем говорить о навигации в iOS приложениях и разбираем последний вид навигации - вкладки.
👍6
Новый выпуск вышел в открытый доступ
В этой главе мы разберем способ упрощенной обработки ошибок в коде.
В этой главе мы разберем способ упрощенной обработки ошибок в коде.
👍6
Новый выпуск для подписчиков на Boosty
В этой главе мы спроектируем навигации в новом приложении список задач. Посмотрим, как лучше сделать навигацию, что бы приложением было удобно пользоваться.
В этой главе мы спроектируем навигации в новом приложении список задач. Посмотрим, как лучше сделать навигацию, что бы приложением было удобно пользоваться.
👍6
Новый выпуск для подписчиков на Boosty
В этой главе мы создадим экраны авторизации, добавим переходы между ними, а так же добавим переход на главный флоу, который пока будет закрыт заглушкой.
В этой главе мы создадим экраны авторизации, добавим переходы между ними, а так же добавим переход на главный флоу, который пока будет закрыт заглушкой.
👍6🤔1
Новый выпуск вышел в открытый доступ
В этой главе мы добавим в наше консольное приложение обработку ошибок.
В этой главе мы добавим в наше консольное приложение обработку ошибок.
👍4
Новый выпуск для подписчиков на Boosty
В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
👍3🥰1
Новый выпуск для подписчиков на Boosty
В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
В этой главе мы создадим экраны вкладок, списка задач, списка даты и конкретной задачи.
👍4
Я.Субботник по мобильной разработке — 16 сентября!
Привет! 16 сентября Яндекс проводит большой митап по мобильной разработке, где разработчики расскажут о своих сервисах и технологиях, с которыми работают. Вас ждёт:
— 5 технических докладов от разработчиков Яндекса;
— Нетворкинг как в офлайне, так и для онлайн-зрителей;
— Видеотрансляция и доклады в открытом доступе сразу же после выступлений.
В этот раз мы собираем сообщество сразу в двух городах — в Москве и в Белграде! Выбирайте подходящий для вас город участия, оставляйте заявку, а мы рассмотрим все анкеты и пришлём приглашение на очную встречу или на онлайн-трансляцию😉
Ждём ваши заявки!
Программа и регистрация
Привет! 16 сентября Яндекс проводит большой митап по мобильной разработке, где разработчики расскажут о своих сервисах и технологиях, с которыми работают. Вас ждёт:
— 5 технических докладов от разработчиков Яндекса;
— Нетворкинг как в офлайне, так и для онлайн-зрителей;
— Видеотрансляция и доклады в открытом доступе сразу же после выступлений.
В этот раз мы собираем сообщество сразу в двух городах — в Москве и в Белграде! Выбирайте подходящий для вас город участия, оставляйте заявку, а мы рассмотрим все анкеты и пришлём приглашение на очную встречу или на онлайн-трансляцию😉
Ждём ваши заявки!
Программа и регистрация
👍4
Новый выпуск вышел в открытый доступ
В этой главе мы разберемся с последней крупной концепцией в Swift — замыканиями (Closures). Узнаем, как можно хранить функции в переменных, а также передавать их в другие функции.
В этой главе мы разберемся с последней крупной концепцией в Swift — замыканиями (Closures). Узнаем, как можно хранить функции в переменных, а также передавать их в другие функции.
👍7
Новый выпуск для подписчиков на Boosty
В этой главе мы разберемся зачем нужны
В этой главе мы разберемся зачем нужны
LazyVStack
и LazyHStack
, чем они отличаются от обычных стеков и когда их нужно применять.👍5
Что нового в Swift
Ссылка на wwdc
▶️ Условные операторы (if, switch) теперь выражения
Это значит, что они могут возвращать значения, как то так:
⭐️ улучшено автодополнение
⭐️ более понятные сообщения об ошибках
▶️ Вариадик (packed) дженерики
позволит описывать переменное число аргументов, разного типа
было:
лаконичное определение того, что в языке теперь возможно вообще все
⭐️ генерировать классы, структуры, перечисления
⭐️ методы, конструкторы, функции
⭐️ выполнять код во время компиляции
впереди нас ждут и автоматические DI контейнеры, и ORM, и генерация сетевого слоя по структурам, и другие замечательные вещи
▶️ Foundation написанная на Swift
утверждают что стало быстрее, но главное даже не это, а то что swift теперь имеет свою утилити библиотеку, и теперь для работы с календарем, json, и кучей других вещей в проект не будет тащиться objc
▶️ Не копируемые value types
то есть, в swift, теперь, есть, структуры, которые, НЕ БУДУТ КОПИРОВАТЬСЯ при присвоении, вот такие дела
у них будет деструктор, проверка на владение, и наш язык стал еще сложнее
честно, лучше бы уже как в rust, чем вот так
▶️ Интероп с C++
в swift теперь можно напрямую вызывать код написанный на C++
в общем то довольно бесполезная штука для рядовых разработчиков, но кто-то определенно обрадуется, хотя я бы предпочел интероп с растом)
#lazywwdc
Ссылка на 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
Apple Developer
What’s new in Swift - WWDC23 - Videos - Apple Developer
Join us for an update on Swift. We'll show you how APIs are becoming more extensible and expressive with features like parameter packs...
👍11❤3
Новый выпуск вышел в открытый доступ
В главе "Циклы и массивы, практика" мы решали разные простые задачки, чтобы лучше понять, как работают массивы и циклы. Тогда же мы упоминали о том, что в реальной iOS-разработке программисты так не делают. Сейчас мы увидим, как Swift упрощает работу с массивами, и решим те же задачи более простыми способами.
В главе "Циклы и массивы, практика" мы решали разные простые задачки, чтобы лучше понять, как работают массивы и циклы. Тогда же мы упоминали о том, что в реальной iOS-разработке программисты так не делают. Сейчас мы увидим, как Swift упрощает работу с массивами, и решим те же задачи более простыми способами.
🔥6❤1
Новый выпуск для подписчиков на Boosty
В этой главе мы разберемся с еще одним списком, представленным компонентом
В этой главе мы разберемся с еще одним списком, представленным компонентом
List
, выясним зачем он нужен и чем отличается от ленивых стэков.👍7
Новый выпуск для подписчиков на Boosty
В этой главе мы разберемся последними UI элементом, который может выводить большое количество дочерних элементов:
В этой главе мы разберемся последними UI элементом, который может выводить большое количество дочерних элементов:
LazyVGrid
и LazyHGrid
. Они почти как ленивые стэки, только сетки.👍7❤1