Цветовые схемы — от Figma до реализации дизайна на Flutter
Выбор цветовой гаммы мобильного приложения — задача не только для дизайнеров, но и для мобильных разработчиков. Понимание нюансов и цветовых схем в Material Design может значительно улучшить визуализацию приложения и опыт пользователя.
В этой статье как раз и разбираются все эти аспекты для приложений на Flutter. Материал может быть интересен и для Android-разработчиков, кто работает с Material 2 и Material 3:
https://infinum.com/blog/flutter-color-schemes/
#flutter #google
Выбор цветовой гаммы мобильного приложения — задача не только для дизайнеров, но и для мобильных разработчиков. Понимание нюансов и цветовых схем в Material Design может значительно улучшить визуализацию приложения и опыт пользователя.
В этой статье как раз и разбираются все эти аспекты для приложений на Flutter. Материал может быть интересен и для Android-разработчиков, кто работает с Material 2 и Material 3:
https://infinum.com/blog/flutter-color-schemes/
#flutter #google
Jetpack Compose: отслеживание действий пользователя
В статье рассматривается, как настроить:
— обнаружение движения скролла, свайпа и нажатий,
— отслеживание UI-элементов, с которым взаимодействует пользователь,
— генерацию соответствующего breadcrumb по идентификатору элемента:
https://tprg.ru/CKOQ
#android #compose
В статье рассматривается, как настроить:
— обнаружение движения скролла, свайпа и нажатий,
— отслеживание UI-элементов, с которым взаимодействует пользователь,
— генерацию соответствующего breadcrumb по идентификатору элемента:
https://tprg.ru/CKOQ
#android #compose
ImageRenderer в SwiftUI: преобразование UIView в изображение
ImageRenderer предоставляет простой в использовании API, позволяющий экспортировать иерархию Swift UIView в виде изображения или PDF-файла. Если пользователю необходимо экспортировать данные из приложения, то с помощью ImageRenderer это стало сделать проще.
Также можно настроить несколько параметров, влияющих на конечный результат экспортируемого изображения: масштаб, размер и цветовой режим. Примеры реализации — здесь:
https://swiftwithmajid.com/2023/04/18/imagerenderer-in-swiftui/
#ios #swift
ImageRenderer предоставляет простой в использовании API, позволяющий экспортировать иерархию Swift UIView в виде изображения или PDF-файла. Если пользователю необходимо экспортировать данные из приложения, то с помощью ImageRenderer это стало сделать проще.
Также можно настроить несколько параметров, влияющих на конечный результат экспортируемого изображения: масштаб, размер и цветовой режим. Примеры реализации — здесь:
https://swiftwithmajid.com/2023/04/18/imagerenderer-in-swiftui/
#ios #swift
Основатель «Типичного программиста» в авторском канале рассказывает с чего начинался Tproger (спойлер: с мемов): @nostoppers
Кроме предпринимательства Алексей занимается менторингом, консультирует фаундеров стартапов, помогает бизнесам расти, а людям экономить время на достижение своих целей. В своём канале даёт советы по личной эффективности, рассуждает про бизнес, программирование, медиа и другие темы.
Несколько примеров постов:
— Есть идея по стартапу. Что дальше?
— Как быть с задачами, которые не делаются?
— Неочевидные правила Daily standup
— Пробежки как способ развития бизнеса
— Правила проведения демо разработки
Кроме предпринимательства Алексей занимается менторингом, консультирует фаундеров стартапов, помогает бизнесам расти, а людям экономить время на достижение своих целей. В своём канале даёт советы по личной эффективности, рассуждает про бизнес, программирование, медиа и другие темы.
Несколько примеров постов:
— Есть идея по стартапу. Что дальше?
— Как быть с задачами, которые не делаются?
— Неочевидные правила Daily standup
— Пробежки как способ развития бизнеса
— Правила проведения демо разработки
Гибридная разработка мобильных приложений
Гибридная разработка — это разработка с помощью распространенных языков программирования, с использованием веб-технологий, которые используются при создании сайта. Подход включает в себя использование кроссплатформенных, нативных методов и использование фреймворков.
В статье — о плюсах и минусах гибридной разработки и о том, когда такой подход стоит использовать:
https://appfox.ru/blog/gibridnaya-razrabotka/
#разработка
Гибридная разработка — это разработка с помощью распространенных языков программирования, с использованием веб-технологий, которые используются при создании сайта. Подход включает в себя использование кроссплатформенных, нативных методов и использование фреймворков.
В статье — о плюсах и минусах гибридной разработки и о том, когда такой подход стоит использовать:
https://appfox.ru/blog/gibridnaya-razrabotka/
#разработка
Dart: ужасный, но популярный
В комментариях к посту о новых возможностях Dart 3 задали вопрос:
— За что не любят Dart?
В статье разработчик высказывает своё субъективное мнение о том, почему Dart не нужен. У вас другое мнение? Поделитесь в комментах!
https://towardsdev.com/dart-a-terrible-language-and-a-huge-marketing-success-ee42395ef51e
#dart
В комментариях к посту о новых возможностях Dart 3 задали вопрос:
— За что не любят Dart?
В статье разработчик высказывает своё субъективное мнение о том, почему Dart не нужен. У вас другое мнение? Поделитесь в комментах!
https://towardsdev.com/dart-a-terrible-language-and-a-huge-marketing-success-ee42395ef51e
#dart
Что нового в Jetpack и Jetpack Compose
10 мая в Маунтин-Вью в Калифорнии началась ежегодная конференция Google I/O 2023. Разработчики OS Android рассказали об обновлениях в Jetpack и Jetpack Compose.
В материале разработчики рассказывают об оптимизации производительности приложений, обновлениях ключевых библиотек, и о библиотеках UI, в том числе Compose:
https://android-developers.googleblog.com/2023/05/whats-new-in-jetpack-io-2023.html
Более подробно об обновлениях в Jetpack Compose в статье:
https://android-developers.googleblog.com/2023/05/whats-new-in-jetpack-compose.html
#jetpack #compose
10 мая в Маунтин-Вью в Калифорнии началась ежегодная конференция Google I/O 2023. Разработчики OS Android рассказали об обновлениях в Jetpack и Jetpack Compose.
В материале разработчики рассказывают об оптимизации производительности приложений, обновлениях ключевых библиотек, и о библиотеках UI, в том числе Compose:
https://android-developers.googleblog.com/2023/05/whats-new-in-jetpack-io-2023.html
Более подробно об обновлениях в Jetpack Compose в статье:
https://android-developers.googleblog.com/2023/05/whats-new-in-jetpack-compose.html
#jetpack #compose
Гибридная разработка на практике: Flutter и SvelteKit WebViews
Вчера у нас был пост о том, что такое гибридная разработка.
Сегодня перейдём к практике.
В статье подробно рассматривается интеграция SvelteKit WebViews с мобильным приложением на Flutter.
Вы узнаете:
— как настроить WebView во Flutter;
— как реализовать app bridge в SvelteKit;
— как отправлять сообщения между Flutter и SvelteKit.
#flutter #svelte
Вчера у нас был пост о том, что такое гибридная разработка.
Сегодня перейдём к практике.
В статье подробно рассматривается интеграция SvelteKit WebViews с мобильным приложением на Flutter.
Вы узнаете:
— как настроить WebView во Flutter;
— как реализовать app bridge в SvelteKit;
— как отправлять сообщения между Flutter и SvelteKit.
#flutter #svelte
Все видео Google I/O 2023
10 мая прошла ежегодная конференция компании Google, где презентовали новые гаджеты и обновления. Большинство изменений связано с искусственным интеллектом.
Узнать что нового в платформе, о разработке производительных и качественных приложений, об инструментах для создания приложений для различных устройств можно по ссылке (35 видео):
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc85Xna4Q3Fw79OP_3D1JaJW
#android
10 мая прошла ежегодная конференция компании Google, где презентовали новые гаджеты и обновления. Большинство изменений связано с искусственным интеллектом.
Узнать что нового в платформе, о разработке производительных и качественных приложений, об инструментах для создания приложений для различных устройств можно по ссылке (35 видео):
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc85Xna4Q3Fw79OP_3D1JaJW
#android
Двухфакторная аутентификация с помощью Java Card
Java Card — это технология программного обеспечения, которая позволяет безопасно запускать приложения (апплеты) на базе Java на смарт-картах и, в более широком смысле, на аналогичных безопасных устройствах с малым объемом памяти.
В статье разработчик рассказывает про свой опыт внедрения двухфакторной аутентификации с помощью Java Card для мобильного приложения на базе Android:
https://habr.com/ru/articles/734516/
#android #java
Java Card — это технология программного обеспечения, которая позволяет безопасно запускать приложения (апплеты) на базе Java на смарт-картах и, в более широком смысле, на аналогичных безопасных устройствах с малым объемом памяти.
В статье разработчик рассказывает про свой опыт внедрения двухфакторной аутентификации с помощью Java Card для мобильного приложения на базе Android:
https://habr.com/ru/articles/734516/
#android #java
5 инструментов для iOS-разработчика
У каждого разработчика есть свой набор программ, которые он использует каждый день. Ниже 5 инструментов, которые можно использовать в рабочем процессе:
1. Cleaner for Xcode
Это приложение поможет удалить старые файлы, оставшиеся после обновления до новой версии Xcode. Оно также может очистить все производные данные и кэши и освободить место на диске.
2. Rectangle
Rectangle, как и его предшественник Spectacle, улучшает управление окнами с помощью сочетаний клавиш и областей привязки.
3. SF Symbols
С помощью SF Symbols вы можете включать в свои приложения различные пиктограммы. Самое приятное то, что библиотека постоянно пополняется, поэтому у вас всегда будут свежие иконки для работы.
4. Sigma
Sigma — плагин для Figma, который автоматически генерирует код SwiftUI на основе ваших проектов. Этот плагин экономит время и может упростить процесс проектирования и разработки.
5. Amphetamine
С этим всё просто. Amphetamine не позволяет вашему Macbook заснуть, что бывает полезно во время презентаций или когда вы работаете без подключения ноутбука к источнику питания.
#ios
У каждого разработчика есть свой набор программ, которые он использует каждый день. Ниже 5 инструментов, которые можно использовать в рабочем процессе:
1. Cleaner for Xcode
Это приложение поможет удалить старые файлы, оставшиеся после обновления до новой версии Xcode. Оно также может очистить все производные данные и кэши и освободить место на диске.
2. Rectangle
Rectangle, как и его предшественник Spectacle, улучшает управление окнами с помощью сочетаний клавиш и областей привязки.
3. SF Symbols
С помощью SF Symbols вы можете включать в свои приложения различные пиктограммы. Самое приятное то, что библиотека постоянно пополняется, поэтому у вас всегда будут свежие иконки для работы.
4. Sigma
Sigma — плагин для Figma, который автоматически генерирует код SwiftUI на основе ваших проектов. Этот плагин экономит время и может упростить процесс проектирования и разработки.
5. Amphetamine
С этим всё просто. Amphetamine не позволяет вашему Macbook заснуть, что бывает полезно во время презентаций или когда вы работаете без подключения ноутбука к источнику питания.
#ios
Что нового в Kotlin для Android?
На конференции Google I/O 2023 были представлены новинки Kotlin.
Большая статья, в которой подробно разбираются эти обновления, с комментариями и дополнениями мобильного разработчика:
https://habr.com/ru/companies/usetech/articles/734338/
#kotlin #android
На конференции Google I/O 2023 были представлены новинки Kotlin.
Большая статья, в которой подробно разбираются эти обновления, с комментариями и дополнениями мобильного разработчика:
https://habr.com/ru/companies/usetech/articles/734338/
#kotlin #android
Что такое Compose Multiplatform?
На сегодняшний день есть два основных UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter.
Но статья не о них, а об удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform, приложения на котором можно запускать почти где угодно и на чем угодно — Android, iOS, Windows, Linux, MacOS и в браузере:
https://habr.com/ru/companies/timeweb/articles/734818/
#compose #kotlin
На сегодняшний день есть два основных UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter.
Но статья не о них, а об удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform, приложения на котором можно запускать почти где угодно и на чем угодно — Android, iOS, Windows, Linux, MacOS и в браузере:
https://habr.com/ru/companies/timeweb/articles/734818/
#compose #kotlin
8 пакетов Flutter для облегчения разработки
1. Freezed
Freezed — генератор кода, который уменьшает количество действий для создания шаблонов классов и помогает писать код быстрее.
2. flutter_launcher_icons
Пакет пригодится, если понадобится изменить иконки приложения, не зная ничего о Xcode и Android. Вы просто добавляете свой значок в формате png, выполняете команду
3. Fluttertoast
С помощью этого пакета легко отображать уведомления в приложениях Flutter.
4. Firestore
Firestore — облачная база данных NoSQL.
Пакет позволяет легко интегрировать приложения Flutter с Firestore.
5. Riverpod
Riverpod — менеджер состояний, который обеспечивает простой и гибкий способ управления состоянием приложения Flutter. Пакет упрощает создание реактивных пользовательских интерфейсов и тестирование кода.
6. SharedPreferences
Пакет для хранения и извлечения пар «ключ-значение» на устройстве пользователя. Удобен для хранения предпочтений пользователя, таких как настройки и данные, специфичные для пользователя.
7. package_info_plus
Пакет предназначен для получения информацию о приложении (номер версии, номер сборки и имя пакета). Этот пакет особенно полезен для отображения информации о приложении пользователям или в целях отладки.
8. intl
С помощью этого пакета разработчики могут легко форматировать дату, время, числа и валюту для разных локалей, что необходимо для создания приложений, поддерживающих несколько языков и регионов.
А какие пакеты для Flutter используете вы?
#flutter
1. Freezed
Freezed — генератор кода, который уменьшает количество действий для создания шаблонов классов и помогает писать код быстрее.
2. flutter_launcher_icons
Пакет пригодится, если понадобится изменить иконки приложения, не зная ничего о Xcode и Android. Вы просто добавляете свой значок в формате png, выполняете команду
flutter pub run flutter_launcher_icons
, и все остальное происходит в фоновом режиме.3. Fluttertoast
С помощью этого пакета легко отображать уведомления в приложениях Flutter.
4. Firestore
Firestore — облачная база данных NoSQL.
Пакет позволяет легко интегрировать приложения Flutter с Firestore.
5. Riverpod
Riverpod — менеджер состояний, который обеспечивает простой и гибкий способ управления состоянием приложения Flutter. Пакет упрощает создание реактивных пользовательских интерфейсов и тестирование кода.
6. SharedPreferences
Пакет для хранения и извлечения пар «ключ-значение» на устройстве пользователя. Удобен для хранения предпочтений пользователя, таких как настройки и данные, специфичные для пользователя.
7. package_info_plus
Пакет предназначен для получения информацию о приложении (номер версии, номер сборки и имя пакета). Этот пакет особенно полезен для отображения информации о приложении пользователям или в целях отладки.
8. intl
С помощью этого пакета разработчики могут легко форматировать дату, время, числа и валюту для разных локалей, что необходимо для создания приложений, поддерживающих несколько языков и регионов.
А какие пакеты для Flutter используете вы?
#flutter
Passkeys в вопросах и ответах
Passkeys — это замена паролей, обеспечивающая более быстрый, простой и безопасный вход в приложения и веб-сайты. Этот способ авторизации надежен, устойчив к фишингу и рассчитан на работу не только на устройствах Apple. Самое главное, что людям не нужно ничего создавать, охранять или запоминать.
Чтобы объяснить, как применять Passkeys, команда Apple по конфиденциальности и безопасности провела встречу в формате «вопрос-ответ», в ходе которой ответила на распространённые вопросы о поддержке устройств, вариантах использования, восстановлении аккаунта и многом другом. В статье — основные моменты из этой беседы:
https://developer.apple.com/news/?id=21mnmxow
#ios
Passkeys — это замена паролей, обеспечивающая более быстрый, простой и безопасный вход в приложения и веб-сайты. Этот способ авторизации надежен, устойчив к фишингу и рассчитан на работу не только на устройствах Apple. Самое главное, что людям не нужно ничего создавать, охранять или запоминать.
Чтобы объяснить, как применять Passkeys, команда Apple по конфиденциальности и безопасности провела встречу в формате «вопрос-ответ», в ходе которой ответила на распространённые вопросы о поддержке устройств, вариантах использования, восстановлении аккаунта и многом другом. В статье — основные моменты из этой беседы:
https://developer.apple.com/news/?id=21mnmxow
#ios
This media is not supported in your browser
VIEW IN TELEGRAM
Сокращение времени запуска Android-приложения
Время запуска — это первое впечатление пользователей о приложении, и медленная загрузка может негативно сказаться на удержании и привлечении пользователей.
Статья рассказывает о том, как разработчики Turo (каршеринг-приложение) сократили время запуска программы на 77%:
https://medium.com/androiddevelopers/turo-reduced-its-app-startup-time-by-77-using-android-developer-tools-and-best-practices-bcf82f596bcf
#android
Время запуска — это первое впечатление пользователей о приложении, и медленная загрузка может негативно сказаться на удержании и привлечении пользователей.
Статья рассказывает о том, как разработчики Turo (каршеринг-приложение) сократили время запуска программы на 77%:
https://medium.com/androiddevelopers/turo-reduced-its-app-startup-time-by-77-using-android-developer-tools-and-best-practices-bcf82f596bcf
#android
Использование принципа инверсии зависимостей на практике
В статье предлагается эффективный подход к обновлению приложений без необходимости полного переписывания кода. Автор обсуждает применение принципа инверсии зависимостей (Dependency Inversion), который позволяет снизить зависимость между компонентами приложения, сделать его более гибким и устойчивым к изменениям:
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#android
В статье предлагается эффективный подход к обновлению приложений без необходимости полного переписывания кода. Автор обсуждает применение принципа инверсии зависимостей (Dependency Inversion), который позволяет снизить зависимость между компонентами приложения, сделать его более гибким и устойчивым к изменениям:
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#android
Виды мобильных приложений
Мобильные приложения могут работать непосредственно на платформе, поверх мобильного браузера или представлять собой комбинацию обоих вариантов. Выбор правильного типа приложения зависит от конкретных потребностей проекта.
В статье описаны характеристики и различия каждого вида мобильных приложений:
https://iamankurjain.medium.com/mobile-application-taxonomy-65b4b9e9e5a7
#советы
Мобильные приложения могут работать непосредственно на платформе, поверх мобильного браузера или представлять собой комбинацию обоих вариантов. Выбор правильного типа приложения зависит от конкретных потребностей проекта.
В статье описаны характеристики и различия каждого вида мобильных приложений:
https://iamankurjain.medium.com/mobile-application-taxonomy-65b4b9e9e5a7
#советы
Различия Compose и SwiftUI
На первый взгляд SwiftUI и Jetpack Compose очень похожи. Оба являются декларативными UI-фреймворками с похожими примитивами, предназначенными для выполнения одной и той же задачи.
Но есть некоторые фундаментальные различия, которые определяют способ их использования. Подробности в статье:
https://medium.com/mateedevs/fundamental-differences-of-compose-and-swiftui-2dc0cdd0b37
#swiftui #compose
На первый взгляд SwiftUI и Jetpack Compose очень похожи. Оба являются декларативными UI-фреймворками с похожими примитивами, предназначенными для выполнения одной и той же задачи.
Но есть некоторые фундаментальные различия, которые определяют способ их использования. Подробности в статье:
https://medium.com/mateedevs/fundamental-differences-of-compose-and-swiftui-2dc0cdd0b37
#swiftui #compose
Ping в iOS
Иногда бывает нужно проверить доступность удалённого сервера и время ответа из приложения.
Простой способ такой проверки с использованием новой асинхронной функциональности Swift описывается в статье:
https://medium.com/@onlyapps/measuring-ping-in-ios-apps-a-simple-solution-13be82a15bf3
#ios #network
Иногда бывает нужно проверить доступность удалённого сервера и время ответа из приложения.
Простой способ такой проверки с использованием новой асинхронной функциональности Swift описывается в статье:
https://medium.com/@onlyapps/measuring-ping-in-ios-apps-a-simple-solution-13be82a15bf3
#ios #network
Сборка с Bazel — бесплатный курс
Bazel — это система сборки с открытым исходным кодом, созданная Google для компиляции больших сложных баз кода.
На этом курсе вы сможете изучить основы использования этого инструмента начиная от написания очень простого Java-приложения, заканчивая компиляцией приложения для Android с большим количеством зависимостей.
Курс доступен бесплатно:
https://www.kodeco.com/31558158-building-with-bazel
#bazel #курс
Bazel — это система сборки с открытым исходным кодом, созданная Google для компиляции больших сложных баз кода.
На этом курсе вы сможете изучить основы использования этого инструмента начиная от написания очень простого Java-приложения, заканчивая компиляцией приложения для Android с большим количеством зависимостей.
Курс доступен бесплатно:
https://www.kodeco.com/31558158-building-with-bazel
#bazel #курс