Как улучшать архитектурные навыки в ежедневных задачах по программированию
Я предложил 3 упражнения, которые вы можете выполнять в рамках каждой задачи разработки, которую вы выполняете, и которые помогут вам улучшить свои архитектурные навыки.
1. Найдите 2 или более решения для каждой проблемы
2. Составьте список компромиссов и выберите решение
3. Техническое обсуждение с нетехническим человеком
Статья на русском: https://apptractor.ru/info/articles/kak-uluchshat-arhitekturnye-navyki-v-ezhednevnyh-zadachah-po-programmirovaniyu.htmll
Статья на англ: https://levelup.gitconnected.com/how-to-improve-software-architecture-skills-daily-6f362d4e6493
Платформа: разработка
👋: 1.5К
Я предложил 3 упражнения, которые вы можете выполнять в рамках каждой задачи разработки, которую вы выполняете, и которые помогут вам улучшить свои архитектурные навыки.
1. Найдите 2 или более решения для каждой проблемы
2. Составьте список компромиссов и выберите решение
3. Техническое обсуждение с нетехническим человеком
Статья на русском: https://apptractor.ru/info/articles/kak-uluchshat-arhitekturnye-navyki-v-ezhednevnyh-zadachah-po-programmirovaniyu.htmll
Статья на англ: https://levelup.gitconnected.com/how-to-improve-software-architecture-skills-daily-6f362d4e6493
Платформа: разработка
👋: 1.5К
Mamazu - проект, направленный на улучшение условий жизни бездомных животных. Написан на Swift и SwiftUI.
GitHub: https://github.com/SeRcCaN/Mamazu
Платформа: iOS
⭐️: 7
GitHub: https://github.com/SeRcCaN/Mamazu
Платформа: iOS
⭐️: 7
Compose Arcade - пример кроссплатформенной игры на Kotlin Multiplatform и Compose. Судоку работает на Android и Win/Linux/MacOS с 99% общего кода.
GitHub: https://github.com/aaronoe/ComposeArcade
Платформа: Android
⭐️: 10
GitHub: https://github.com/aaronoe/ComposeArcade
Платформа: Android
⭐️: 10
AHDownloadButton - кнопка загрузки, как в Apple App Store (начиная с iOS 11). С анимацией загрузки, переходами между состояниями (начало, ожидание, загрузка и скачанный файл), массой настроек.
GitHub: https://github.com/amerhukic/AHDownloadButton
Платформа: iOS
⭐️: 383
GitHub: https://github.com/amerhukic/AHDownloadButton
Платформа: iOS
⭐️: 383
Tuist: Xcode-проект на стероидах
Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках. К тому же Xcode не предоставляет каких-либо решений для реализации потенциала модульных проектов, что снижает интерес к теме модуляризации среди iOS-разработчиков.
Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается. Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.
Статья на русском: https://habr.com/ru/company/hh/blog/564988/
Платформа: iOS
⬆️: +9
Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках. К тому же Xcode не предоставляет каких-либо решений для реализации потенциала модульных проектов, что снижает интерес к теме модуляризации среди iOS-разработчиков.
Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается. Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.
Статья на русском: https://habr.com/ru/company/hh/blog/564988/
Платформа: iOS
⬆️: +9
Как стать Ассоциированным Android-разработчиком (Kotlin)
Если вы разработчик Android, возможно, вы слышали о сертификации Associate Android Developer. Эта программа - единственная известная сертификация, организованная Google для разработчиков Android. Недавно у меня появилась возможность лично пройти сертификацию. Перед регистрацией я поискал в Интернете, чтобы получить общее представление о процессе. Большинство существующих руководств были устаревшими, поэтому они мне не помогли. В этой статье я хотел бы поделиться своим опытом и советами/рекомендациями, которые помогут сделать процесс сертификации более плавным.
Статья на Medium: https://apptractor.ru/aad
Платформа: Android
👋: 80
Если вы разработчик Android, возможно, вы слышали о сертификации Associate Android Developer. Эта программа - единственная известная сертификация, организованная Google для разработчиков Android. Недавно у меня появилась возможность лично пройти сертификацию. Перед регистрацией я поискал в Интернете, чтобы получить общее представление о процессе. Большинство существующих руководств были устаревшими, поэтому они мне не помогли. В этой статье я хотел бы поделиться своим опытом и советами/рекомендациями, которые помогут сделать процесс сертификации более плавным.
Статья на Medium: https://apptractor.ru/aad
Платформа: Android
👋: 80
WalkThroughAndroid - библиотека для создания красивых экранов онбординга. Ключевые преимущества описывают так: простота внедрения, анимация контента, анимация индикатора листания, настраиваемый заголовок и описание, картинки из drawable или URL, поддержка Activity и Fragment.
GitHub: https://github.com/Mindinventory/Walk-Through-Screen
Платформа: Android
⭐️: 20
GitHub: https://github.com/Mindinventory/Walk-Through-Screen
Платформа: Android
⭐️: 20
Пишем свой профайлер для анализа производительности приложения на Android
По мере развития приложения стоит проводить его аудит для выявления неявных деградаций в производительности. Недавно я проводил аудит раздела комментариев iFunny и написал собственный профайлер. Он не заменит имеющиеся на рынке инструменты Android Profile из Android Studio, Battery Historian и Systrace, но обладает рядом плюсов.
Статья на Хабре: https://apptractor.ru/aprfl
Платформа: Android
⬆️: +29
По мере развития приложения стоит проводить его аудит для выявления неявных деградаций в производительности. Недавно я проводил аудит раздела комментариев iFunny и написал собственный профайлер. Он не заменит имеющиеся на рынке инструменты Android Profile из Android Studio, Battery Historian и Systrace, но обладает рядом плюсов.
Статья на Хабре: https://apptractor.ru/aprfl
Платформа: Android
⬆️: +29
Урок UIBezierPath: как нарисовать Cuphead
Рисование с помощью BezierPath только выглядит сложным. Но даже с простой техникой из этого поста вы легко сможете создавать сложные изображения, как на рисунке выше. Вам просто нужно увидеть простые кривые, линии и формы внутри сложных фигур, которые вам нужны.
Статья на Medium: https://apptractor.ru/UIBzPL
Платформа: iOS
👋: 637
Рисование с помощью BezierPath только выглядит сложным. Но даже с простой техникой из этого поста вы легко сможете создавать сложные изображения, как на рисунке выше. Вам просто нужно увидеть простые кривые, линии и формы внутри сложных фигур, которые вам нужны.
Статья на Medium: https://apptractor.ru/UIBzPL
Платформа: iOS
👋: 637
This media is not supported in your browser
VIEW IN TELEGRAM
Glideshow - делает слайд-шоу с анимированными переходами (на основе CollectionView).
GitHub: https://github.com/v15a1/Glideshow
Платформа: iOS
⭐️: 51
GitHub: https://github.com/v15a1/Glideshow
Платформа: iOS
⭐️: 51
Google Play будет работать с App Bundle, вместо APK
Google Play с августа 2021 года начнет требовать, чтобы новые приложения публиковались в виде Android App Bundle. Он заменит APK в качестве стандартного формата публикации.
Google Play использует пакеты приложений для создания и оптимизации APK-файлов для различных конфигураций устройств и языков. Это делает ваше приложение меньше (в среднем на 15% меньше, чем универсальный APK) и ускоряет загрузку, что может привести к увеличению количества установок и меньшему количеству удалений.
Описание от Google: https://apptractor.ru/aabndl
Платформа: Android
Google Play с августа 2021 года начнет требовать, чтобы новые приложения публиковались в виде Android App Bundle. Он заменит APK в качестве стандартного формата публикации.
Google Play использует пакеты приложений для создания и оптимизации APK-файлов для различных конфигураций устройств и языков. Это делает ваше приложение меньше (в среднем на 15% меньше, чем универсальный APK) и ускоряет загрузку, что может привести к увеличению количества установок и меньшему количеству удалений.
Описание от Google: https://apptractor.ru/aabndl
Платформа: Android
Разработка Tizen-приложений для Samsung Smart TV
Эта статья рассказывает про удивительные приключения JS-разработчиков в мире ОС Tizen. В ней будет и пошаговая настройка рабочего окружения, и подключение «умного» телевизора Samsung вместе с пультом, и, конечно, сам процесс разработки и публикации приложения для Tizen Store — с примерами и подводными камнями.
Так что если вы разделяете мнение о том, что Javanoscript — лучший язык программирования, потому что он работает практически везде – от домашнего Smart TV до кораблей SpaceX, то добро пожаловать в это руководство.
Статья на Хабре: https://apptractor.ru/tzns
Платформа: Tizen
⬆️: +2
Эта статья рассказывает про удивительные приключения JS-разработчиков в мире ОС Tizen. В ней будет и пошаговая настройка рабочего окружения, и подключение «умного» телевизора Samsung вместе с пультом, и, конечно, сам процесс разработки и публикации приложения для Tizen Store — с примерами и подводными камнями.
Так что если вы разделяете мнение о том, что Javanoscript — лучший язык программирования, потому что он работает практически везде – от домашнего Smart TV до кораблей SpaceX, то добро пожаловать в это руководство.
Статья на Хабре: https://apptractor.ru/tzns
Платформа: Tizen
⬆️: +2
PasswordStrengthView - библиотека для Android, которая показывает надежность вводимого пользователем пароля.
GitHub: https://github.com/RHSaliya/PasswordStrengthView
Платформа: Android
⭐️: 21
GitHub: https://github.com/RHSaliya/PasswordStrengthView
Платформа: Android
⭐️: 21
Почему замена APK на Android App Bundle пугает разработчиков и экспертов
В ноябре прошлого года Google объявил, что разработчикам потребуется публиковать новые приложения в Play Store, используя формат Android App Bundle (AAB) вместо APK. На днях Google напомнил разработчикам об этом предстоящем требовании, вызвав бурю споров среди пользователей, которые считают, что Google убивает APK, запрещает стороннюю загрузку приложений, препятствует работе сторонних магазинов приложений и т.д.
В этой статье мы рассмотрим критику, которая связана с переходом на Android App Bundle, некоторые предлагаемые решения, а также об отношении Google к ним.
Статья: https://apptractor.ru/info/articles/aab-pros-cons.html
Платформа: Android
В ноябре прошлого года Google объявил, что разработчикам потребуется публиковать новые приложения в Play Store, используя формат Android App Bundle (AAB) вместо APK. На днях Google напомнил разработчикам об этом предстоящем требовании, вызвав бурю споров среди пользователей, которые считают, что Google убивает APK, запрещает стороннюю загрузку приложений, препятствует работе сторонних магазинов приложений и т.д.
В этой статье мы рассмотрим критику, которая связана с переходом на Android App Bundle, некоторые предлагаемые решения, а также об отношении Google к ним.
Статья: https://apptractor.ru/info/articles/aab-pros-cons.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Tooltip - этот пакет предоставляет вам простой способ отображать всплывающие подсказки в любом представлении SwiftUI.
GitHub: https://github.com/quassummanus/SwiftUI-Tooltip
Платформа: iOS
⭐️: 24
GitHub: https://github.com/quassummanus/SwiftUI-Tooltip
Платформа: iOS
⭐️: 24
Как спроектировать систему для ваших первых 100 миллионов пользователей
Нелегко спроектировать систему, поддерживающую сотни миллионов пользователей. Это всегда большая проблема для архитектора программного обеспечения. Вот несколько тем, затронутых мной в этой статье.
• Начните с самого простого: все в одном
• Искусство масштабирования: масштабирование внутри, масштабирование снаружи
• Масштабирование реляционной базы данных: репликация master-slave, репликация master-master, федерация, сегментирование, денормализация и настройка SQL
• Какую базу данных использовать: NoSQL или SQL?
• Продвинутые концепции: кеширование, CDN, geoDNS и т.д.
Статья на Medium: https://apptractor.ru/sc100
Платформа: backend
👋: 3.3K
Нелегко спроектировать систему, поддерживающую сотни миллионов пользователей. Это всегда большая проблема для архитектора программного обеспечения. Вот несколько тем, затронутых мной в этой статье.
• Начните с самого простого: все в одном
• Искусство масштабирования: масштабирование внутри, масштабирование снаружи
• Масштабирование реляционной базы данных: репликация master-slave, репликация master-master, федерация, сегментирование, денормализация и настройка SQL
• Какую базу данных использовать: NoSQL или SQL?
• Продвинутые концепции: кеширование, CDN, geoDNS и т.д.
Статья на Medium: https://apptractor.ru/sc100
Платформа: backend
👋: 3.3K
NotyKT - это полноценное клиент-серверное приложение для создания заметок на Kotlin, созданное для демонстрации использования языка программирования Kotlin на сервере (Ktor Framework) и современных инструментах разработки Android на клиентах (Navigation Architecture и Compose UI).
GitHub: https://github.com/PatilShreyas/NotyKT
Платформа: Android
⭐️: 676
GitHub: https://github.com/PatilShreyas/NotyKT
Платформа: Android
⭐️: 676
Изменения, необходимые для работы приложения в Windows 11 через Amazon App Store
Windows 11 позволит пользователям устанавливать приложения для Android через Amazon App Store. В этой статье рассказывается, как и какие изменения вам нужно внести, чтобы вы могли опубликовать там свой проект, чтобы пользователи могли устанавливать эти приложения на свои компьютеры с Windows 11.
Если у вас простое приложение без рекламы или карт, весь процесс может занять 30 минут. Шаги по публикации довольно похожи независимо от того, публикуете ли вы нативное или кроссплатформенное приложение, за исключением нескольких вещей.
Статья на Medium: https://apptractor.ru/w11and
Платформа: Android/Windowds
👋: 8
Windows 11 позволит пользователям устанавливать приложения для Android через Amazon App Store. В этой статье рассказывается, как и какие изменения вам нужно внести, чтобы вы могли опубликовать там свой проект, чтобы пользователи могли устанавливать эти приложения на свои компьютеры с Windows 11.
Если у вас простое приложение без рекламы или карт, весь процесс может занять 30 минут. Шаги по публикации довольно похожи независимо от того, публикуете ли вы нативное или кроссплатформенное приложение, за исключением нескольких вещей.
Статья на Medium: https://apptractor.ru/w11and
Платформа: Android/Windowds
👋: 8
This media is not supported in your browser
VIEW IN TELEGRAM
SwipeCellKit - сдвигаемая ячейка для UITableViewCell/UICollectionViewCell, как в оригинальном почтовом приложении Apple. Поддерживает левые и правые свайпы, кнопки с изображениями, тактильный отклик, кастомные анимации, темный режим и т.п.
GitHub: https://github.com/SwipeCellKit/SwipeCellKit
Платформа: iOS
⭐️: 5.6К
GitHub: https://github.com/SwipeCellKit/SwipeCellKit
Платформа: iOS
⭐️: 5.6К
Глубокое погружение в Server-Driven UI систему Airbnb
Погружение не очень глубокое, но в целом стать про то, как устроен Server-Driven UI в Airbnb. Ghost Platform (GP) — это унифицированная, управляемая сервером система пользовательского интерфейса, которая позволяет компании быстро выполнять итерации и безопасно запускать функции в веб, iOS и Android.
Перевод: https://apptractor.ru/bnbsduir
Статья на Medium: https://apptractor.ru/bnbsdui
Платформа: разработка
👋: 1.3К
Погружение не очень глубокое, но в целом стать про то, как устроен Server-Driven UI в Airbnb. Ghost Platform (GP) — это унифицированная, управляемая сервером система пользовательского интерфейса, которая позволяет компании быстро выполнять итерации и безопасно запускать функции в веб, iOS и Android.
Перевод: https://apptractor.ru/bnbsduir
Статья на Medium: https://apptractor.ru/bnbsdui
Платформа: разработка
👋: 1.3К
Современное состояние DevOps в iOS
Один из основных аспектов разработки программного обеспечения - его качество. Благодаря DevOps применение лучших практик и методов разработки качественного ПО стало еще проще.
Сам термин DevOps (разработка и эксплуатация) никогда не был четко определен. В нем объединяется несколько аспектов жизненного цикла каждого программного продукта. Основная цель, которую стремится достичь каждый DevOps-инженер - обеспечить непрерывную и быструю доставку продукта с максимально возможным качеством.
В настоящее время компании и клиенты, занимающиеся разработкой мобильных приложений, ориентированы на быструю поставку продуктов, а качество часто игнорируется. DevOps - хорошее решение для быстрой и гибкой разработки продуктов, поскольку оно объединяет потребность и в скорости, и в качестве конечного продукта.
Статья на Medium: https://apptractor.ru/iosdvps
Платформа: iOS/DevOps
👋: 897
Один из основных аспектов разработки программного обеспечения - его качество. Благодаря DevOps применение лучших практик и методов разработки качественного ПО стало еще проще.
Сам термин DevOps (разработка и эксплуатация) никогда не был четко определен. В нем объединяется несколько аспектов жизненного цикла каждого программного продукта. Основная цель, которую стремится достичь каждый DevOps-инженер - обеспечить непрерывную и быструю доставку продукта с максимально возможным качеством.
В настоящее время компании и клиенты, занимающиеся разработкой мобильных приложений, ориентированы на быструю поставку продуктов, а качество часто игнорируется. DevOps - хорошее решение для быстрой и гибкой разработки продуктов, поскольку оно объединяет потребность и в скорости, и в качестве конечного продукта.
Статья на Medium: https://apptractor.ru/iosdvps
Платформа: iOS/DevOps
👋: 897