🐦Package Drift
👋🏻Хей на связи Разработчик)
Как то раньше я делал 🔗ПОСТ на тему SQFLite (База данных).
💡После нескольких проектов на этой библиотеке нашел альтернативу под названием 🔗Drift выглядит лучше. Успел написать большой проект на нем пока все хорошо.
💡По сути это все тот же 🔗SQFLite только обернутая со своими фичами и удобствами к тому же регулярно обновляется. Пробуйте советую)
@fullter_dev
#инструмент #tool #db #базаданных
👋🏻Хей на связи Разработчик)
Как то раньше я делал 🔗ПОСТ на тему SQFLite (База данных).
💡После нескольких проектов на этой библиотеке нашел альтернативу под названием 🔗Drift выглядит лучше. Успел написать большой проект на нем пока все хорошо.
💡По сути это все тот же 🔗SQFLite только обернутая со своими фичами и удобствами к тому же регулярно обновляется. Пробуйте советую)
@fullter_dev
#инструмент #tool #db #базаданных
Telegram
Developer's Notes
🐦 SQFLite
Турториал с наглядными примерами работы базы данных на Flutter при помощи SQFLite.
🔗 Ссылка
@fullter_dev
#инструмент #tool #db #базаданных
Турториал с наглядными примерами работы базы данных на Flutter при помощи SQFLite.
🔗 Ссылка
@fullter_dev
#инструмент #tool #db #базаданных
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🐦Package Device Preview
💡Наткнулся я тут на классную штуку
короче ловите 🔗ССЫЛКА на библиотеку device_preview с ее помощью можно просматривать создаваемое приложение в разных платформах можно сразу смотреть как бы она смотрелась на других девайсах и тд.
device_preview добавляет рядом с эмулятором меню через которую можно управлять все этим фунционалом
@fullter_dev
#инструмент #tool
💡Наткнулся я тут на классную штуку
короче ловите 🔗ССЫЛКА на библиотеку device_preview с ее помощью можно просматривать создаваемое приложение в разных платформах можно сразу смотреть как бы она смотрелась на других девайсах и тд.
device_preview добавляет рядом с эмулятором меню через которую можно управлять все этим фунционалом
@fullter_dev
#инструмент #tool
❤3
Обновлённая дорожная карта по Flutter на 2024 год
Ребята здорово прокачали свои дорожные карты, в том числе и по Flutter. Там собраны основные технологии, которые желательно изучать разработчику.
Шпаргалками можно пользоваться как чек-листом и узнавать подробности по каждому пункту прямо на сайте. А еще есть прогресс-бар, который позволяет отслеживать процесс освоения: https://roadmap.sh/flutter
@fullter_dev
#flutter #инструменты #tools
Ребята здорово прокачали свои дорожные карты, в том числе и по Flutter. Там собраны основные технологии, которые желательно изучать разработчику.
Шпаргалками можно пользоваться как чек-листом и узнавать подробности по каждому пункту прямо на сайте. А еще есть прогресс-бар, который позволяет отслеживать процесс освоения: https://roadmap.sh/flutter
@fullter_dev
#flutter #инструменты #tools
😴1
DevToys – сборка повседневных инструментов для разработчиков: конвертеры, кодеры/декодеры, генераторы, форматеры, графика и много других.
С помощью Smart Detection DevToys может определить лучший инструмент для использования с данными, скопированными в буфер обмена Windows. Компактное наложение позволяет сохранить приложение небольшим и поверх других окон. Одновременно можно использовать несколько экземпляров приложения.
@fullter_dev
#flutter #tools
С помощью Smart Detection DevToys может определить лучший инструмент для использования с данными, скопированными в буфер обмена Windows. Компактное наложение позволяет сохранить приложение небольшим и поверх других окон. Одновременно можно использовать несколько экземпляров приложения.
@fullter_dev
#flutter #tools
❤1
Красивое: шпаргалка по структурам данных в программировании с максимально понятным объяснением и примерами на русском языке!
Эти структуры — база всего программирования и используются для решания задач с алгоритмами (если они у вас есть).
@fullter_dev
Эти структуры — база всего программирования и используются для решания задач с алгоритмами (если они у вас есть).
@fullter_dev
😴1
Project Based Learning — гигантский сборник уроков и практических задач по всем языкам программирования
В подборке множество гайдов по созданию собственной ОС, нейросетей и приложений. Все с видеоуроками, примерами кода и детальными пояснениями.
@fullter_dev
В подборке множество гайдов по созданию собственной ОС, нейросетей и приложений. Все с видеоуроками, примерами кода и детальными пояснениями.
@fullter_dev
😴1
This media is not supported in your browser
VIEW IN TELEGRAM
Учим полезные сочетания клавиш в Android Studio
Сочетания клавиш в IDE позволяют значительно упросить работу с привычными действиями. Однако в Android Studio запомнить их все поначалу трудно. В таком случае может помочь плагин Key Promoter X.
Когда разработчик использует мышь для выполнения действия, Key Promoter X показывает уведомление с подходящей комбинацией клавиш. Must-have для начинающего разработчика.
Где скачать: https://plugins.jetbrains.com/plugin/9792-key-promoter-x/
#android @fullter_dev
Сочетания клавиш в IDE позволяют значительно упросить работу с привычными действиями. Однако в Android Studio запомнить их все поначалу трудно. В таком случае может помочь плагин Key Promoter X.
Когда разработчик использует мышь для выполнения действия, Key Promoter X показывает уведомление с подходящей комбинацией клавиш. Must-have для начинающего разработчика.
Где скачать: https://plugins.jetbrains.com/plugin/9792-key-promoter-x/
#android @fullter_dev
😴1
30 проектов и библиотек для Flutter-разработчиков
В этой статье — подборка полезных репозиториев GitHub и проектов, которые могут помочь начинающим в изучении Flutter, а более опытным разработчикам найти полезные библиотеки для проектов:
https://www.theinsaneapp.com/2023/03/best-flutter-github-repositories.html
#flutter @fullter_dev
В этой статье — подборка полезных репозиториев GitHub и проектов, которые могут помочь начинающим в изучении Flutter, а более опытным разработчикам найти полезные библиотеки для проектов:
https://www.theinsaneapp.com/2023/03/best-flutter-github-repositories.html
#flutter @fullter_dev
😴1
Вы задумывались о том, как работают стандартные иконки во Flutter?
В своих проектах всегда юзал пакет flutter_svg для векторной графики. И даже не думал, как обстоят дела со стандартным классом IconData.
Это шрифты!
Для чего это нужно⁉️ Этот подход имеет один большой плюс:
Шрифты иконок занимают заметно меньше места в памяти в сравнении с отдельными SVG файлами, а также они менее ресурсоемки. Также, как и с SVG, можно манипулировать размерами и цветами таких иконок прямо в коде.
Когда их не надо использовать⁉️ Если вам нужна более сложная векторная графика с градиентом цветов и с множеством слоев и деталей, то лучше использовать SVG - ведь этот подходит включает в себя полноценный язык разметки и умеет создавать более сложную графику.
Как мне добавить иконки-шрифты в проект также, как это сделали разработчики фреймворка⁉️ Для этого есть специальные инструменты. К примеру, вы можете загрузить свои SVG иконки на этот сайт, и скачать уже готовый Dart файл с нужным кодом и файлом с шрифтами (не забудьте указать путь до файла с шрифтами в pubspec.yaml). Если возникли проблемы с отображением иконок, то попробуйте для начала переконвертировать линии в своем SVG в заливки, это упростит ваши иконки.
Немного про аргументы класса⚙️ IconData
⚙️ codePoint – это целочисленное значение (int), которое представляет символ в наборе шрифтов. Оно указывает на конкретную иконку в шрифтовом файле.
⚙️ fontFamily - cтрока (String), указывающая на семейство шрифтов, из которого иконка будет браться.
⚙️ fontPackage - cтрока (String), указывающая пакет, в котором содержится семейство шрифтов.
⚙️ matchTextDirection - bool значение, указывающее, следует ли изменять направление отображения иконки в зависимости от направления текста (полезно, когда используете иконку с текстом, и надо поменять направление текста внутри иконки, к примеру, когда пользователь переключается на арабский язык, где текст читается справа налево.
📹 Можете посмотреть этот ролик на ютубе.
В своих проектах всегда юзал пакет flutter_svg для векторной графики. И даже не думал, как обстоят дела со стандартным классом IconData.
Это шрифты!
Для чего это нужно⁉️ Этот подход имеет один большой плюс:
Шрифты иконок занимают заметно меньше места в памяти в сравнении с отдельными SVG файлами, а также они менее ресурсоемки. Также, как и с SVG, можно манипулировать размерами и цветами таких иконок прямо в коде.
Когда их не надо использовать⁉️ Если вам нужна более сложная векторная графика с градиентом цветов и с множеством слоев и деталей, то лучше использовать SVG - ведь этот подходит включает в себя полноценный язык разметки и умеет создавать более сложную графику.
Как мне добавить иконки-шрифты в проект также, как это сделали разработчики фреймворка⁉️ Для этого есть специальные инструменты. К примеру, вы можете загрузить свои SVG иконки на этот сайт, и скачать уже готовый Dart файл с нужным кодом и файлом с шрифтами (не забудьте указать путь до файла с шрифтами в pubspec.yaml). Если возникли проблемы с отображением иконок, то попробуйте для начала переконвертировать линии в своем SVG в заливки, это упростит ваши иконки.
Немного про аргументы класса
Please open Telegram to view this post
VIEW IN TELEGRAM
Fluttericon
FlutterIcon - Flutter custom icons generator
Build a truetype font for use with Flutter with the necessary Dart code to use within your apps.
❤1
Возникла проблема с путями когда следовал стандартной документации установки Flutter на MacOS (ССЫЛКА).
Простое решение при написании путей к библиотеке Flutter в терминале пишем след:
sudo nano /etc/paths
далее в окне прописываем путь к нашему Flutter в моем случае это так:
/Users/uzhan/development/flutter/bin
Далее сохраняем перезапускаем
@fullter_dev #решение #macos
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Dart packages
shadcn_ui | Flutter package
shadcn/ui ported in Flutter. Awesome UI components for Flutter, fully customizable.
Хеллоу👋
🤔Недавно задумался над оптимизацией проекта и наткнулся на подкапотные механизмы Dart/Flutter и так если быть коротко то приходилось менять значения объектов очень много раз и работать с большими объемами данных и естественно созрел вопрос как это будет сказываться на производительности. Если быть точнее то придерживаться Иммутабельности объектов. Вот что удалось раскопать:
1. 👣 Создание новых объектов не такое затратное:
В Dart создание новых объектов (например, списков или состояния) — это довольно дешёвая операция. Dart использует оптимизированную систему управления памятью с "мусорщиком" (garbage collector), который эффективно управляет удалением неиспользуемых объектов. Поскольку объекты создаются быстро и удаляются из памяти, это не сильно нагружает систему в реальных сценариях работы с пользовательскими интерфейсами.
2. 👣 Flutter использует поверхностное сравнение (shallow comparison):
Если Bloc использует метод Equatable для сравнения состояний, который сравнивает только ссылки на объекты, а не сами объекты (это называется "поверхностное сравнение"). То есть, даже если ты создаешь новый список, Flutter не будет пересоздавать элементы списка, если их содержание не изменилось, а будет использовать существующие ссылки на объекты.
⚠️Однако...
Проблемы с производительностью могут возникнуть, если:
⏺️Операции слишком часты и объекты слишком большие. Например, если ты добавляешь или удаляешь большое количество элементов за короткое время.
⏺️Глубокие структуры данных: Если структура данных сложна (например, вложенные объекты), каждый раз пересоздавать большое количество вложенных объектов может быть дорогим.
@fullter_dev
🤔Недавно задумался над оптимизацией проекта и наткнулся на подкапотные механизмы Dart/Flutter и так если быть коротко то приходилось менять значения объектов очень много раз и работать с большими объемами данных и естественно созрел вопрос как это будет сказываться на производительности. Если быть точнее то придерживаться Иммутабельности объектов. Вот что удалось раскопать:
1. 👣 Создание новых объектов не такое затратное:
В Dart создание новых объектов (например, списков или состояния) — это довольно дешёвая операция. Dart использует оптимизированную систему управления памятью с "мусорщиком" (garbage collector), который эффективно управляет удалением неиспользуемых объектов. Поскольку объекты создаются быстро и удаляются из памяти, это не сильно нагружает систему в реальных сценариях работы с пользовательскими интерфейсами.
2. 👣 Flutter использует поверхностное сравнение (shallow comparison):
Если Bloc использует метод Equatable для сравнения состояний, который сравнивает только ссылки на объекты, а не сами объекты (это называется "поверхностное сравнение"). То есть, даже если ты создаешь новый список, Flutter не будет пересоздавать элементы списка, если их содержание не изменилось, а будет использовать существующие ссылки на объекты.
⚠️Однако...
Проблемы с производительностью могут возникнуть, если:
⏺️Операции слишком часты и объекты слишком большие. Например, если ты добавляешь или удаляешь большое количество элементов за короткое время.
⏺️Глубокие структуры данных: Если структура данных сложна (например, вложенные объекты), каждый раз пересоздавать большое количество вложенных объектов может быть дорогим.
@fullter_dev
Forwarded from Flutter Pulse
🚀 Dart 3.7 уже здесь! 🚀
🔥 Что нового? 🔥
💡 Records & Patterns стали мощнее – теперь можно использовать unnamed record fields и объединять несколько переменных сразу. Это делает код лаконичнее и читабельнее.
⚡ Обновления в dartaotruntime – теперь поддерживается AOT-компиляция, что ускоряет запуск и делает работу с Dart еще удобнее.
🐞 Исправления:
✅ HttpServer теперь корректно кодирует заголовки Content-Type.
✅ dart format правильно обрабатывает цифровые разделители.
✅ dart fix исправляет баги в многофайловых проектах.
🛠 Советы по миграции:
🔹 Обновите SDK в pubspec.yaml:
🔹 Запустите dart pub get перед форматированием кода.
🔹 Используйте dart fix вместо dart format --fix для лучшей совместимости.
📢 Полный changelog: Dart 3.7 Changelog
📢 Breaking changes: Изменения в 3.7.0
📢 Подробная статья на Хабре: Dart 3.7 – что нового?
⚡ Dart 3.7 делает язык выразительнее, а инструменты — умнее. Пора обновляться! 💙
#dart #flutter #flutterpulse #update 🚀
🔥 Что нового? 🔥
💡 Records & Patterns стали мощнее – теперь можно использовать unnamed record fields и объединять несколько переменных сразу. Это делает код лаконичнее и читабельнее.
⚡ Обновления в dartaotruntime – теперь поддерживается AOT-компиляция, что ускоряет запуск и делает работу с Dart еще удобнее.
🐞 Исправления:
✅ HttpServer теперь корректно кодирует заголовки Content-Type.
✅ dart format правильно обрабатывает цифровые разделители.
✅ dart fix исправляет баги в многофайловых проектах.
🛠 Советы по миграции:
🔹 Обновите SDK в pubspec.yaml:
sdk: '^3.7.0' 🔹 Запустите dart pub get перед форматированием кода.
🔹 Используйте dart fix вместо dart format --fix для лучшей совместимости.
📢 Полный changelog: Dart 3.7 Changelog
📢 Breaking changes: Изменения в 3.7.0
📢 Подробная статья на Хабре: Dart 3.7 – что нового?
⚡ Dart 3.7 делает язык выразительнее, а инструменты — умнее. Пора обновляться! 💙
#dart #flutter #flutterpulse #update 🚀
Forwarded from Мобильная разработка
This media is not supported in your browser
VIEW IN TELEGRAM
Учим алгоритмы без боли — интерактивный тренажер VisualGo поможет прокачаться в этой сложной теме. Он покажет алгоритмы В ДЕЙСТВИИ.
• Пояснения простые — поймет даже новичок.
• Есть все языки для мобильных разрабов, чтобы практиковаться и стать еще круче.
• Примеры только из реальных задач
• Бесплатно и без регистрации
Мастхев перед каждым собесом — тут.
• Пояснения простые — поймет даже новичок.
• Есть все языки для мобильных разрабов, чтобы практиковаться и стать еще круче.
• Примеры только из реальных задач
• Бесплатно и без регистрации
Мастхев перед каждым собесом — тут.
Ультимативный чек-лист по тестированию мобильных приложений — обозначил самые мощные «болевые точки», чтобы вы сверялись с гайдом при разработке и не сливали свои проги из-за мелких ошибок.
• Функциональное тестирование — проверка всех кнопок, форм, логина
• Совместимость — чтобы на Xiaomi 2019 все шло, как на новом айфоне.
• Локализация — даты, валюты, язык — все по правилам.
• Интеррапты — что будет, если кто-то позвонит во время заказа пиццы.
• Производительность — не разрядится ли телефон из-за вашей кнопки «Оформить».
• Пользовательский опыт — чтобы юзер не снес приложение через минуту.
Главное, все делать ДО РЕЛИЗА. Потому что баги — это не просто неудобно. Это — минус в рейтинге, отвалившиеся пользователи и потерянные деньги
• Функциональное тестирование — проверка всех кнопок, форм, логина
• Совместимость — чтобы на Xiaomi 2019 все шло, как на новом айфоне.
• Локализация — даты, валюты, язык — все по правилам.
• Интеррапты — что будет, если кто-то позвонит во время заказа пиццы.
• Производительность — не разрядится ли телефон из-за вашей кнопки «Оформить».
• Пользовательский опыт — чтобы юзер не снес приложение через минуту.
Главное, все делать ДО РЕЛИЗА. Потому что баги — это не просто неудобно. Это — минус в рейтинге, отвалившиеся пользователи и потерянные деньги
Forwarded from Flutter Pulse
Flutter: Архитектура Приложений и Лучшие Практики
🚀 Хотите создать масштабируемое и поддерживаемое приложение на Flutter? 🤔
В этой статье рассматривается архитектурный подход к созданию приложения Flutter с использованием Clean Architecture, принципов SOLID и Riverpod для управления состоянием. На примере функции Crypto Watch-list показано, как реализовать эти принципы на практике. Кроме того, рассматриваются ключевые нефункциональные требования (NFR) как лучшие практики для обеспечения надежности, масштабируемости и поддерживаемости приложения.
Статья охватывает такие темы, как:
✨ Разделение приложения на слои (Presentation, Domain, Data) в соответствии с Clean Architecture
✨ Использование Riverpod для управления состоянием и реализации принципов SOLID
✨ Реализация функций, таких как кэширование данных, отмена запросов API и автоматический повтор при восстановлении сети
✨ Оптимизация обновлений списка для минимизации перестроений UI
Ознакомьтесь с полной статьей, чтобы узнать больше о создании надежных и масштабируемых приложений на Flutter:
🇷🇺 Статья на русском языке
🇬🇧 Статья на английском языке
🌐 Оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #apparchitecture #cleanarchitecture #riverpod #statemanagement #softwareengineering
🚀 Хотите создать масштабируемое и поддерживаемое приложение на Flutter? 🤔
В этой статье рассматривается архитектурный подход к созданию приложения Flutter с использованием Clean Architecture, принципов SOLID и Riverpod для управления состоянием. На примере функции Crypto Watch-list показано, как реализовать эти принципы на практике. Кроме того, рассматриваются ключевые нефункциональные требования (NFR) как лучшие практики для обеспечения надежности, масштабируемости и поддерживаемости приложения.
Статья охватывает такие темы, как:
✨ Разделение приложения на слои (Presentation, Domain, Data) в соответствии с Clean Architecture
✨ Использование Riverpod для управления состоянием и реализации принципов SOLID
✨ Реализация функций, таких как кэширование данных, отмена запросов API и автоматический повтор при восстановлении сети
✨ Оптимизация обновлений списка для минимизации перестроений UI
Ознакомьтесь с полной статьей, чтобы узнать больше о создании надежных и масштабируемых приложений на Flutter:
🇷🇺 Статья на русском языке
🇬🇧 Статья на английском языке
🌐 Оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #apparchitecture #cleanarchitecture #riverpod #statemanagement #softwareengineering