Как написать и опубликовать идеальный пакет для Flutter
Если вы реализовали интересную фичу на Flutter и хотите поделиться с сообществом, то её стоит опубликовать на официальном сайте pub.dev.
Для публикации код нужно упаковать в пакет (Dart Package, если код написан только на Dart) или плагин (Plugin package, если используются нативные для платформы компоненты).
В этом гайде пошагово объясняется, как создать package и залить на pub.dev:
https://tprg.ru/co4r
#flutter
Если вы реализовали интересную фичу на Flutter и хотите поделиться с сообществом, то её стоит опубликовать на официальном сайте pub.dev.
Для публикации код нужно упаковать в пакет (Dart Package, если код написан только на Dart) или плагин (Plugin package, если используются нативные для платформы компоненты).
В этом гайде пошагово объясняется, как создать package и залить на pub.dev:
https://tprg.ru/co4r
#flutter
Подготовка к собеседованию iOS-разработчика: частые вопросы и задачи
На собеседованиях iOS-разработчика чаще всего спрашивают про жизненный цикл приложения, особенности Swift-кода, алгоритмы и работу с инструментами, например Xcode и GitHub.
Часть вопросов из этих тем разобраны в статье:
https://tprg.ru/S8bM
#ios
На собеседованиях iOS-разработчика чаще всего спрашивают про жизненный цикл приложения, особенности Swift-кода, алгоритмы и работу с инструментами, например Xcode и GitHub.
Часть вопросов из этих тем разобраны в статье:
https://tprg.ru/S8bM
#ios
ProgressHUD — легковесный набор элементов для интерфейса iOS-приложения
В библиотеке содержится множество анимаций загрузки и иконок для стандартных действий. Можно кастомизировать цвет, изображение, анимацию и другие опции. Написано на Swift.
Репозиторий: https://github.com/relatedcode/ProgressHUD
#ui #ios
В библиотеке содержится множество анимаций загрузки и иконок для стандартных действий. Можно кастомизировать цвет, изображение, анимацию и другие опции. Написано на Swift.
Репозиторий: https://github.com/relatedcode/ProgressHUD
#ui #ios
Советы по работе с Gradle
Обычно Android-разработчики не изучают углублённо Gradle, поскольку куски build-скриптов можно скопировать со Stack Overflow, и худо-бедно это работает.
Однако если возникнут ошибки в скриптах, то разработчик будет сложно их исправить. Поэтому к изучению Gradle стоит подходить более системно. С чего начать, рассказывается в статье:
https://tprg.ru/k0wW
#android
Обычно Android-разработчики не изучают углублённо Gradle, поскольку куски build-скриптов можно скопировать со Stack Overflow, и худо-бедно это работает.
Однако если возникнут ошибки в скриптах, то разработчик будет сложно их исправить. Поэтому к изучению Gradle стоит подходить более системно. С чего начать, рассказывается в статье:
https://tprg.ru/k0wW
#android
Полезные советы и горячие клавиши для работы с Android Studio
Разработчик из Redmadrobot поделился трюками по кастомизации среды Android Studio, чтобы писать код стало комфортнее и быстрее.
Часть советов касается размещения элементов интерфейса на 13-дюймовом ноутбуке, а также работы с Macbook:
https://youtu.be/_atetzVtK-g
#android
Разработчик из Redmadrobot поделился трюками по кастомизации среды Android Studio, чтобы писать код стало комфортнее и быстрее.
Часть советов касается размещения элементов интерфейса на 13-дюймовом ноутбуке, а также работы с Macbook:
https://youtu.be/_atetzVtK-g
#android
YouTube
Android Studio Keys and Tricks
Всегда можно стать немного продуктивнее, особенно если речь про Android Studio / IntelliJ IDEA! Вася поделился полезными советами по работе с нашей любимой IDE:
- Долой табы, navigation bar и номера строк 🗑
- Навигация без всего этого
- Как жить с touchbar?…
- Долой табы, navigation bar и номера строк 🗑
- Навигация без всего этого
- Как жить с touchbar?…
«Google Карты» теперь строят маршрут внутри зданий с помощью AR
Новая функция является дополнением к Live View, которая строит в дополненной реальности маршрут по дорогам.
Пока AR-навигация внутри помещений доступна лишь в некоторых городах США, а через несколько месяцев заработает в Цюрихе и Токио. Будет здорово, если функция будет поддерживать запутанный аэропорт Шереметьево:
https://tprg.ru/2tvn
#android
Новая функция является дополнением к Live View, которая строит в дополненной реальности маршрут по дорогам.
Пока AR-навигация внутри помещений доступна лишь в некоторых городах США, а через несколько месяцев заработает в Цюрихе и Токио. Будет здорово, если функция будет поддерживать запутанный аэропорт Шереметьево:
https://tprg.ru/2tvn
#android
13 подвохов мобильного приложения, о которых лучше знать до старта разработки
Представьте: у вас есть идея мобильного приложения, ресурсы, исследование рынка, продуманная бизнес-модель.
Вроде всё в порядке, и осталось только продумать функциональность приложения. Но... ваше приложение обитает на дне Google Play или App Store, и его никто не скачивает. Что пошло не так? Какие факторы упустили из виду?
О некоторых факторах, которые стоит учитывать ещё до начала разработки, читайте в статье:
https://tprg.ru/y7fT
#android #ios
Представьте: у вас есть идея мобильного приложения, ресурсы, исследование рынка, продуманная бизнес-модель.
Вроде всё в порядке, и осталось только продумать функциональность приложения. Но... ваше приложение обитает на дне Google Play или App Store, и его никто не скачивает. Что пошло не так? Какие факторы упустили из виду?
О некоторых факторах, которые стоит учитывать ещё до начала разработки, читайте в статье:
https://tprg.ru/y7fT
#android #ios
Google собирает в 20 раз больше телеметрии с Android-устройств, чем Apple с iOS
В исследовании рассматривался случай, когда пользователь ещё не вошёл в учётную запись на обеих системах. Кажется, пора надевать шапочку из фольги:
https://tprg.ru/nkhQ
#android #ios
В исследовании рассматривался случай, когда пользователь ещё не вошёл в учётную запись на обеих системах. Кажется, пора надевать шапочку из фольги:
https://tprg.ru/nkhQ
#android #ios
Архитектурные паттерны MV(X) в iOS
Архитектуры семейства MV(X) являются самыми распространёнными на мобильном рынке. В их основе лежит три общих компонента:
— Model, отвечающий за бизнес-логику приложения;
— View, отвечающий за слой представления данных;
— ViewModel, связывающий компоненты Model и View.
Подробнее об архитектурах MV(X) в iOS-разработке:
https://tprg.ru/2wvE
#ios
Архитектуры семейства MV(X) являются самыми распространёнными на мобильном рынке. В их основе лежит три общих компонента:
— Model, отвечающий за бизнес-логику приложения;
— View, отвечающий за слой представления данных;
— ViewModel, связывающий компоненты Model и View.
Подробнее об архитектурах MV(X) в iOS-разработке:
https://tprg.ru/2wvE
#ios
Распознавание номера карты с использованием CameraX и ML Kit
Для распознавания номера карты с помощью камеры существует библиотека card.io. Однако она уже устарела и не обновлялась более 4 лет. Можно ли её заменить более современными решениями?
Автор статьи попытался реализовать распознавание номера карты с помощью CameraX и ML Kit:
https://tprg.ru/yfxA
#android #jetpack
Для распознавания номера карты с помощью камеры существует библиотека card.io. Однако она уже устарела и не обновлялась более 4 лет. Можно ли её заменить более современными решениями?
Автор статьи попытался реализовать распознавание номера карты с помощью CameraX и ML Kit:
https://tprg.ru/yfxA
#android #jetpack
Дизайн нового приложения «ВКонтакте» для iPad
1 апреля владельцы iPad получили первое с 2015 года большое обновление приложения «ВКонтакте». И первым бросается в глаза обновлённый дизайн, который стал единым с дизайном приложения для iPhone.
Почитайте, как команда «ВКонтакте» пришла к итоговому варианту дизайна и почему приложение не получало крупные обновления с 2015 года:
https://tprg.ru/gSco
#ios
1 апреля владельцы iPad получили первое с 2015 года большое обновление приложения «ВКонтакте». И первым бросается в глаза обновлённый дизайн, который стал единым с дизайном приложения для iPhone.
Почитайте, как команда «ВКонтакте» пришла к итоговому варианту дизайна и почему приложение не получало крупные обновления с 2015 года:
https://tprg.ru/gSco
#ios
Forwarded from Типичный программист
Начинаем розыгрыш подарков за игру в «Быки и Коровы»!
Правила просты:
1. Нужно зайти в нашего бота и просто играть — против бота, против друзей, против соперников в онлайне (если коротко — вам нужно отгадать загаданное ботом число с помощью его подсказок, подробные правила — в боте).
2. За игры вам будут начисляться очки.
3. Спустя неделю мы подведём итоги розыгрыша и наградим лучших игроков.
Что за призы?
1. Игрок, который займёт 1 место, получит один из двух наборов мыши и клавиатуры на выбор — Microsoft Wireless Desktop 900 или Bloody B2100.
2. 10 следующих за ним игроков получат мерч от Tproger — настенные календари, майки, карты для planning poker, наклейки.
3. А каждому, кто одержит хотя бы одну победу в онлайн-режиме, мы отправим электронную версию нашего фирменного календаря.
Заходите в бота и начинайте зарабатывать очки: t.iss.one/tproger_official_bot?start=bcgame
Правила просты:
1. Нужно зайти в нашего бота и просто играть — против бота, против друзей, против соперников в онлайне (если коротко — вам нужно отгадать загаданное ботом число с помощью его подсказок, подробные правила — в боте).
2. За игры вам будут начисляться очки.
3. Спустя неделю мы подведём итоги розыгрыша и наградим лучших игроков.
Что за призы?
1. Игрок, который займёт 1 место, получит один из двух наборов мыши и клавиатуры на выбор — Microsoft Wireless Desktop 900 или Bloody B2100.
2. 10 следующих за ним игроков получат мерч от Tproger — настенные календари, майки, карты для planning poker, наклейки.
3. А каждому, кто одержит хотя бы одну победу в онлайн-режиме, мы отправим электронную версию нашего фирменного календаря.
Заходите в бота и начинайте зарабатывать очки: t.iss.one/tproger_official_bot?start=bcgame
Инструмент для профилирования Android-приложений
Android-разработчик из «Яндекса» реализовал альтернативный профилировщик, который работает быстрее Android Studio Profiler и не требует пересборки проекта для записи профиля. Также с помощью YAMP for Android можно открывать ранее записанные trace-файлы.
Код и инструкция, как работать с профилировщиком:
https://github.com/Grigory-Rylov/android-methods-profiler
#android
Как выглядит профилировщик:
Android-разработчик из «Яндекса» реализовал альтернативный профилировщик, который работает быстрее Android Studio Profiler и не требует пересборки проекта для записи профиля. Также с помощью YAMP for Android можно открывать ранее записанные trace-файлы.
Код и инструкция, как работать с профилировщиком:
https://github.com/Grigory-Rylov/android-methods-profiler
#android
Как выглядит профилировщик:
Паттерн проектирования Observer (Наблюдатель) на Flutter
Паттерн Observer определяет механизм, по которому объекты рассылают уведомления другим объектам об изменении своего состояния.
Подробнее об Observer и как он реализуется на Flutter:
https://tprg.ru/Zpe3
#flutter
Паттерн Observer определяет механизм, по которому объекты рассылают уведомления другим объектам об изменении своего состояния.
Подробнее об Observer и как он реализуется на Flutter:
https://tprg.ru/Zpe3
#flutter
Реализация динамической смены темы в виде круговой анимации
В Telegram красиво сделана смена тёмной и светлой темы: при нажатии на кнопку возникает круговая анимация.
Если вы хотите реализовать подобный эффект, почитайте подробный гайд о том, как это сделать:
https://tprg.ru/rl83
#android
В Telegram красиво сделана смена тёмной и светлой темы: при нажатии на кнопку возникает круговая анимация.
Если вы хотите реализовать подобный эффект, почитайте подробный гайд о том, как это сделать:
https://tprg.ru/rl83
#android
Основы Compositional Layout
Замечали ли вы, как устроен App Store? Вся информация в нём скроллится и горизонтально, и вертикально. До iOS 13 разработчики использовали
Но с iOS 13 у разработчиков появился новый способ построения коллекций на экране — Compositional Layout:
https://tprg.ru/q9n3
#ios
Замечали ли вы, как устроен App Store? Вся информация в нём скроллится и горизонтально, и вертикально. До iOS 13 разработчики использовали
UITableView
или UICollectionView
для реализации подобного экрана, но этот вариант сложен и неудобен.Но с iOS 13 у разработчиков появился новый способ построения коллекций на экране — Compositional Layout:
https://tprg.ru/q9n3
#ios
Compositional Layout в реальном проекте: опыт Delivery Club
Вчера мы изучали, что из себя представляет подход к построению коллекций на iOS Compositional Layout. Теория теорией, а как оно работает на практике? Рассмотрим на примере приложения Delivery Club:
https://tprg.ru/XFnS
#ios
Вчера мы изучали, что из себя представляет подход к построению коллекций на iOS Compositional Layout. Теория теорией, а как оно работает на практике? Рассмотрим на примере приложения Delivery Club:
https://tprg.ru/XFnS
#ios
Создаём простую анимацию через MotionLayout
Класс MotionLayout доступен в стандартной библиотеке ConstraintLayout. У него широкие возможности для реализации анимаций в пользовательском интерфейсе.
В статье объясняется, как реализовать анимацию, как на гифке:
https://tprg.ru/sYXp
#android
Класс MotionLayout доступен в стандартной библиотеке ConstraintLayout. У него широкие возможности для реализации анимаций в пользовательском интерфейсе.
В статье объясняется, как реализовать анимацию, как на гифке:
https://tprg.ru/sYXp
#android
Более безопасный способ сбора потоков из UI Android
В статье рассматриваются интерфейсы
https://tprg.ru/XRl9
#android
В статье рассматриваются интерфейсы
LifecycleOwner.addRepeatingJob
, Lifecycle.repeatOnLifecycle
и Flow.flowWithLifecycle
, которые сберегут от утечки ресурсов при работе с потоками из UI-слоя приложения:https://tprg.ru/XRl9
#android