Полезные посты и статьи марта, которые вы могли пропустить
Hola, Amigos! На выходных провожаем март, и поэтому заранее для вас собрали всё самое интересное в этом месяце. Выбирайте тему и переходите по ссылке.
1️⃣ Обновления Flutter 3.19
2️⃣ Все на BOOST
3️⃣ Виджет MaterialApp для создания графического интерфейса в стиле material design
4️⃣ Кейс: Приложение для АЗС за 2 месяца
5️⃣ Полезный пакет safe_device
Полезные пакеты вы всегда найдёте по тэгу #пп.
Всем хорошего кода!🙂
Hola, Amigos! На выходных провожаем март, и поэтому заранее для вас собрали всё самое интересное в этом месяце. Выбирайте тему и переходите по ссылке.
Полезные пакеты вы всегда найдёте по тэгу #пп.
Всем хорошего кода!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2💘2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Записки мобильного разработчика
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Сегодня мы вновь займемся практикой!🙂
Недавно у меня в работе возникла задача: в приложении есть блок с уведомлениями, и согласно техническому заданию, необходимо отправить запрос на сервер, когда плитка в списке уведомлений становится видимой на экране, чтобы пометить уведомление как прочитанное.
В новой статье на Habr я рассказал о том, как определить положение объекта на экране с помощью пакета visibility_detector. Это может быть полезно, когда мы хотим понять, виден тот или иной виджет на экране в данный момент или нет.
Читайте по ссылке и делитесь в чате о своем опыте применения пакета⚙️
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Сегодня мы вновь займемся практикой!
Недавно у меня в работе возникла задача: в приложении есть блок с уведомлениями, и согласно техническому заданию, необходимо отправить запрос на сервер, когда плитка в списке уведомлений становится видимой на экране, чтобы пометить уведомление как прочитанное.
В новой статье на Habr я рассказал о том, как определить положение объекта на экране с помощью пакета visibility_detector. Это может быть полезно, когда мы хотим понять, виден тот или иной виджет на экране в данный момент или нет.
Читайте по ссылке и делитесь в чате о своем опыте применения пакета
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍10💘3💩2
Обзор pin_code_fields
Hola, Amigos! С вами Владимир Зевеке, Flutter dev Amiga. Сегодня расскажу про пакет pin_code_fields и его применение на практике.
Пакет полезен для авторизации в приложении по номеру телефона. Я использвовал пакет в NDA проекте из сферы здоровья. Но авторизация по одноразовому коду также часто встречается в приложениях банков, e-com, услуг доставки и др.
Переходите на Habr и читайте статью! Дайте знать, если будет полезно🙂
И делитесь в чате, в каких проектах вы использовали пакет pin_code_fields?
Hola, Amigos! С вами Владимир Зевеке, Flutter dev Amiga. Сегодня расскажу про пакет pin_code_fields и его применение на практике.
Пакет полезен для авторизации в приложении по номеру телефона. Я использвовал пакет в NDA проекте из сферы здоровья. Но авторизация по одноразовому коду также часто встречается в приложениях банков, e-com, услуг доставки и др.
Переходите на Habr и читайте статью! Дайте знать, если будет полезно
И делитесь в чате, в каких проектах вы использовали пакет pin_code_fields?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4💩3🔥2💘1
Записки мобильного разработчика
Hola, Amigos! На связи Владимир Зевеке, Flutter dev Amiga. Ранее я рассказывал о том, как интегрировать штрих-коды в приложение Flutter. Сегодня хочу поделиться пакетом screen_brightness, который помогает управлять яркостью экрана. В моём случае, этот виджет понадобился для более эффективной работы другого пакета barcode.
Обратите внимание, что screen_brightness работает только на реальных устройствах, на эмуляторе пакет функционировать не будет⚙️
Давайте перейдем к практике: в нашем приложении есть страница, которая должна быть всегда яркой на 70%. Если при переходе на нее экран тусклый, то мы должны поднять яркость до тех самых 70%.
Сделаем это в отдельном методе, который мы будем вызывать в initState().
Перед изменением уровня яркости экрана, старый показатель мы записали в переменную brightness, чтобы вернуть пользовательские настройки яркости, когда покинем эту страницу.
Таким образом мы можем изменять по своему усмотрению системные настройки яркости в приложении⚙️
Пишите в чате, если было полезно!
Hola, Amigos! На связи Владимир Зевеке, Flutter dev Amiga. Ранее я рассказывал о том, как интегрировать штрих-коды в приложение Flutter. Сегодня хочу поделиться пакетом screen_brightness, который помогает управлять яркостью экрана. В моём случае, этот виджет понадобился для более эффективной работы другого пакета barcode.
Обратите внимание, что screen_brightness работает только на реальных устройствах, на эмуляторе пакет функционировать не будет
Давайте перейдем к практике: в нашем приложении есть страница, которая должна быть всегда яркой на 70%. Если при переходе на нее экран тусклый, то мы должны поднять яркость до тех самых 70%.
Сделаем это в отдельном методе, который мы будем вызывать в initState().
double brightness = 1.0;
@override
void initState() {
initBrightness();
super.initState();
}
Future<void> initBrightness() async {
brightness = await FlutterScreenWake.brightness;
if (brightness < 0.7) {
await FlutterScreenWake.setBrightness(0.7);
}
}
Перед изменением уровня яркости экрана, старый показатель мы записали в переменную brightness, чтобы вернуть пользовательские настройки яркости, когда покинем эту страницу.
return Material(
child: PopScope(
onPopInvoked: (value) async {
await FlutterScreenWake.setBrightness(brightness);
},
child: Scaffold(
appBar: AppBar(
backgroundColor: const Color(0xFF1A1A18),
leading: InkWell(
onTap: () async {
await FlutterScreenWake.setBrightness(brightness);
if (mounted) {
Navigator.of(context).pop();
}
},
<…>
),
),
body: <…>,
),
),
);
Таким образом мы можем изменять по своему усмотрению системные настройки яркости в приложении
Пишите в чате, если было полезно!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6❤3💩2🥰1💘1
This media is not supported in your browser
VIEW IN TELEGRAM
Home Widget для iOS
Hola, Amigos! На связи Сергей Климович, Mobile Team Lead агентства заказной разработки Amiga. Ранее мы вас знакомили с Home Widget для Android, теперь поговорим про iOS.
Рассмотрим, как WidgetKit можно интегрировать в существующий проект Flutter. В конце статьи вас ждет краткий обзор того, как может выглядеть стилизованная и полностью реализованная версия этой функции с помощью Movie Picker.
Переходите по ссылке и читайте статью. Пишите в чате об опыте работы с Home Widget!
Hola, Amigos! На связи Сергей Климович, Mobile Team Lead агентства заказной разработки Amiga. Ранее мы вас знакомили с Home Widget для Android, теперь поговорим про iOS.
Рассмотрим, как WidgetKit можно интегрировать в существующий проект Flutter. В конце статьи вас ждет краткий обзор того, как может выглядеть стилизованная и полностью реализованная версия этой функции с помощью Movie Picker.
Переходите по ссылке и читайте статью. Пишите в чате об опыте работы с Home Widget!
🔥13👍5💘2❤1
Вакансия Middle Flutter-разработчика в Amiga
Hola, Amigos! Наша команда находится в поисках Flutter-разработчика. Может быть, это именно ты — наш дорогой подписчик?
Что нужно делать:
⚙️ верстать экраны и реализовывать анимации;
⚙️ писать бизнес-логику для компонентов;
⚙️ подключать приложения к API;
⚙️ заниматься интеграцией со сторонними сервисами.
Что мы предлагаем:
⚙️ лофт-офис в центре Москвы;
⚙️ гибрид или удаленка;
⚙️ крупные заказчики и интересные кейсы;
⚙️ оформление по ТК РФ.
Мы подходим друг другу, если ты хочешь быть частью молодой команды с амбициозными целями и большими планами!
Знакомьтесь с вакансией по ссылке и откликайтесь! Не забудьте указать в сопроводительном письме, что узнали о вакансии из Flutter. Много🙂
Присоединяйся к нашей команде❤️
Hola, Amigos! Наша команда находится в поисках Flutter-разработчика. Может быть, это именно ты — наш дорогой подписчик?
Что нужно делать:
Что мы предлагаем:
Мы подходим друг другу, если ты хочешь быть частью молодой команды с амбициозными целями и большими планами!
Знакомьтесь с вакансией по ссылке и откликайтесь! Не забудьте указать в сопроводительном письме, что узнали о вакансии из Flutter. Много
Присоединяйся к нашей команде
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2💘2
Hola, Amigos! На связи Саша Чаплыгин, Flutter dev Amiga. Сегодня расскажу про пакет get_it для управления зависимостями в приложении. Он основан на паттерне «Service Locator», что позволяет создавать и регистрировать зависимости в централизованном контейнере и получать доступ к ним из любой части приложения.
Покажу, как использовать пакет на примере регистрации синглтона.
Затем используем
И в initState «регистрируем» синглтон.
Теперь, находясь на любой странице приложения, мы можем обратиться к нужному нам репозиторию с помощью
Get It — надежный инструмент для управления зависимостями в ваших приложениях Flutter, обеспечивая удобство, эффективность и чистоту кода.
Пишите о вашем опыте с Get It в чате!
Покажу, как использовать пакет на примере регистрации синглтона.
/// code above
runApp(const VnApp());
}, (e, s) async {});
}
class VnApp extends StatefulWidget {
const VnApp({super.key});
@override
State<VnApp> createState() => _VnAppState();
}
class _VnAppState extends State<VnApp> {
GetIt getIt = GetIt.instance;
Затем используем
MultiRepositoryProvider
и RepositoryProvider
из пакета flutter_bloc для того, чтобы мы смогли обратиться к синглтону из любой части приложения. Переменная router у нас отвечает за навигацию с пакетом go_router.
MultiRepositoryProvider(
providers: [
RepositoryProvider(create: (context) => getIt),
RepositoryProvider(create: (context) => router),
],
И в initState «регистрируем» синглтон.
getIt.registerSingleton(router);
var storage = StorageRepository();
getIt.registerSingleton<StorageRepository>(storage);
Теперь, находясь на любой странице приложения, мы можем обратиться к нужному нам репозиторию с помощью
context.read<GetIt>().get<…>()
.
class MainPage extends StatelessWidget {
const MainPage({super.key});
@override
Widget build(BuildContext context) {
return BlocProvider(
create: (context) => MainBloc(
pageState: PageState(),
mainRepository: context.read<GetIt>().get<MainRepository>(),
profileRepository: context.read<GetIt>().get<ProfileRepository>(),
),
Get It — надежный инструмент для управления зависимостями в ваших приложениях Flutter, обеспечивая удобство, эффективность и чистоту кода.
Пишите о вашем опыте с Get It в чате!
👎30❤9👍8🔥3💩3🥰1💘1
Apple усиливает защиту данных пользователей с 1 мая
Hola, Amigos! Apple ввел новые требования о файле PrivacyInfo.xcprivacy, которое направлено на то, чтобы разработчики явно указывали, какие данные собирают их приложения и для каких целей эти данные используются.
До 1 мая 2024 года все приложения должны быть обновлены и должны содержать файл PrivacyInfo.xcprivacy с корректно заполненной информацией о конфиденциальности.
⚙️ Большинство библиотек уже включают в себя Privacy Manifest. Проверьте обновления для используемых вами библиотек.
Создание файла PrivacyInfo.xcprivacy:
1️⃣ File -> New -> File
2️⃣ Выберите шаблон App Privacy
3️⃣ Выберите таргет вашего проекта или SDK
4️⃣ Назовите файл PrivacyInfo и сохраните
Заполнение файла PrivacyInfo.xcprivacy:
1️⃣ Указать тип данных из письма от Apple (например, местоположение, контакты, фотографии и т.д.)
2️⃣ Найти категорию в документации
3️⃣ Описать, как эти данные используются вашим приложением и обосновать необходимость сбора этих данных
Советы по заполнению:
🔵 Убедитесь, что вы указываете все данные, которые собираете, а также цель сбора данных.
🔵 Будьте честны. Это поможет избежать проблем с проверкой приложения.
🔵 Если вы не знаете, с какой целью в приложении используется определённая категория, вы можете найти в коде конкретные методы.
1 мая уже совсем близко, поэтому советуем убедиться, что вы обновили свои приложения. Всем хорошего кода!🙂
Hola, Amigos! Apple ввел новые требования о файле PrivacyInfo.xcprivacy, которое направлено на то, чтобы разработчики явно указывали, какие данные собирают их приложения и для каких целей эти данные используются.
До 1 мая 2024 года все приложения должны быть обновлены и должны содержать файл PrivacyInfo.xcprivacy с корректно заполненной информацией о конфиденциальности.
Создание файла PrivacyInfo.xcprivacy:
Заполнение файла PrivacyInfo.xcprivacy:
Советы по заполнению:
1 мая уже совсем близко, поэтому советуем убедиться, что вы обновили свои приложения. Всем хорошего кода!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4❤2💘1
Полезные посты и статьи апреля, которые вы могли пропустить
Hola, Amigos! Собрали для вас в одну подборку все полезные посты и статьи апреля, чтобы вам было чем заняться на майских праздниках🙂
Выбирайте, что вам интересно, и переходите по ссылкам.
🔵 Записки мобильного разработчика (пакет visibility_detector)
🔵 Обзор pin_code_fields
🔵 Полезный пакет для управления яркостью экрана
🔵 Home Widget для iOS
🔴 Вакансия Middle Flutter-разработчика в Amiga
🔵 Полезный пакет для управления зависимостями в приложении
🔵 Apple усиливает защиту данных пользователей с 1 мая
Полезные пакеты вы всегда найдёте по тэгу #пп.
Всем хорошего кода!❤️
Hola, Amigos! Собрали для вас в одну подборку все полезные посты и статьи апреля, чтобы вам было чем заняться на майских праздниках
Выбирайте, что вам интересно, и переходите по ссылкам.
Полезные пакеты вы всегда найдёте по тэгу #пп.
Всем хорошего кода!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3❤🔥2👏1💘1
14 мая Google I/O
Hola, Amigos! Грядет одно из самых ожидаемых событий в мире технологий — конференция Google I/O! В этом году она пройдет с 14 по 17 мая и обещает множество захватывающих новостей и анонсов для мобильных разработчиков⚙️
Google I/O — это отличная возможность погрузиться в мир новых технологий, продуктов и инноваций от Google. Для флаттер-разработчиков это особенно важное событие, так как на конференции обычно анонсируются значительные обновления и нововведения в экосистеме Google, включая инструменты и ресурсы для разработки приложений на Flutter.
Конференция проходит офлайн, но у нас будет возможность узнать о новых возможностях и инструментах Flutter в прямом эфире. Регистрируйтесь на официальном сайте Google I/O🙂
Hola, Amigos! Грядет одно из самых ожидаемых событий в мире технологий — конференция Google I/O! В этом году она пройдет с 14 по 17 мая и обещает множество захватывающих новостей и анонсов для мобильных разработчиков
Google I/O — это отличная возможность погрузиться в мир новых технологий, продуктов и инноваций от Google. Для флаттер-разработчиков это особенно важное событие, так как на конференции обычно анонсируются значительные обновления и нововведения в экосистеме Google, включая инструменты и ресурсы для разработки приложений на Flutter.
Конференция проходит офлайн, но у нас будет возможность узнать о новых возможностях и инструментах Flutter в прямом эфире. Регистрируйтесь на официальном сайте Google I/O
Please open Telegram to view this post
VIEW IN TELEGRAM
💘4👌3❤2👍1🍓1
Обзор Flutter Flow
Hola, Amigos! Сегодня мы поговорим о инструменте Flutter Flow, который поможет вам ускорить и упростить разработку мобильных приложений на Flutter.
Что такое Flutter Flow
Это инструмент для визуальной разработки мобильных приложений на базе Flutter. Он предоставляет удобный веб-интерфейс, позволяющий создавать и настраивать дизайн приложения без необходимости писать код вручную.
Преимущества инструмента
⚙️ Визуальный интерфейс позволяет создавать и редактировать компоненты дизайна приложения без написания кода.
⚙️ Легкое создание и настройка готовых компонентов: кнопки, поля ввода, списки и многое другое.
⚙️ Автоматическая генерация кода позволяет быстро перенести ваш дизайн в реальное приложение.
⚙️ Импорт существующего кода позволяет интегрировать ваш существующий код с визуально созданным интерфейсом.
Практический пример использования
Представим, что у вас есть задача создать экран входа в приложение. С помощью Flutter Flow вы можете:
1️⃣ Добавить элементы ввода для имени пользователя и пароля.
2️⃣ Создать кнопку «Войти», которая будет активировать процесс аутентификации.
3️⃣ Настроить внешний вид элементов, выбрав подходящие цвета, шрифты и стили.
Все это можно сделать в несколько простых шагов, без необходимости писать код.
Создавайте потрясающие Flutter-приложения с Flutter Flow! Экспериментируйте и изучайте все возможности этого инструмента, чтобы сделать вашу разработку еще более эффективной и удобной.
Делитесь в чате, используете ли вы Flutter Flow в работе?
Hola, Amigos! Сегодня мы поговорим о инструменте Flutter Flow, который поможет вам ускорить и упростить разработку мобильных приложений на Flutter.
Что такое Flutter Flow
Это инструмент для визуальной разработки мобильных приложений на базе Flutter. Он предоставляет удобный веб-интерфейс, позволяющий создавать и настраивать дизайн приложения без необходимости писать код вручную.
Преимущества инструмента
Практический пример использования
Представим, что у вас есть задача создать экран входа в приложение. С помощью Flutter Flow вы можете:
Все это можно сделать в несколько простых шагов, без необходимости писать код.
Создавайте потрясающие Flutter-приложения с Flutter Flow! Экспериментируйте и изучайте все возможности этого инструмента, чтобы сделать вашу разработку еще более эффективной и удобной.
Делитесь в чате, используете ли вы Flutter Flow в работе?
Please open Telegram to view this post
VIEW IN TELEGRAM
👎33👍9💩7❤2💘2
Рейтинг мобильных разработчиков России по выручке в 2023 году
Hola, Amigos! Ну что, пошла жара! Рейтинг Digirate опубликовал результаты ииии… *барабанная дробь*
Amiga заняла 8 место среди компаний мобильных разработчиков по выручке в 2023 году❤️
Это не может не радовать, ведь нам всего 3 года! Честно признаться, когда мы погружаемся в рутину, то думаем, что за 3 года можно было и лучше. Но когда мы смотрим на цифры,а цифры никогда не лгут , то понимаем, что растем космически!
И останавливаться не собираемся. Уверенно стремимся в ТОП!
А если хочешь вместе с нами, то присоединяйся к нашей команде.
Hola, Amigos! Ну что, пошла жара! Рейтинг Digirate опубликовал результаты ииии… *барабанная дробь*
Amiga заняла 8 место среди компаний мобильных разработчиков по выручке в 2023 году
Это не может не радовать, ведь нам всего 3 года! Честно признаться, когда мы погружаемся в рутину, то думаем, что за 3 года можно было и лучше. Но когда мы смотрим на цифры,
И останавливаться не собираемся. Уверенно стремимся в ТОП!
А если хочешь вместе с нами, то присоединяйся к нашей команде.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🎉4💘3
Hola, Amigos! Сегодняшнего дня с нетерпением ждали все IT компании. Подготовка к Рейтингу Рунета, без преувеличений, длится целый год. Апрель выдался сумасшедшим, потому что нововведения сыпались на почту каждый день. В прямом смысле, хотелось рвать волосы на голове🤪
Но нужно отдать должное всем организаторам Рейтинга, ведь с каждым годом он становится всё прозрачнее и серьезнее, что позволяет заказчикам видеть ясную картину рынка заказной разработки. А также хотелось бы выразить благодарность за оперативные ответы, советы и разъяснения🙏
Что ж, перейдем к нашим победам:
1 место среди молодых разработчиков мобильных приложений
1 место среди молодых digital-подрядчиков крупнейших компаний
2 место среди разработчиков мобильных приложений для оптовой и розничной торговли
3 место среди компаний по анализу и тестированию мобильных приложений
4 место среди разработчиков мобильных приложений для промышленности и оборудования
5 место среди разработчиков приложений для услуг
6 место среди мобильных разработчиков Москвы
21 место среди мобильных разработчиков России
Мы сильно поднялись в этом году! Невероятно гордимся командой и радуемся результатам рейтинга 2024 года. Принимаем ваши поздравления в комментариях и поднимаем бокальчик шампанского!
Страшно представить, что будет на 4 году Amiga. Страшно интересно!😏
Но нужно отдать должное всем организаторам Рейтинга, ведь с каждым годом он становится всё прозрачнее и серьезнее, что позволяет заказчикам видеть ясную картину рынка заказной разработки. А также хотелось бы выразить благодарность за оперативные ответы, советы и разъяснения🙏
Что ж, перейдем к нашим победам:
1 место среди молодых разработчиков мобильных приложений
1 место среди молодых digital-подрядчиков крупнейших компаний
2 место среди разработчиков мобильных приложений для оптовой и розничной торговли
3 место среди компаний по анализу и тестированию мобильных приложений
4 место среди разработчиков мобильных приложений для промышленности и оборудования
5 место среди разработчиков приложений для услуг
6 место среди мобильных разработчиков Москвы
21 место среди мобильных разработчиков России
Мы сильно поднялись в этом году! Невероятно гордимся командой и радуемся результатам рейтинга 2024 года. Принимаем ваши поздравления в комментариях и поднимаем бокальчик шампанского!
Страшно представить, что будет на 4 году Amiga. Страшно интересно!😏
👏20❤10🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Макросы Dart: повышение уровня абстракции разработки
Hola, Amigos! Недавно прошла конфа Google I/O 2024, на которой было представлено множество новинок, но сегодня поговорим о нашумевшей фиче — Макросы Dart. Кто не смотрел прямой эфир, сейчас расскажем, в чем соль.
Долгое время болевой точкой для разработчиков Dart была тривиальная, но утомительная схема сериализации и десериализации JSON-данных. Создание многократно используемого и достаточно мощного решения является сложной задачей в Dart, поскольку он не поддерживает рефлексию во время выполнения по соображениям производительности. В качестве альтернативы мы прибегаем к решениям по генерации кода, таким как JsonSerializable. Они зависят от внешних инструментов, которые запускаются перед самим кодом, что усложняет работу разработчика.
На конференции анонсировали предварительную версию радикально нового подхода к сериализации и десериализации JSON: макроса JsonCodable.
Как это работает? Откуда взялся метод toJson() (и сопутствующий ему конструктор fromJson())?
Это экспериментальная реализация новой системы макросов, призванной упростить работу разработчиков. Когда компилятор Dart видит аннотацию @JsonCodable(), он немедленно находит определение макроса JsonCodable в реальном времени и начинает его выполнять. Вот как работает макрос:
1️⃣ Создайте новый класс - новую конструкцию языка, которая позволяет добавлять новые объявления к существующим классам.
2️⃣ Прочитайте определение класса Vehicle, данное разработчиком, и определите, что у него есть два поля - description и wheels.
3️⃣ Добавьте новую сигнатуру метода toJson в класс дополнения.
4️⃣ Заполните тело метода toJson, чтобы обработать сериализацию полей description и wheels.
Всё это происходит без задержек и интегрировано в существующие рабочие процессы разработчиков, такие как горячая перезагрузка, как показано в скринкасте.
Как вам такие новости? Делитесь в чате своими мыслями.
Hola, Amigos! Недавно прошла конфа Google I/O 2024, на которой было представлено множество новинок, но сегодня поговорим о нашумевшей фиче — Макросы Dart. Кто не смотрел прямой эфир, сейчас расскажем, в чем соль.
Долгое время болевой точкой для разработчиков Dart была тривиальная, но утомительная схема сериализации и десериализации JSON-данных. Создание многократно используемого и достаточно мощного решения является сложной задачей в Dart, поскольку он не поддерживает рефлексию во время выполнения по соображениям производительности. В качестве альтернативы мы прибегаем к решениям по генерации кода, таким как JsonSerializable. Они зависят от внешних инструментов, которые запускаются перед самим кодом, что усложняет работу разработчика.
На конференции анонсировали предварительную версию радикально нового подхода к сериализации и десериализации JSON: макроса JsonCodable.
Как это работает? Откуда взялся метод toJson() (и сопутствующий ему конструктор fromJson())?
Это экспериментальная реализация новой системы макросов, призванной упростить работу разработчиков. Когда компилятор Dart видит аннотацию @JsonCodable(), он немедленно находит определение макроса JsonCodable в реальном времени и начинает его выполнять. Вот как работает макрос:
Всё это происходит без задержек и интегрировано в существующие рабочие процессы разработчиков, такие как горячая перезагрузка, как показано в скринкасте.
Как вам такие новости? Делитесь в чате своими мыслями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19💘11❤5
Hola, Amigos! На связи Вова Зевеке, сегодня расскажу про пакет pod_player.
Ранее в своей статье я пробовал собрать кастомный видеоплеер с помощью пакета youtube_player_flutter. По итогу упёрся в баги, которые нельзя было решить возможностями Flutter. И нашёл замену!
Сам по себе pod_player не сильно отличается от большинства других пакетов для разработки видеоплеера. Однако, он куда меньше тормозит и быстрее грузит видео.
Сначала настроим необходимые разрешения. Для Android, нужно добавить в AndroidManifest.xml:
Если видео использует URL-адреса http, то добавляем:
Для iOS проводим настройку в файле Info.plist:
Пакет добавляет виджет PodVideoPlayer со свойствами:
- controller (PodPlayerController, контроллер для управления видеплеером);
- podProgressBarConfig (PodProgressBarConfig, настройка вёрстки полоски прогресса);
- videoThumbnail (DecorationImage?, превью видео);
- alwaysShowProgressBar (bool, определяет, будет ли всегда отображаться полоска прогресса);
- onToggleFullScreen (Future<void> Function(bool)?, коллбек при переходе плеера в полноэкранный режим);
- onLoading (Widget Function(BuildContext)?, определяет отображаемый виджет при загрузке видео);
- onVideoError (Widget Function()?, определяет отображаемый виджет при ошибке в видео);
- overlayBuilder (Widget Function(OverLayOptions)?, позволяет сделать кастомный интерфейс видеоплеера).
Чтобы плеер проигрывал определённое видео, нужно приложить ссылку на него в виде файла, веб-ссылки, youtube-id, ассет в приложении.
Код с примером пользования youtube-id:
Всем хорошего кода! Делитесь в чате своим опытом.
Ранее в своей статье я пробовал собрать кастомный видеоплеер с помощью пакета youtube_player_flutter. По итогу упёрся в баги, которые нельзя было решить возможностями Flutter. И нашёл замену!
Сам по себе pod_player не сильно отличается от большинства других пакетов для разработки видеоплеера. Однако, он куда меньше тормозит и быстрее грузит видео.
Сначала настроим необходимые разрешения. Для Android, нужно добавить в AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
Если видео использует URL-адреса http, то добавляем:
<application
- - -
- - - - - -
android:usesCleartextTraffic="true"
Для iOS проводим настройку в файле Info.plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Пакет добавляет виджет PodVideoPlayer со свойствами:
- controller (PodPlayerController, контроллер для управления видеплеером);
- podProgressBarConfig (PodProgressBarConfig, настройка вёрстки полоски прогресса);
- videoThumbnail (DecorationImage?, превью видео);
- alwaysShowProgressBar (bool, определяет, будет ли всегда отображаться полоска прогресса);
- onToggleFullScreen (Future<void> Function(bool)?, коллбек при переходе плеера в полноэкранный режим);
- onLoading (Widget Function(BuildContext)?, определяет отображаемый виджет при загрузке видео);
- onVideoError (Widget Function()?, определяет отображаемый виджет при ошибке в видео);
- overlayBuilder (Widget Function(OverLayOptions)?, позволяет сделать кастомный интерфейс видеоплеера).
Чтобы плеер проигрывал определённое видео, нужно приложить ссылку на него в виде файла, веб-ссылки, youtube-id, ассет в приложении.
Код с примером пользования youtube-id:
@override
void initState() {
controller = PodPlayerController(
playVideoFrom: PlayVideoFrom.youtube(
widget.videoId,
),
)..initialise();
…
}
…
body: PodVideoPlayer(controller: controller),
…
Всем хорошего кода! Делитесь в чате своим опытом.
👍8🔥7👏4🤩2💘1
Hola, Amigos! На связи команда Amiga.
Docker Hub прекратил работу на территории России. Это значит, что многие из нас могут столкнуться с проблемами при доступе к важным контейнерам и образам.
Чтобы минимизировать неудобства, предлагаем рассмотреть следующие решения:
1️⃣ Зеркала и альтернативы: Используйте зеркала Docker Hub или локальные репозитории для хранения и получения образов.
Рабочее проверенное решение: huecker.io
2️⃣ VPN: Для обхода блокировки можно воспользоваться VPN-сервисами. Это поможет получить доступ к Docker Hub с российской территории.
3️⃣ Локальные решения: Разверните свои собственные локальные Docker-реестры, чтобы хранить и управлять образами в пределах вашей инфраструктуры.
Если у вас есть другие идеи или решения, делитесь в чате!
Будем рады любой информации, которая поможет всем нам продолжать работать эффективно и без перебоев🙂
Docker Hub прекратил работу на территории России. Это значит, что многие из нас могут столкнуться с проблемами при доступе к важным контейнерам и образам.
Чтобы минимизировать неудобства, предлагаем рассмотреть следующие решения:
Рабочее проверенное решение: huecker.io
Если у вас есть другие идеи или решения, делитесь в чате!
Будем рады любой информации, которая поможет всем нам продолжать работать эффективно и без перебоев
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5❤4💘1
10-14 июня WWDC 2024
Hola, Amigos! Apple анонсировала долгожданное событие для всех разработчиков — WWDC 2024 (Worldwide Developers Conference), которое пройдет с 10 по 14 июня 2024 года. Это мероприятие является одной из самых значимых конференций в мире IT, и оно будет особенно полезно для мобильных разработчиков.
Почему стоит принять участие в WWDC 2024?
WWDC традиционно является платформой для анонса новых версий iOS и iPadOS. Узнайте первыми о новых функциях и API, которые можно будет использовать для улучшения ваших приложений. Это включает новые инструменты для UI/UX, улучшенные возможности безопасности, новые способы интеграции с Apple экосистемой и многое другое.
На конференции проходят сотни сессий, где инженеры Apple делятся лучшими практиками, демонстрируют новые инструменты и показывают, как эффективно использовать новые возможности платформы. Это шанс углубить свои знания и получить ответы на технические вопросы от экспертов.
Как принять участие?
Конференция WWDC 2024 пройдет бесплатно в онлайн-формате, что делает её доступной для всех, независимо от местоположения.
Просто добавьте себе это событие в календарь и не забудьте присоединиться на YouTube, подключив субтитры, если необходимо. Некоторые сессии можно будет посмотреть в приложении.
Делитесь в чате, пойдете ли на мероприятие?
Hola, Amigos! Apple анонсировала долгожданное событие для всех разработчиков — WWDC 2024 (Worldwide Developers Conference), которое пройдет с 10 по 14 июня 2024 года. Это мероприятие является одной из самых значимых конференций в мире IT, и оно будет особенно полезно для мобильных разработчиков.
Почему стоит принять участие в WWDC 2024?
WWDC традиционно является платформой для анонса новых версий iOS и iPadOS. Узнайте первыми о новых функциях и API, которые можно будет использовать для улучшения ваших приложений. Это включает новые инструменты для UI/UX, улучшенные возможности безопасности, новые способы интеграции с Apple экосистемой и многое другое.
На конференции проходят сотни сессий, где инженеры Apple делятся лучшими практиками, демонстрируют новые инструменты и показывают, как эффективно использовать новые возможности платформы. Это шанс углубить свои знания и получить ответы на технические вопросы от экспертов.
Как принять участие?
Конференция WWDC 2024 пройдет бесплатно в онлайн-формате, что делает её доступной для всех, независимо от местоположения.
Просто добавьте себе это событие в календарь и не забудьте присоединиться на YouTube, подключив субтитры, если необходимо. Некоторые сессии можно будет посмотреть в приложении.
Делитесь в чате, пойдете ли на мероприятие?
❤5🔥5👍3💘1
This media is not supported in your browser
VIEW IN TELEGRAM
Разработка с AI
Hola, Amigos! Сегодня поделимся с вами новостями о нейросети Gemini Pro, которая помогает разработчикам ускорить и упростить написание кода Android-приложений. Плюс повысить их качество, опираясь на подсказки AI.
Общаться с Gemini можно как на общие темы по разработке, так и задавая конкретные вопросы в окне чата. Нейросеть запоминает контекст разговора, что упрощает коммуникацию ведь не нужно объяснять каждый раз всё сначала. Например, у AI можно спросить, как добавить в приложение поддержку камеры.
Gemini поможет написать код с нуля, дописать его недостающие части, предложить свои дополнения и прокомментировать отдельные участки кода. Дополнительной возможностью стало создание приложений с генеративным AI на основе начального шаблона. Поддерживается ввод не только текста, но и изображений.
Для доступа к Gemini необходимо войти в свой аккаунт. Вы можете сами решить, нужно ли нейросеть автоматически дополнять код, или она будет взаимодействовать с ним только по запросу.
На данный момент Gemini в Android Studio функционирует в тестовом режиме и опробовать его можно бесплатно!
Рассказывайте в чате, кто уже успел повзаимодействовать с Gemini? Как вам?
Hola, Amigos! Сегодня поделимся с вами новостями о нейросети Gemini Pro, которая помогает разработчикам ускорить и упростить написание кода Android-приложений. Плюс повысить их качество, опираясь на подсказки AI.
Общаться с Gemini можно как на общие темы по разработке, так и задавая конкретные вопросы в окне чата. Нейросеть запоминает контекст разговора, что упрощает коммуникацию ведь не нужно объяснять каждый раз всё сначала. Например, у AI можно спросить, как добавить в приложение поддержку камеры.
Gemini поможет написать код с нуля, дописать его недостающие части, предложить свои дополнения и прокомментировать отдельные участки кода. Дополнительной возможностью стало создание приложений с генеративным AI на основе начального шаблона. Поддерживается ввод не только текста, но и изображений.
Для доступа к Gemini необходимо войти в свой аккаунт. Вы можете сами решить, нужно ли нейросеть автоматически дополнять код, или она будет взаимодействовать с ним только по запросу.
На данный момент Gemini в Android Studio функционирует в тестовом режиме и опробовать его можно бесплатно!
Рассказывайте в чате, кто уже успел повзаимодействовать с Gemini? Как вам?
👍9🔥3❤2👏1🤔1💘1
Краткая сводка WWDC 2024
Hola, Amigos! Недавно из опроса мы узнали, что профильные конференции не пользуются спросом среди подписчиков нашего канала, поэтому летим к вам с новостями WWDC 2024!
Про «летим» не шутили, именно так и началась презентация Apple. Будто заставка к фильму про супергероев🙂
iOS 18
Главные нововведения коснулись рабочего стола и всего, что с ним связано.
– Иконки можно раскрашивать и расставлять, как душе угодно. Очередная боль для разработчиков, если это будет делаться не в автоматическом режиме.
– Обновился центр управления: свайп вниз, слева, сверху. И иконки можно создавать свои, как на экране блокировки.
– Изменения коснулись и приложений: фото, сообщения и почта; но самая интересная фича — скрытие скриншотов в 2 клика.
iPadOS 18
– Впервые iPad с калькулятором! Можно писать сложные уравнения, и он сам посчитает.
– Обновились заметки, теперь рукописный текст будет исправляться ИИ.
macOS 15 Sequoia
– Самая полезная фича — работа с iPhone. Теперь можно вывести экран телефона на macOS. Это очень удобно для проведения демонстраций заказчику.
– Пуши будут объединяться, но пока не понятно как именно. Если сообщение прилетит в Telegram, то на маке будет показано только сообщение из Telegram для macOS или с телефона тоже?
– Наконец-то появилось удобное позиционирование рабочих окон, больше не требуется дополнительное приложение.
Apple Intelligence (AI)
И главная новость — Apple добавила ИИ в свои системы. Собственную полноценную LLM не используют [не доросла, значит, до представления миру]. А что-то сложное, связанное с текстом, делает ChatGPT бесплатно.
Что умеет AI? Генерирует картинки в 3 стилях, основываясь на контексте. Заглушает ненужные пуши. Обновленная Siri составит сильную конкуренцию остальным ИИ.
Даты релизов
🔴 Developer Beta уже доступна, но нужна подписка.
🔴 Public Beta выйдет в июле.
🔴 Финальный релиз осенью. iOS, watchOS, iPadOS в сентябре, macOS в октябре.
Пишите в чате, было ли интересно? И делитесь своим мнением об обновлениях!
Hola, Amigos! Недавно из опроса мы узнали, что профильные конференции не пользуются спросом среди подписчиков нашего канала, поэтому летим к вам с новостями WWDC 2024!
Про «летим» не шутили, именно так и началась презентация Apple. Будто заставка к фильму про супергероев
iOS 18
Главные нововведения коснулись рабочего стола и всего, что с ним связано.
– Иконки можно раскрашивать и расставлять, как душе угодно. Очередная боль для разработчиков, если это будет делаться не в автоматическом режиме.
– Обновился центр управления: свайп вниз, слева, сверху. И иконки можно создавать свои, как на экране блокировки.
– Изменения коснулись и приложений: фото, сообщения и почта; но самая интересная фича — скрытие скриншотов в 2 клика.
iPadOS 18
– Впервые iPad с калькулятором! Можно писать сложные уравнения, и он сам посчитает.
– Обновились заметки, теперь рукописный текст будет исправляться ИИ.
macOS 15 Sequoia
– Самая полезная фича — работа с iPhone. Теперь можно вывести экран телефона на macOS. Это очень удобно для проведения демонстраций заказчику.
– Пуши будут объединяться, но пока не понятно как именно. Если сообщение прилетит в Telegram, то на маке будет показано только сообщение из Telegram для macOS или с телефона тоже?
– Наконец-то появилось удобное позиционирование рабочих окон, больше не требуется дополнительное приложение.
Apple Intelligence (AI)
И главная новость — Apple добавила ИИ в свои системы. Собственную полноценную LLM не используют [не доросла, значит, до представления миру]. А что-то сложное, связанное с текстом, делает ChatGPT бесплатно.
Что умеет AI? Генерирует картинки в 3 стилях, основываясь на контексте. Заглушает ненужные пуши. Обновленная Siri составит сильную конкуренцию остальным ИИ.
Даты релизов
Пишите в чате, было ли интересно? И делитесь своим мнением об обновлениях!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💘3💩2🐳2🏆2🤷1