Как вы проводите свободное время?

Ответ

Основное хобби — углубленное изучение технологий, связанных с iOS-разработкой. Это включает:

  • Практику с новыми фреймворками: Экспериментирую с SwiftUI, Combine и современными архитектурами, создавая pet-проекты.
  • Участие в open-source: Делаю вклад в проекты на GitHub, что помогает понимать код других и улучшать свои навыки code review.
  • Написание статей: Систематизирую знания, объясняя сложные концепции, что укрепляет собственное понимание.

Пример кода — кастомный анимированный компонент SwiftUI:

struct AnimatedButton: View {
    @State private var isPressed = false

    var body: some View {
        Button("Tap me") {
            isPressed.toggle()
        }
        .scaleEffect(isPressed ? 0.9 : 1.0)
        .animation(.spring(response: 0.3, dampingFraction: 0.6), value: isPressed)
    }
}

Для баланса также увлекаюсь фотографией и путешествиями, что помогает переключать контекст и находить новые идеи для UI/UX.

Ответ 18+ 🔞

А, ну вот, значит, хобби у меня такое — вникать в эту вашу iOS-разработку до самой, блядь, печёнки. Не просто так, а с овердохуища энтузиазмом. То есть:

  • С новыми фреймворками балуюсь, как угорелый. Беру SwiftUI, Combine, всякую эту современную хуйню и начинаю лепить pet-проекты. Просто чтобы понять, на что эта штука способна и где она, сука, ломается.
  • В open-source сую свой нос. Сижу на GitHub, ищу какой-нибудь проект, читаю чужой код и думаю: «Э, сабака сука, а тут можно ж получше сделать!». Пилю пул-реквесты. Это ж лучший способ научиться не писать говнокод, когда на твои творения смотрят другие.
  • Статьи строчу. Это вообще, блядь, волшебство. Пока пытаешься объяснить какую-нибудь сложную тему другому, сам её наконец-то в своей башке укладываешь. Иначе, ёпта, как?

Вот, смотри, простой пример, как можно оживить кнопку. Ничего сверхъестественного, но приятно же, когда отзывается:

struct AnimatedButton: View {
    @State private var isPressed = false

    var body: some View {
        Button("Tap me") {
            isPressed.toggle()
        }
        .scaleEffect(isPressed ? 0.9 : 1.0)
        .animation(.spring(response: 0.3, dampingFraction: 0.6), value: isPressed)
    }
}

А то, блядь, с ума сойти можно, если только в код пялиться. Поэтому параллельно фоткаю всё, что движется и не движется, и по возможности куда-нибудь сваливаю. Новые места — они же, ёпта, голова прочищают. Сидишь потом, и внезапно придумываешь, как интерфейс для приложения сделать не как у всех пид... то есть, как сделать его оригинальным и удобным. Баланс, мать его, важнейшая штука.