The System Design Primer — огромная коллекция ресурсов для создания сложных систем
Навык масштабируемых проектов приходит с опытом. Пожалуй, это одна из тех частей, которую без практики прокачать необычайно сложно.
Даже на собеседованиях, если вас просят спроектировать что-то, обычно не ожидают разбора структуры проекта на несколько уровней вглубь (либо это будет очень долгое собеседование, а не приключение на 15 минут).
Нашёл замечательный опенсорсный репозиторий (288 000 звёзд), в котором комьюнити не только разбирает сложные (и популярные) приложения, но и делится примерами для проектирования таких систем.
🛠 Фантастический ресурс на GitHub.
😃 iOS Dev
Навык масштабируемых проектов приходит с опытом. Пожалуй, это одна из тех частей, которую без практики прокачать необычайно сложно.
Даже на собеседованиях, если вас просят спроектировать что-то, обычно не ожидают разбора структуры проекта на несколько уровней вглубь (либо это будет очень долгое собеседование, а не приключение на 15 минут).
Нашёл замечательный опенсорсный репозиторий (288 000 звёзд), в котором комьюнити не только разбирает сложные (и популярные) приложения, но и делится примерами для проектирования таких систем.
🛠 Фантастический ресурс на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
📖 Apple открыла исходный код swift-build — движка, используемого в Xcode! По сути, с его помощью выполняется сборка проектов и пакетов Swift, а также работает Swift Playground.
Если проще, теперь любая компания может создать свой GUI в качестве замены стандартному Xcode.
Ждём возобновления разработки AppCode?
P.S. Уже выкатили анонс roadmap (и приглашение поучаствовать в развитии) на официальном сайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Практические аспекты кросс-платформенной разработки: от KMM до интеграции сервисов
Довольно любопытно следить, как крупные библиотеки постепенно добавляют его поддержку.
В качестве практического примера — реализация интеграции контента между VK, OK и Дзеном. Александр Крайнов (iOS) и Дмитрий Мовчан (Android) разбирают не только архитектурные решения, но и погружаются в особенности реализации.
Обсуждение целиком можно посмотреть тут.
Довольно любопытно следить, как крупные библиотеки постепенно добавляют его поддержку.
В качестве практического примера — реализация интеграции контента между VK, OK и Дзеном. Александр Крайнов (iOS) и Дмитрий Мовчан (Android) разбирают не только архитектурные решения, но и погружаются в особенности реализации.
Обсуждение целиком можно посмотреть тут.
Для чего нужны Preferences в SwiftUI — разбор примеров
Чаще всего для реализации двусторонней привязки используется
В большинстве случаев это не является проблемой, но может привести к негативным последствиям в некоторых ситуациях.
ℹ️ Например, если нужно передать состояние глубоко вниз по иерархии, может возникнуть антипаттерн prop drilling.
В таком случае могут помочь Preferences.
📖 В этой статье на реальных примерах разбираются преимущества такого подхода, а также возможные сложности при использовании Swift 6.
😃 iOS Dev
Чаще всего для реализации двусторонней привязки используется
@State
и @Binding
(для родительской и дочерней вью). В большинстве случаев это не является проблемой, но может привести к негативным последствиям в некоторых ситуациях.
ℹ️ Например, если нужно передать состояние глубоко вниз по иерархии, может возникнуть антипаттерн prop drilling.
В таком случае могут помочь Preferences.
📖 В этой статье на реальных примерах разбираются преимущества такого подхода, а также возможные сложности при использовании Swift 6.
Please open Telegram to view this post
VIEW IN TELEGRAM
Основы работы с Core Image
В нём есть целый ряд высокопроизводительных инструментов для фото и видео (от применения фильтров до выполнения сложных операций).
📖 В этом материале можно познакомиться с основами Core Image, проследить за эволюцией фреймворка и посмотреть на примеры работы.
Кстати, в канале можно почитать про 5 способов изменить размер изображения (в том числе с помощью Core Image).
😃 iOS Dev
Core Image
это мощный фреймворк для анализа изображений и их дальнейшей обработки. В нём есть целый ряд высокопроизводительных инструментов для фото и видео (от применения фильтров до выполнения сложных операций).
📖 В этом материале можно познакомиться с основами Core Image, проследить за эволюцией фреймворка и посмотреть на примеры работы.
Кстати, в канале можно почитать про 5 способов изменить размер изображения (в том числе с помощью Core Image).
Please open Telegram to view this post
VIEW IN TELEGRAM
Реализация динамического градиента на основе среднего цвета изображения
Грамотное использование градиентов — сложная задача и для дизайнеров, и для разработчиков.
📖 В этом материале можно посмотреть на один из таких примеров.
🛠 Код проекта доступен здесь.
А ранее в канале можно было увидеть ещё один пример для плавного перехода между цветами.
😃 iOS Dev
Грамотное использование градиентов — сложная задача и для дизайнеров, и для разработчиков.
📖 В этом материале можно посмотреть на один из таких примеров.
🛠 Код проекта доступен здесь.
А ранее в канале можно было увидеть ещё один пример для плавного перехода между цветами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Локализация iOS-приложения: советы, хитрости и лучшие практики
Читатель нашего канала попросил поделиться статьёй, в которой он разбирает особенности локализации (плюрализация,
Сергей работал со многими командами и участвовал в создании нескольких мультиязычных проектов для разных аудиторий и отраслей.
📖 Поэтому рекомендую взглянуть на этот материал, и, возможно, сохранить себе некоторые советы.
Напомню, что здесь можно почитать про механику работы со String Catalogs.
😃 iOS Dev
Читатель нашего канала попросил поделиться статьёй, в которой он разбирает особенности локализации (плюрализация,
canInflect
и форматирование разных типов данных).Сергей работал со многими командами и участвовал в создании нескольких мультиязычных проектов для разных аудиторий и отраслей.
📖 Поэтому рекомендую взглянуть на этот материал, и, возможно, сохранить себе некоторые советы.
Напомню, что здесь можно почитать про механику работы со String Catalogs.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создаём эффекты как в Apple Invites
Буквально неделю назад вышло новое приложение от Apple. Если вы задумывались, как можно реализовать анимацию с параллаксом при скролле (или вновь узнать немного больше о шейдерах), то с радостью делюсь проектом с официального сайта.
📖 В этом проекте можно посмотреть на разные эффекты при скролле, работу с цветами, кастомные переходы и расширенные эффекты с помощью шейдеров и рендеринга текста.
📺 Реализация вдохновлена этой сессией с WWDC24.
Кстати, в базе есть примеры более сложных шейдеров (💰 тут и ⭐️ тут).
😃 iOS Dev
Буквально неделю назад вышло новое приложение от Apple. Если вы задумывались, как можно реализовать анимацию с параллаксом при скролле (или вновь узнать немного больше о шейдерах), то с радостью делюсь проектом с официального сайта.
📖 В этом проекте можно посмотреть на разные эффекты при скролле, работу с цветами, кастомные переходы и расширенные эффекты с помощью шейдеров и рендеринга текста.
📺 Реализация вдохновлена этой сессией с WWDC24.
Кстати, в базе есть примеры более сложных шейдеров (
Please open Telegram to view this post
VIEW IN TELEGRAM
Умение доносить свои мысли
Печально наблюдать, как довольно часто в современном IT тарабарщину принимают за высокий скилл, а набор противоречащих друг другу заявлений за истину.
Я вижу, как посты редактируются после первого же комментария, как люди в публичном поле, имеющие приличный вес в сообществе, меняют их, удаляют и как ни в чём не бывало считают, что вводить тысячи читателей в заблуждение — это ок.
Поверьте, всегда можно отличить практика от того, кто это имитирует.
Всегда можно отличить знание от повторения.
Практикуйтесь в технической части. Решайте сложные задачи.
Формируйте собственное мнение.
😃 iOS Dev
Печально наблюдать, как довольно часто в современном IT тарабарщину принимают за высокий скилл, а набор противоречащих друг другу заявлений за истину.
Я вижу, как посты редактируются после первого же комментария, как люди в публичном поле, имеющие приличный вес в сообществе, меняют их, удаляют и как ни в чём не бывало считают, что вводить тысячи читателей в заблуждение — это ок.
Поверьте, всегда можно отличить практика от того, кто это имитирует.
Всегда можно отличить знание от повторения.
Практикуйтесь в технической части. Решайте сложные задачи.
Формируйте собственное мнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Игра «Жизнь» Конвея: реализация c использованием MetalKit
📖 Пост про автомат Конвея (и даже пример реализации на Swift) уже был в нашем канале.
Эндрю Глейв показал, как можно сделать визуализацию с использованием vertex & fragment шейдеров.
🛠 Код доступен на Github.
😃 iOS Dev
📖 Пост про автомат Конвея (и даже пример реализации на Swift) уже был в нашем канале.
Эндрю Глейв показал, как можно сделать визуализацию с использованием vertex & fragment шейдеров.
🛠 Код доступен на Github.
Please open Telegram to view this post
VIEW IN TELEGRAM
Objective-C всё ещё сохраняет лидирующую позицию с уровнем в 350к, Swift вплотную подобрался к 300 000.
Медианная зарплата в IT — 180 000 ₽, это на 19% больше первого полугодия 2024.
📖 Полные результаты исследования здесь, сравнить тенденцию изменений можно с этим постом.
Please open Telegram to view this post
VIEW IN TELEGRAM
NSAttributedString: создание, редактирование и управление атрибутами
UILabel стоит больше, чем вы думаете — это не просто утверждение, а факт. Если вы работали с большим количеством стилей, то эта тема может быть очень близка. А когда мы говорим про что-то более производительное, нет иного варианта, кроме как уйти к Core Text.
Несмотря на это, работа со строками встречается постоянно, в любых приложениях - поэтому знать особенности и способы редактирования полезно.
📖 В этой статье доступно изложены варианты работы с разными атрибутами (создание кликабельных ссылок, параграфов, вложений-картинок и не только).
Приятно, что автор понимает издержки и указывает про возможность кэширования таких строк.
😃 iOS Dev
UILabel стоит больше, чем вы думаете — это не просто утверждение, а факт. Если вы работали с большим количеством стилей, то эта тема может быть очень близка. А когда мы говорим про что-то более производительное, нет иного варианта, кроме как уйти к Core Text.
Несмотря на это, работа со строками встречается постоянно, в любых приложениях - поэтому знать особенности и способы редактирования полезно.
📖 В этой статье доступно изложены варианты работы с разными атрибутами (создание кликабельных ссылок, параграфов, вложений-картинок и не только).
Приятно, что автор понимает издержки и указывает про возможность кэширования таких строк.
Please open Telegram to view this post
VIEW IN TELEGRAM