Используем SwiftUI PreviewProvider для представлений UIKit
Уже попробовали SwiftUI? Нашли его восхитительным и легким в работе?
В представлениях UIKit, если вы создаете прототип дизайна в своей кодовой базе, вам нужно каждый раз перекомпилировать и пересобирать свой проект заново, чтобы увидеть результаты в симуляторе. А в SwiftUI так приятно просматривать изменения прямо в предпросмотре!
Что если мы сможем сделать что-то подобное для наших компонентов UIKit? Подобно предварительному просмотру или “горячей перезагрузке”, UIKit смог бы меняться на лету, немедленно, без трудоемкого процесса сборки и компиляции.
Перевод статьи: https://apptractor.ru/sftkit
Платформа: iOS
👋: 710
Уже попробовали SwiftUI? Нашли его восхитительным и легким в работе?
В представлениях UIKit, если вы создаете прототип дизайна в своей кодовой базе, вам нужно каждый раз перекомпилировать и пересобирать свой проект заново, чтобы увидеть результаты в симуляторе. А в SwiftUI так приятно просматривать изменения прямо в предпросмотре!
Что если мы сможем сделать что-то подобное для наших компонентов UIKit? Подобно предварительному просмотру или “горячей перезагрузке”, UIKit смог бы меняться на лету, немедленно, без трудоемкого процесса сборки и компиляции.
Перевод статьи: https://apptractor.ru/sftkit
Платформа: iOS
👋: 710
Программирование как садоводство
Сравнение с садоводством кажется весьма полезным, при таком подходе можно предугадывать некоторые следствия, и идеал работы программиста не столь разочаровывает при столкновении с реальностью. Что же в этой реальности происходит такого?
Статья: https://apptractor.ru/sdvd
Платформа: программирование
Сравнение с садоводством кажется весьма полезным, при таком подходе можно предугадывать некоторые следствия, и идеал работы программиста не столь разочаровывает при столкновении с реальностью. Что же в этой реальности происходит такого?
Статья: https://apptractor.ru/sdvd
Платформа: программирование
👍2
Pintrest Flow Layout - макет для UICollectionView в стиле Pintrest. Можно использовать разное количество колонок.
Библиотека на GitHub: https://github.com/AnasAlmomany/pintrest-flow-layout
Платформа: iOS
⭐️: 2
Библиотека на GitHub: https://github.com/AnasAlmomany/pintrest-flow-layout
Платформа: iOS
⭐️: 2
FPS не падай, девайс не грейся
В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.
В статье я расскажу, как происходило погружение во тьму, выход из неё и к каким выводам это путешествие меня привело.
Статья: https://apptractor.ru/fpsdwn
Платформа: iOS
⬆️: +41
В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.
В статье я расскажу, как происходило погружение во тьму, выход из неё и к каким выводам это путешествие меня привело.
Статья: https://apptractor.ru/fpsdwn
Платформа: iOS
⬆️: +41
Чашка кофе и экраны в приложении
Чашка кофе может существовать в пяти состояниях:
• Пустая
• Наполняемая
• Наполовину полная/пустая чашка
• Сломанная
• Полная горячего превосходного кофе!
Что если я скажу вам, что и экраны в приложениях очень похожи на такую чашку и должны учитывать все пять состояний?
Статья: https://apptractor.ru/cofe
Платформа: дизайн и прототипирование
Чашка кофе может существовать в пяти состояниях:
• Пустая
• Наполняемая
• Наполовину полная/пустая чашка
• Сломанная
• Полная горячего превосходного кофе!
Что если я скажу вам, что и экраны в приложениях очень похожи на такую чашку и должны учитывать все пять состояний?
Статья: https://apptractor.ru/cofe
Платформа: дизайн и прототипирование
Высокое качество с Android Strict Mode
StrictMode — это инструмент разработчика, который обнаруживает вещи, которые вы можете cделать случайно, но которые ухудшают работу приложения (например, доступ к диску или сети в основном потоке приложения). StrictMode обращает на них ваше внимание, чтобы вы могли их исправить.
В этом видео рассказывают как настроить Strcit Mode в Android, чтобы сделать выше приложение быстрее и без багов.
Видео: https://apptractor.ru/strmd
Платформа: Android
StrictMode — это инструмент разработчика, который обнаруживает вещи, которые вы можете cделать случайно, но которые ухудшают работу приложения (например, доступ к диску или сети в основном потоке приложения). StrictMode обращает на них ваше внимание, чтобы вы могли их исправить.
В этом видео рассказывают как настроить Strcit Mode в Android, чтобы сделать выше приложение быстрее и без багов.
Видео: https://apptractor.ru/strmd
Платформа: Android
Compose Calendar — это компонент, обрабатывающий весь рендеринг календаря и выбор даты. Благодаря гибкости, предоставляемой API, вы можете решить, как будет выглядеть календарь, библиотека будет обрабатывать правильное расположение элементов календаря и его состояние.
Библиотека на GitHub: https://github.com/boguszpawlowski/ComposeCalendar
Платформа: Android
⭐️: 58
Библиотека на GitHub: https://github.com/boguszpawlowski/ComposeCalendar
Платформа: Android
⭐️: 58
Как ускорить автотесты
ВКонтакте развиваю и ускоряю автотесты, анализирую и улучшаю инфраструктуру, создаю новые решения. При проектировании инфраструктуры для автотестов на Android приходится искать ответы на вопросы о том, где можно их запускать и где лучше это делать.
Статья: https://apptractor.ru/spdtst
Платформа: тестирование
⬆️: +21
ВКонтакте развиваю и ускоряю автотесты, анализирую и улучшаю инфраструктуру, создаю новые решения. При проектировании инфраструктуры для автотестов на Android приходится искать ответы на вопросы о том, где можно их запускать и где лучше это делать.
Статья: https://apptractor.ru/spdtst
Платформа: тестирование
⬆️: +21
Задачи с собеседований: римские цифры
Получив целое число, преобразуйте его в римскую цифру.
Пример
Платформа: задачи с собеседований
Получив целое число, преобразуйте его в римскую цифру.
Пример
Ввод: 3Решение: https://apptractor.ru/MCMXCIV
Вывод: «III»
Ввод: 4
Вывод: «IV»
Ввод: 1994
Вывод: «MCMXCIV»
Платформа: задачи с собеседований
👍1
Прогрев приложения в iOS 15
iOS 15 принесла нам много нововведений. Среди них есть системная фича Prewarming, позволяющая “прогревать” наши приложения, чтобы сократить время их запуска. Что-ж, давайте разберемся, как это работает.
Статья: https://apptractor.ru/prwrm
Платформа: iOS
iOS 15 принесла нам много нововведений. Среди них есть системная фича Prewarming, позволяющая “прогревать” наши приложения, чтобы сократить время их запуска. Что-ж, давайте разберемся, как это работает.
Статья: https://apptractor.ru/prwrm
Платформа: iOS
👍5
EasyTheme - библиотека для упрощения внедрения тем в приложения на Swift. Библиотека поддерживает iOS, macOS, tvOS, watchOS, дает полный контроль над темой, обновляет текущие View, ориентирована на протоколы и расширяема.
Библиотека на GitHub: https://github.com/onmyway133/EasyTheme
Платформа: iOS
⭐️: 227
Библиотека на GitHub: https://github.com/onmyway133/EasyTheme
Платформа: iOS
⭐️: 227
Пишите плохой код - почему вы должны это делать и чувствовать себя при этом хорошо
Любые трения вредят времени моей работы. Это снижает скорость, с которой я могу превратить неопределенность в уверенность, то есть обучение. Моя самая долгосрочная ценность создается путем обучения как можно быстрее, поскольку это множитель для всего будущего кода, который я пишу, или систем, которые я разрабатываю. Другими словами: поскольку «написание — это переписывание», программирование — это рефакторинг.
Моя самая долгосрочная ценность создается путем обучения как можно быстрее.
Вот почему вы должны писать дерьмовый код. Или, точнее, почему вы должны писать БОЛЬШЕ дерьмового кода
Статья: https://apptractor.ru/info/articles/shitty-code.html
Платформа: программирование
Любые трения вредят времени моей работы. Это снижает скорость, с которой я могу превратить неопределенность в уверенность, то есть обучение. Моя самая долгосрочная ценность создается путем обучения как можно быстрее, поскольку это множитель для всего будущего кода, который я пишу, или систем, которые я разрабатываю. Другими словами: поскольку «написание — это переписывание», программирование — это рефакторинг.
Моя самая долгосрочная ценность создается путем обучения как можно быстрее.
Вот почему вы должны писать дерьмовый код. Или, точнее, почему вы должны писать БОЛЬШЕ дерьмового кода
Статья: https://apptractor.ru/info/articles/shitty-code.html
Платформа: программирование
Экспорт UI дизайн-интерфейсов из Figma в Xcode iOS/Android Studio, в виде .xib/xml
FigmaConvertXib это инструмент для экспорта элементов дизайна из проекта Figma, в среду разработки, с точностью 90%. В результате конвертации будут созданы файлы xib / xml, и уже с помощью интерфейс редактора Xcode/Android Studio, можно будет манипулировать всеми элементами у себя коде. Если дизайн вашего проекта разрабатывается в Figma, и вы не реализуете дизайн программно, то это для вас. Для того чтобы не тратить огромное время на реализацию всех UI элементов.
Статья: https://apptractor.ru/fgmxml
Платформа: разработка
⬆️: +8
FigmaConvertXib это инструмент для экспорта элементов дизайна из проекта Figma, в среду разработки, с точностью 90%. В результате конвертации будут созданы файлы xib / xml, и уже с помощью интерфейс редактора Xcode/Android Studio, можно будет манипулировать всеми элементами у себя коде. Если дизайн вашего проекта разрабатывается в Figma, и вы не реализуете дизайн программно, то это для вас. Для того чтобы не тратить огромное время на реализацию всех UI элементов.
Статья: https://apptractor.ru/fgmxml
Платформа: разработка
⬆️: +8
👍3
Новые Tech Talks видео от Apple
Apple опубликовала ряд новых видео для разработчиков на своем сайте. Сняты они в рамках Tech Talks — виртуальной конференции, которая прошла с 25 октября по 17 декабря. В данной подборке есть, например:
• Создание и развертывание Safari Extensions для iOS
• Кастомные страницы приложений
• Оптимизация продуктовых страниц
• Развертывание iOS 15 в организации
• Советы, которые помогут избежать типовых ошибок в ревью
• Исследование и управление данными в Swift с помощью TabularData
• Работа с CloudKit Sharing
• Работа с StoreKit 2 и App Store Server API
• Новое в Metal для A15 Bionic
Видео: https://apptractor.ru/ttlksvd
Платформа: iOS
Apple опубликовала ряд новых видео для разработчиков на своем сайте. Сняты они в рамках Tech Talks — виртуальной конференции, которая прошла с 25 октября по 17 декабря. В данной подборке есть, например:
• Создание и развертывание Safari Extensions для iOS
• Кастомные страницы приложений
• Оптимизация продуктовых страниц
• Развертывание iOS 15 в организации
• Советы, которые помогут избежать типовых ошибок в ревью
• Исследование и управление данными в Swift с помощью TabularData
• Работа с CloudKit Sharing
• Работа с StoreKit 2 и App Store Server API
• Новое в Metal для A15 Bionic
Видео: https://apptractor.ru/ttlksvd
Платформа: iOS
👍1
Библиотека нашего читателя - Jugger.dart, реализация внедрения зависимостей во время компиляции для Dart и Flutter.
Библиотека на GitHub: https://github.com/ivk1800/jugger.dart
Платформа: Flutter
⭐️: 3
Библиотека на GitHub: https://github.com/ivk1800/jugger.dart
Платформа: Flutter
⭐️: 3
GitHub
GitHub - ivk1800/jugger.dart: Dependency Injection for Flutter and Dart
Dependency Injection for Flutter and Dart. Contribute to ivk1800/jugger.dart development by creating an account on GitHub.
👍1
Исследуем Material You для Jetpack Compose
В этом посте мы рассмотрим новую библиотеку Material You, доступную для Jetpack Compose, и посмотрим, как мы можем применить ее динамические цвета к Stream Chat Compose SDK для веселого, красочного и персонализированного обмена сообщениями.
Статья: https://apptractor.ru/mtrUcmpz
Платформа: Android
👋: 145
В этом посте мы рассмотрим новую библиотеку Material You, доступную для Jetpack Compose, и посмотрим, как мы можем применить ее динамические цвета к Stream Chat Compose SDK для веселого, красочного и персонализированного обмена сообщениями.
Статья: https://apptractor.ru/mtrUcmpz
Платформа: Android
👋: 145
Forwarded from Код Воробья для iOS разработчиков
Как устроен онбординг в App Store. Контроллер назвали
Заголовок “What’s New…” поместили в контейнер, хотя внутри него только лейбл. Ячейки это
Тулбар обычная вью с фоном
Иконка, текст и кнопки в тулбаре поместили в вертикальный стек. Ненормально большой отсуп снизу тулбара задан фикс значением от layoutMargins.bottom + 89.
#ViewHierarchy
OnboardingViewController
. Не оборачивали в навигейшн. Основной вью выступает не коллекция, а UIScrollView
. Заголовок “What’s New…” поместили в контейнер, хотя внутри него только лейбл. Ячейки это
UIView
, а тайтл-описание находятся в стеке.Тулбар обычная вью с фоном
UIVisualEffectView
. Текст с кнопкой "See how your data..." это UITextView
. Иконка, текст и кнопки в тулбаре поместили в вертикальный стек. Ненормально большой отсуп снизу тулбара задан фикс значением от layoutMargins.bottom + 89.
#ViewHierarchy
👍6💩1