Опровергаю пять архитектурных заблуждений
Я хотел поделиться взглядом на заблуждения, с которыми довелось столкнуться на собственном опыте. Некоторые из них приводили не только к проблемам в коде, но и к холиварам в команде. Поэтому важно не только разобраться самим, но и синхронизировать понимание базовых понятий в команде.
1. MVC — это архитектура приложения
2. Разработка — это только написание кода
3. Бизнес-логика — это все, кроме UI
4. Самый верхний слой — это UI
5. В UI логику не держим
Статья: https://habr.com/ru/companies/tinkoff/articles/793398/
Платформа: iOS/разработка
Я хотел поделиться взглядом на заблуждения, с которыми довелось столкнуться на собственном опыте. Некоторые из них приводили не только к проблемам в коде, но и к холиварам в команде. Поэтому важно не только разобраться самим, но и синхронизировать понимание базовых понятий в команде.
1. MVC — это архитектура приложения
2. Разработка — это только написание кода
3. Бизнес-логика — это все, кроме UI
4. Самый верхний слой — это UI
5. В UI логику не держим
Статья: https://habr.com/ru/companies/tinkoff/articles/793398/
Платформа: iOS/разработка
Вопросы с собеседований: Как в Android определяется приоритет приложений перед системой
В Android система и приложения делят ресурсы устройства, такие как процессор, память и батарея. Чтобы система могла эффективно управлять этими ресурсами, каждому приложению и системному процессу назначается приоритет.
Статья: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-kak-v-android-opredelyaetsya-prioritet-prilozheniy-pered-sistemoy.html
Платформа: Android
В Android система и приложения делят ресурсы устройства, такие как процессор, память и батарея. Чтобы система могла эффективно управлять этими ресурсами, каждому приложению и системному процессу назначается приоритет.
Статья: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-kak-v-android-opredelyaetsya-prioritet-prilozheniy-pered-sistemoy.html
Платформа: Android
❤1👎1
Minimum - минималистичный лаунчер для эффективной работы. Основные моменты: улучшенный дизайн с интуитивно понятными иконками и минималистичным интерфейсом для плавной навигации, оптимизированная производительность с быстрым запуском и отзывчивой навигацией в любимых приложениях, упрощенная настройка с темами и схемами, философия минимализма в чистом и сфокусированном пользовательском опыте, улучшенная совместимость.
Minimum на GitHub: https://github.com/JunioJsv/minimum
Платформа: Android
⭐️: 17
Minimum на GitHub: https://github.com/JunioJsv/minimum
Платформа: Android
⭐️: 17
Знакомимся с пакетом Swift Algorithms
Пакет Swift Algorithms содержит множество ценных алгоритмов для работы с коллекциями и последовательностями. Охватить их в рамках одного поста практически невозможно, но я расскажу о своих любимых.
Статья: https://apptractor.ru/info/articles/znakomimsya-s-paketom-swift-algorithms.html
Платформа: iOS
Пакет Swift Algorithms содержит множество ценных алгоритмов для работы с коллекциями и последовательностями. Охватить их в рамках одного поста практически невозможно, но я расскажу о своих любимых.
Статья: https://apptractor.ru/info/articles/znakomimsya-s-paketom-swift-algorithms.html
Платформа: iOS
Rock Paper Scissor - классическая игра "камень-ножницы-бумага" в одноранговой сети. Этот проект был создан для изучения возможностей фреймворка Apple Multipeer Connectivity для создания одноранговых соединений в экосистеме Apple..
Rock Paper Scissor на GitHub: https://github.com/rational-kunal/P2P-Rock-Paper-Scissor
Платформа: iOS
⭐️: 11
Rock Paper Scissor на GitHub: https://github.com/rational-kunal/P2P-Rock-Paper-Scissor
Платформа: iOS
⭐️: 11
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что вы интересного посмотрели/послушали про разработку на этой неделе?
🌐 @AppFiles
•
(iOS Ru)
Как устроен Яндекс Go и зачем работать со студентами и стажерами•
(iOS Ru)
Навигация в SwiftUI•
(iOS En)
Self vs self in Swift – Find out the differences with practical examples•
(iOS En)
SwiftConf ’23 Videos•
(iOS En)
SwiftUI Minimal Todo List With SwiftData & Interactive Widgets•
(iOS En)
SwiftUI CoverFlow•
(iOS En)
Making it Rain – Advanced Special Effects with SwiftUI•
(iOS En)
Pop to Root View When TabView Item is Pressed•
(iOS En)
SwiftData & CloudKit: See How To Add Syncing In Your Apps•
(And Ru)
Многомодульность для UI-тестов•
(And Ru)
Как мы создавали дизайн-систему на Jetpack Compose•
(And Ru)
Как мы автоматизировали генерацию Baseline Profile•
(And Ru)
Кто-то съел мою память на CI!•
(And Ru)
Верхнеуровневый обзор архитектуры CI/CD мобильного приложения•
(And En)
BasicTextField2 - Everything You Need to Know•
(And En)
THIS New Modifier in Compose 1.7.0 Is Amazing!•
(And En)
Mastering Code Quality: A Deep Dive into Custom Linting for Android Developers with Gopal•
(And En)
How to integrate Google sign-in with Credential Manager on Jetpack Compose with Supabase Auth•
(Crs Ru)
Вызовы масштабируемости Kotlin Multiplatform на большом проекте•
(Crs En)
The State of React Native•
(Dev Ru)
Как затащить новую технологию•
(Dev Ru)
Как увольнять людей?•
(Dev En)
Pkl: Apple’s New JSON/YAML Killer•
(Dev En)
Firestore Multiple Databases now generally available, Go 1.22, and more dev news!Что вы интересного посмотрели/послушали про разработку на этой неделе?
🌐 @AppFiles
AppTractor
Как устроен Яндекс Go и зачем работать со студентами и стажерами
В гостях Любовь Полянская, iOS-разработчик Яндекс Go. Поговорили про то, как работать с гео и не заказывать такси для нужд разработки, что ребята делают для помощи водителям и пользователям, чтобы найти друг друга. Затронули процессы разработки супераппа…
Vico - это легкая и расширяемая библиотека для построения графиков в Android. Она совместима как с Jetpack Compose, так и с системой представлений, но два ее основных модуля - compose и views - являются независимыми.
Vico на GitHub: https://github.com/patrykandpatrick/vico
Платформа: Android
⭐️: 1.5K
Vico на GitHub: https://github.com/patrykandpatrick/vico
Платформа: Android
⭐️: 1.5K
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем анимированные переходы с помощью Matched Geometry Effect в SwiftUI
В SwiftUI мы можем создавать плавные переходы между экранами, из одного состояния в другое, с помощью Matched Geometry Effect (эффект совпадающей геометрии). Используя уникальные идентификаторы, мы можем смешивать геометрию двух видов с одним и тем же идентификатором, создавая анимированный переход. Подобные переходы могут быть полезны для навигации или изменения состояния элементов пользовательского интерфейса.
Статья: https://apptractor.ru/info/articles/sozdaem-animirovannye-perehody-s-pomoschyu-matched-geometry-effect-v-swiftui.html
Платформа: iOS
В SwiftUI мы можем создавать плавные переходы между экранами, из одного состояния в другое, с помощью Matched Geometry Effect (эффект совпадающей геометрии). Используя уникальные идентификаторы, мы можем смешивать геометрию двух видов с одним и тем же идентификатором, создавая анимированный переход. Подобные переходы могут быть полезны для навигации или изменения состояния элементов пользовательского интерфейса.
Статья: https://apptractor.ru/info/articles/sozdaem-animirovannye-perehody-s-pomoschyu-matched-geometry-effect-v-swiftui.html
Платформа: iOS
Собирательный образ Junior Android Developer. Какой он в 2024?
В этой статье мы поговорим про разработку на платформе Android, рассмотрим на что может рассчитывать Junior Android Developer и какие навыки ему для этого потребуются. Кроме того, предоставим ресурсы и материалы, которые помогут в приобретении необходимых навыков.
Статья: https://habr.com/ru/articles/793366/
Платформа: Android
В этой статье мы поговорим про разработку на платформе Android, рассмотрим на что может рассчитывать Junior Android Developer и какие навыки ему для этого потребуются. Кроме того, предоставим ресурсы и материалы, которые помогут в приобретении необходимых навыков.
Статья: https://habr.com/ru/articles/793366/
Платформа: Android
🔥1
Figma Preview - это библиотека Swift, предназначенная для упрощения интеграции макетов Figma в Xcode Preview. Она позволяет разработчикам просматривать компоненты пользовательского интерфейса непосредственно из файлов Figma, способствуя более плавному переходу от дизайна к коду и обеспечивая точное соответствие пользовательского интерфейса вашего приложения спецификациям дизайна.
Figma Preview на GitHub: https://github.com/artemnovichkov/figma-preview
Платформа: iOS
⭐️: 20
Figma Preview на GitHub: https://github.com/artemnovichkov/figma-preview
Платформа: iOS
⭐️: 20
Сквозное тестирование с помощью шаблона Робот и Jetpack Compose
В этой статье я хочу показать вам, как систематизировать написание сквозных (end-to-end) тестов с помощью шаблона робот. Я поделюсь с вами шаблоном, чтобы сэкономить ваше время, и расскажу, как расширять его с помощью других роботов. В конце я хочу поделиться некоторыми советами и выводами после внедрения этого шаблона.
Статья: https://apptractor.ru/info/articles/skvoznoe-testirovanie-s-pomoschyu-shablona-robot-i-jetpack-compose.html
Платформа: Android
В этой статье я хочу показать вам, как систематизировать написание сквозных (end-to-end) тестов с помощью шаблона робот. Я поделюсь с вами шаблоном, чтобы сэкономить ваше время, и расскажу, как расширять его с помощью других роботов. В конце я хочу поделиться некоторыми советами и выводами после внедрения этого шаблона.
Статья: https://apptractor.ru/info/articles/skvoznoe-testirovanie-s-pomoschyu-shablona-robot-i-jetpack-compose.html
Платформа: Android
Как мы сократили время запуска нашего iOS-приложения на 60%
В этой статье мы рассмотрим три отдельные оптимизации, которые сократили время, необходимое для запуска нашего iOS-приложения, на 60%. Мы определили эти возможности, используя проприетарные инструменты повышения производительности, но инструменты Xcode или DTrace также могут быть подходящими альтернативами.
Статья: https://apptractor.ru/info/articles/kak-my-sokratili-vremya-zapuska-nashego-ios-prilozheniya-na-60.html
Платформа: iOS
В этой статье мы рассмотрим три отдельные оптимизации, которые сократили время, необходимое для запуска нашего iOS-приложения, на 60%. Мы определили эти возможности, используя проприетарные инструменты повышения производительности, но инструменты Xcode или DTrace также могут быть подходящими альтернативами.
Статья: https://apptractor.ru/info/articles/kak-my-sokratili-vremya-zapuska-nashego-ios-prilozheniya-na-60.html
Платформа: iOS
Вопросы с собеседований: что такое ARC (Automatic Reference Counting)
ARC (Automatic Reference Counting) - это механизм управления памятью в языке программирования Swift, который автоматически отслеживает и управляет использованием памяти для объектов. ARC отслеживает количество ссылок на объект и автоматически освобождает память, когда объект больше не имеет ни одной ссылки на него.
Ответ: https://apptractor.ru/info/techhype/arc.html
Платформа: iOS
ARC (Automatic Reference Counting) - это механизм управления памятью в языке программирования Swift, который автоматически отслеживает и управляет использованием памяти для объектов. ARC отслеживает количество ссылок на объект и автоматически освобождает память, когда объект больше не имеет ни одной ссылки на него.
Ответ: https://apptractor.ru/info/techhype/arc.html
Платформа: iOS
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
PhotoView - это компонент ImageView для Android, который обеспечивает функцию зума с помощью различных жестов. Этот форк другой библиотеки, но целью создания PhotoView является синхронизация с новой библиотекой AndroidX, исправление ошибок, расширение возможностей и распространение пакета через Maven Central вместо Jitpack.
PhotoView на GitHub: https://github.com/GetStream/photoview-android
Платформа: Android
⭐️: 130
PhotoView на GitHub: https://github.com/GetStream/photoview-android
Платформа: Android
⭐️: 130
😁2
Добавляем SharePlay в iOS-приложение
Мне пришлось немало потрудиться, чтобы заставить все работать, и я обнаружил, что документация Apple по настройке сессий SharePlay скудная и немного запутанная. По этой причине я решил написать исчерпывающее руководство по настройке сеанса SharePlay, в котором собраны все мои находки.
Статья: https://apptractor.ru/info/articles/dobavlyaem-shareplay-v-ios-prilozhenie.html
Платформа: iOS
Мне пришлось немало потрудиться, чтобы заставить все работать, и я обнаружил, что документация Apple по настройке сессий SharePlay скудная и немного запутанная. По этой причине я решил написать исчерпывающее руководство по настройке сеанса SharePlay, в котором собраны все мои находки.
Статья: https://apptractor.ru/info/articles/dobavlyaem-shareplay-v-ios-prilozhenie.html
Платформа: iOS
👍2
Двигай рукой справа налево: адаптация интерфейса в Android приложении под RTL в XML и Jetpack Compose
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о том как адаптировать интерфейс в мобильном приложении под RTL в XML и Jetpack Compose. Вы узнаете, об особенностях RTL интерфейсов, отличиях поддержки RTL в XML и Jetpack Compose, и о том как поддержка RTL может привлечь новых пользователей.
Статья: https://habr.com/ru/articles/791926/
Платформа: Android
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о том как адаптировать интерфейс в мобильном приложении под RTL в XML и Jetpack Compose. Вы узнаете, об особенностях RTL интерфейсов, отличиях поддержки RTL в XML и Jetpack Compose, и о том как поддержка RTL может привлечь новых пользователей.
Статья: https://habr.com/ru/articles/791926/
Платформа: Android
Vortex - это мощная, высокопроизводительная библиотека для создания системы частиц на SwiftUI, позволяющая создавать такие красивые эффекты, как огонь, дождь, дым и снег, всего в несколько строк кода. Vortex идет с рядом встроенных эффектов, таких как фейерверк, конфетти и другие, но вы также можете создавать полностью свои эффекты, которые соответствуют вашим потребностям. Этот фреймворк совместим с iOS, macOS, tvOS, watchOS и visionOS.
Vortex на GitHub: https://github.com/twostraws/Vortex
Платформа: iOS
⭐️: 734
Vortex на GitHub: https://github.com/twostraws/Vortex
Платформа: iOS
⭐️: 734
Deep dive into delegated properties: разбираемся с делегатами в Kotlin
Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации, уверен что многим будет полезно.
Статья: https://habr.com/ru/articles/795231/
Платформа: Android
Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации, уверен что многим будет полезно.
Статья: https://habr.com/ru/articles/795231/
Платформа: Android
Хабр
Deep dive into delegated properties: разбираемся с делегатами в котлин
Не так давно решил изучить официальную документацию котлина. В свое время изучал его, как и многие другие, через видосики и практику. Поэтому решил поглубже погрузиться в дебри....
Миссия выполнима: как мы создали приложение для Apple Vision Pro за 8 дней
На связи Саша Сырков из 2ГИС, и это рассказ, как чуть больше недели мы разрабатывали приложение на Vision OS, разбирались в особенностях Reality Composer Pro, ловили всевозможные текстурные баги, а в итоге всё же получили заветный апрув от Apple за 17 часов до официального открытия продаж VR-гарнитуры.
В статье хронология событий от идеи до рабочего продукта и технические подробности создания нашего первого VisionOS-приложения — краткого справочника с 3D-моделями достопримечательностей.
Статья: https://habr.com/ru/companies/2gis/articles/794777/
Платформа: iOS
На связи Саша Сырков из 2ГИС, и это рассказ, как чуть больше недели мы разрабатывали приложение на Vision OS, разбирались в особенностях Reality Composer Pro, ловили всевозможные текстурные баги, а в итоге всё же получили заветный апрув от Apple за 17 часов до официального открытия продаж VR-гарнитуры.
В статье хронология событий от идеи до рабочего продукта и технические подробности создания нашего первого VisionOS-приложения — краткого справочника с 3D-моделями достопримечательностей.
Статья: https://habr.com/ru/companies/2gis/articles/794777/
Платформа: iOS
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что вы интересного посмотрели/послушали про разработку на этой неделе?
🌐 @AppFiles
•
(iOS Ru)
Введение в разработку под Apple Vision Pro•
(iOS En)
iOS Dev's Thoughts on Working in Apple Vision Pro•
(iOS En)
How to use ContentUnavailableView in SwiftUI•
(iOS En)
How to use Grid in SwiftUI•
(iOS En)
How to use NavigationSplitView in SwiftUI•
(iOS En)
Apple Maps Bottom Sheet•
(iOS En)
65 tips to use Xcode like a PRO•
(iOS En)
Advance Map Interaction - Draggable Annotation•
(And Ru)
Новостное приложение: с нуля до публикации в Google Play. Часть 1•
(And En)
Fan’otations - Android Developers Backstage•
(And En)
derivedStateOf VS. remember(key) - THIS is Really the Difference•
(And En)
Full Beginner's Guide to the Jetpack Compose Preview in Android Studio•
(And En)
Mastering Jetpack Compose Previews - Test your UI before it tests you•
(Dev Ru)
Публичное собеседование на позицию Head of QA•
(Dev Ru)
Обязательные знания для тимлида•
(Dev Ru)
Краш-курс по автоматизации тестирования•
(Dev En)
Google Gemini AI Course for Beginners•
(Dsg Ru)
Ozon Tech Community Design MeetupЧто вы интересного посмотрели/послушали про разработку на этой неделе?
🌐 @AppFiles
AppTractor
Введение в разработку под Apple Vision Pro
В докладе спикер развеял туманность и показал специалистам, что из себя представляет разработка под visionOS.