Редактируем видео с помощью FFmpeg на Kotlin
FFmpeg — это библиотека с открытым исходным кодом, которая позволяет редактировать видеофайлы. Однако для того, чтобы использовать FFmpeg в приложении на Android, нужно добавлять сторонние библиотеки и компилировать C/C++ с помощью Android NDK.
К счастью, сборку можно оптимизировать и использовать готовую скомпилированную библиотеку в проекте. В этой статье рассматриваются базовые функции по редактированию видео с помощью FFmpeg, а также как добавить саму библиотеку.
Для примера, автор статьи реализовал приложение, которое можно использовать для обрезки видео на Android:
https://tprg.ru/5Anv
Список альтернативных библиотек для FFmpeg: https://trac.ffmpeg.org/wiki/CompilationGuide/Android
#android
FFmpeg — это библиотека с открытым исходным кодом, которая позволяет редактировать видеофайлы. Однако для того, чтобы использовать FFmpeg в приложении на Android, нужно добавлять сторонние библиотеки и компилировать C/C++ с помощью Android NDK.
К счастью, сборку можно оптимизировать и использовать готовую скомпилированную библиотеку в проекте. В этой статье рассматриваются базовые функции по редактированию видео с помощью FFmpeg, а также как добавить саму библиотеку.
Для примера, автор статьи реализовал приложение, которое можно использовать для обрезки видео на Android:
https://tprg.ru/5Anv
Список альтернативных библиотек для FFmpeg: https://trac.ffmpeg.org/wiki/CompilationGuide/Android
#android
👍11
Дорожная карта для Flutter-разработчика
Если решили погрузиться в разработку приложений на Flutter, то лучше сразу выбрать план обучения. На GitHub есть roadmap, где собраны по категориям различные темы и ссылки на источники для обучения. Карта поможет понять, что следует изучить в первую очередь:
https://github.com/olexale/flutter_roadmap
(GitHub 4.1 тыс. звёзд)
#flutter
Если решили погрузиться в разработку приложений на Flutter, то лучше сразу выбрать план обучения. На GitHub есть roadmap, где собраны по категориям различные темы и ссылки на источники для обучения. Карта поможет понять, что следует изучить в первую очередь:
https://github.com/olexale/flutter_roadmap
(GitHub 4.1 тыс. звёзд)
#flutter
👍14
Как отслеживать местоположение пользователей в фоновом режиме на Android
Определение местоположения пользователя не так просто из-за ограничений и настройки разрешений. В этом видеоуроке разбирается, как настроить доступ к данным о местоположении в фоновом режиме для Android пользователей:
https://youtu.be/Jj14sw4Yxk0
#android
Определение местоположения пользователя не так просто из-за ограничений и настройки разрешений. В этом видеоуроке разбирается, как настроить доступ к данным о местоположении в фоновом режиме для Android пользователей:
https://youtu.be/Jj14sw4Yxk0
#android
❤13👍4
Сравниваем Java и Kotlin: аргументы «за» и «против»
Java — язык программирования общего назначения, и вместе с JavaScript и Python входит в число самых популярных языков в мире.
Kotlin пока не борется за этот пьедестал почёта, но стал сильным конкурентом Java, когда компания Google объявила его приоритетным языком для разработки на Android.
Сможет ли Kotlin полностью заменить Java? Ответ не так прост. Обо всем по порядку и на фактах этот вопрос разобрал специалист из «Иннотех». Если вы давно хотели узнать о плюсах и минусах каждого языка, то статья поможет в этом:
https://tprg.ru/MnJ3
#java #kotlin
Java — язык программирования общего назначения, и вместе с JavaScript и Python входит в число самых популярных языков в мире.
Kotlin пока не борется за этот пьедестал почёта, но стал сильным конкурентом Java, когда компания Google объявила его приоритетным языком для разработки на Android.
Сможет ли Kotlin полностью заменить Java? Ответ не так прост. Обо всем по порядку и на фактах этот вопрос разобрал специалист из «Иннотех». Если вы давно хотели узнать о плюсах и минусах каждого языка, то статья поможет в этом:
https://tprg.ru/MnJ3
#java #kotlin
🤨14👍7💩7⚡1
Обновления в Android Jetpack: что нового?
— Component Activity: новый FullyDrawnReporter API для получения информации о компонентах, которые готовы к взаимодействию. Вероятно изменения частично связаны с небольшим багом из прошлых версий.
— Compose Foundation Version 1.3.0: новый API Hyphens, который позволяет автоматически расставлять переносы в тексте.
— Core Google Shortcuts Version 1.1.0: пакет firebase-appindexing заменили на play-services-appindex. Этот пакет не совместим с Firebase App Indexing, поэтому разработчикам следует избегать использования обеих библиотек.
— Sqlite Version 2.3.0: переписали c Java на Kotlin.
Подробнее об обновлениях по ссылке:
https://developer.android.com/jetpack/androidx/versions/all-channel#october_5_2022
#android
— Component Activity: новый FullyDrawnReporter API для получения информации о компонентах, которые готовы к взаимодействию. Вероятно изменения частично связаны с небольшим багом из прошлых версий.
— Compose Foundation Version 1.3.0: новый API Hyphens, который позволяет автоматически расставлять переносы в тексте.
— Core Google Shortcuts Version 1.1.0: пакет firebase-appindexing заменили на play-services-appindex. Этот пакет не совместим с Firebase App Indexing, поэтому разработчикам следует избегать использования обеих библиотек.
— Sqlite Version 2.3.0: переписали c Java на Kotlin.
Подробнее об обновлениях по ссылке:
https://developer.android.com/jetpack/androidx/versions/all-channel#october_5_2022
#android
👍6
Как оптимизировать время сборки при помощи модульной архитектуры
Модульная архитектура используется для создания структуры приложения, при котором его функциональность разделяется на независимые, взаимозаменяемые модули. Например, ссылаясь лишь на один модуль, можно увеличить скорость сборки в Xcode.
По сути, это декомпозиция проекта на подсистемы и организация их взаимодействия. В этой статье рассматривается, как оптимизировать время выполнения сборки, используя API/Impl модули, а также почему большое количество переходных зависимостей замедляют приложение:
https://www.runway.team/blog/how-to-improve-ios-build-times-with-modularization
#ios
Модульная архитектура используется для создания структуры приложения, при котором его функциональность разделяется на независимые, взаимозаменяемые модули. Например, ссылаясь лишь на один модуль, можно увеличить скорость сборки в Xcode.
По сути, это декомпозиция проекта на подсистемы и организация их взаимодействия. В этой статье рассматривается, как оптимизировать время выполнения сборки, используя API/Impl модули, а также почему большое количество переходных зависимостей замедляют приложение:
https://www.runway.team/blog/how-to-improve-ios-build-times-with-modularization
#ios
👍2
Рекомендации Гарварда по составлению резюме и сопроводительных писем
В международные компании часто нужно писать сопроводительные письма. Также существуют требования для составления хорошего резюме.
В этом гайде собраны общие советы, которые показывают мотивацию кандидатов для работы, а также примеры писем и резюме:
https://hwpi.harvard.edu/files/ocs/files/hes-resume-cover-letter-guide.pdf
#советы
В международные компании часто нужно писать сопроводительные письма. Также существуют требования для составления хорошего резюме.
В этом гайде собраны общие советы, которые показывают мотивацию кандидатов для работы, а также примеры писем и резюме:
https://hwpi.harvard.edu/files/ocs/files/hes-resume-cover-letter-guide.pdf
#советы
👍10
А смогут ли PWA победить нативные приложения?
Существует мнение, что PWA являются идеальной альтернативой нативным приложениям: один код для управления, мгновенные обновления без App Reviews. Что тут может не понравиться?
Вот только PWA до сих пор не стали форматом по умолчанию для приложений. Одна из причин — безопасность. Нативные приложения проходят проверки в Google или Apple и тем самым подтверждают, что загрузка приложения безопасна, но не PWA.
В этой статье автор рассуждает: стоит ли давать PWA-приложениям доступ к каким-либо функциям телефона пользователя: контактам, календарю, Push-уведомлениям или нет:
https://tprg.ru/F2Cq
#pwa
Существует мнение, что PWA являются идеальной альтернативой нативным приложениям: один код для управления, мгновенные обновления без App Reviews. Что тут может не понравиться?
Вот только PWA до сих пор не стали форматом по умолчанию для приложений. Одна из причин — безопасность. Нативные приложения проходят проверки в Google или Apple и тем самым подтверждают, что загрузка приложения безопасна, но не PWA.
В этой статье автор рассуждает: стоит ли давать PWA-приложениям доступ к каким-либо функциям телефона пользователя: контактам, календарю, Push-уведомлениям или нет:
https://tprg.ru/F2Cq
#pwa
👍10
Заработная плата: исследование для разработчиков мобильных приложений
RayWenderlich провели опрос, в котором приняли участие 1257 разработчиков. Результаты показывают:
— опыт работы в отрасли IT,
— среднюю зарплату в различных странах, а также зарплату по языкам программирования (Kotlin, C++, Swift и т.д.),
— задачи, которые входят в обязанности разработчика (56% ответили, что также разрабатывают приложения в свободное время),
— заработок от дополнительных проектов.
Подробнее:
https://www.raywenderlich.com/state-of-mobile-jobs-2022
#ios #android
RayWenderlich провели опрос, в котором приняли участие 1257 разработчиков. Результаты показывают:
— опыт работы в отрасли IT,
— среднюю зарплату в различных странах, а также зарплату по языкам программирования (Kotlin, C++, Swift и т.д.),
— задачи, которые входят в обязанности разработчика (56% ответили, что также разрабатывают приложения в свободное время),
— заработок от дополнительных проектов.
Подробнее:
https://www.raywenderlich.com/state-of-mobile-jobs-2022
#ios #android
👍6👎3
Мероприятия для разработчиков: Android Dev Summit 2022
Спустя 3 года, Google объявила о проведении мероприятий в разных странах. Из-за пандемии ADS проводились лишь в онлайн формате.
Google также проведёт технические сессии в виде онлайн трансляций на YouTube, которые пройдут в течение трёх недель:
— Modern Android Development: 24 октября,
— Form Factors: 9 ноября,
— Platform: 14 ноября.
Сохраняйте в календарь, чтобы не пропустить!
Источник: https://android-developers.googleblog.com/2022/10/android-dev-summit.html?m=1
#android
Спустя 3 года, Google объявила о проведении мероприятий в разных странах. Из-за пандемии ADS проводились лишь в онлайн формате.
Google также проведёт технические сессии в виде онлайн трансляций на YouTube, которые пройдут в течение трёх недель:
— Modern Android Development: 24 октября,
— Form Factors: 9 ноября,
— Platform: 14 ноября.
Сохраняйте в календарь, чтобы не пропустить!
Источник: https://android-developers.googleblog.com/2022/10/android-dev-summit.html?m=1
#android
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Обзор анимации «TreeView» на Flutter
animated_tree_view — это пакет, предоставляющий древовидную структуру данных, которую можно визуализировать в виде линейного списка. В библиотеке есть много полезных методов для добавления, вставки и удаления узлов.
Виджет базируется на AnimatedList и может даже использоваться в качестве его замены. Существует два варианта реализации пакета:
— TreeView: структура Map,
— TreeView.indexed: основывается на структуре List.
Источник: https://pub.dev/packages/animated_tree_view
#flutter
animated_tree_view — это пакет, предоставляющий древовидную структуру данных, которую можно визуализировать в виде линейного списка. В библиотеке есть много полезных методов для добавления, вставки и удаления узлов.
Виджет базируется на AnimatedList и может даже использоваться в качестве его замены. Существует два варианта реализации пакета:
— TreeView: структура Map,
— TreeView.indexed: основывается на структуре List.
Источник: https://pub.dev/packages/animated_tree_view
#flutter
👍10
Шпаргалка по Mobile System Design: материалы для подготовки к собеседованию
В этом репозитории приведена простая структура для интервью по Mobile System Design. В качестве примера в проекте рассмотрена реализация Twitter ленты.
Также в гайде собраны вопросы, которые может задать интервьюер, советы по подготовке и дополнительные материалы для изучения.
GitHub (2.1 тыс. звёзд):
https://github.com/weeeBox/mobile-system-design
#собеседование
В этом репозитории приведена простая структура для интервью по Mobile System Design. В качестве примера в проекте рассмотрена реализация Twitter ленты.
Также в гайде собраны вопросы, которые может задать интервьюер, советы по подготовке и дополнительные материалы для изучения.
GitHub (2.1 тыс. звёзд):
https://github.com/weeeBox/mobile-system-design
#собеседование
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
iOS 2022: Telegram объявляет о проведении первого тура конкурса
Разработчикам предлагается создать приложение для редактирования мультимедиа на Swift, похожее на встроенный инструмент рисования в iOS. Призовой фонд составляет $50,000.
Демонстрационное приложение должно быть совместимо с iOS 13+. Также использование сторонних реализаций или UI-фреймворков строго запрещено.
Срок подачи: до 31 октября. Полный список требований по ссылке:
https://contest.com/docs/iOS-Oct22-Round1
#ios
Разработчикам предлагается создать приложение для редактирования мультимедиа на Swift, похожее на встроенный инструмент рисования в iOS. Призовой фонд составляет $50,000.
Демонстрационное приложение должно быть совместимо с iOS 13+. Также использование сторонних реализаций или UI-фреймворков строго запрещено.
Срок подачи: до 31 октября. Полный список требований по ссылке:
https://contest.com/docs/iOS-Oct22-Round1
#ios
👍6
Совместное использование Flutter и WebSocket
Для обмена сообщениями в режиме реального времени, GPS-отслеживания или видеозвонков часто используется WebSocket.
В этой статье рассматривается, что такое модель Pub/Sub, а также как подключиться к WebSocket на Flutter и настроить работу соединений. В конце статьи автор делится советами, которые помогут улучшить работу приложения с веб-сокетами:
https://blog.devgenius.io/web-socket-in-flutter-615d21ddf1c5
#flutter
Для обмена сообщениями в режиме реального времени, GPS-отслеживания или видеозвонков часто используется WebSocket.
В этой статье рассматривается, что такое модель Pub/Sub, а также как подключиться к WebSocket на Flutter и настроить работу соединений. В конце статьи автор делится советами, которые помогут улучшить работу приложения с веб-сокетами:
https://blog.devgenius.io/web-socket-in-flutter-615d21ddf1c5
#flutter
👍6
Новое руководство по архитектуре приложений от Google
На официальном сайте добавили документацию по UI State production. В этой части рассматривается, как правильно реализовать и управлять состоянием, а именно:
— какие API использовать,
— работа с One-shot и Stream API для изменения UI-состояния,
— пайплайн.
https://developer.android.com/topic/architecture/ui-layer/state-production
#android
На официальном сайте добавили документацию по UI State production. В этой части рассматривается, как правильно реализовать и управлять состоянием, а именно:
— какие API использовать,
— работа с One-shot и Stream API для изменения UI-состояния,
— пайплайн.
https://developer.android.com/topic/architecture/ui-layer/state-production
#android
👍13
Жизненные циклы в Activity и View Model
Про Activity Lifecycle есть подробная документация, однако намного меньше информации по жизненному циклу View Model. Например, когда именно запускается процесс его уничтожения?
Для демонстрации работы жизненного цикла в Activity и View Model, автор статьи реализовал простое приложение и с помощью логов, а также таблиц объяснил эти процессы:
https://vtsen.hashnode.dev/activity-and-view-model-lifecycles-demo-app
#android
Про Activity Lifecycle есть подробная документация, однако намного меньше информации по жизненному циклу View Model. Например, когда именно запускается процесс его уничтожения?
Для демонстрации работы жизненного цикла в Activity и View Model, автор статьи реализовал простое приложение и с помощью логов, а также таблиц объяснил эти процессы:
https://vtsen.hashnode.dev/activity-and-view-model-lifecycles-demo-app
#android
👍17🐳6🔥1
Какие вопросы вы бы задали разработчикам из Apple?
В октябре Apple организовывает «Ask Apple» — чат в Slack в формате Q&A с экспертами из компании, где разработчики могут задать интересующие их вопросы или просто пообщаться. Основные темы:
—Developer Tools,
—Graphics & Games,
—ML & Vision,
—SwiftUI & UI Frameworks и другие.
Также можно оставить заявку на индивидуальную 25-минутную консультацию.
Подробнее:
https://developer.apple.com/events/ask-apple/
#ios
В октябре Apple организовывает «Ask Apple» — чат в Slack в формате Q&A с экспертами из компании, где разработчики могут задать интересующие их вопросы или просто пообщаться. Основные темы:
—Developer Tools,
—Graphics & Games,
—ML & Vision,
—SwiftUI & UI Frameworks и другие.
Также можно оставить заявку на индивидуальную 25-минутную консультацию.
Подробнее:
https://developer.apple.com/events/ask-apple/
#ios
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Android Studio: библиотека плагинов
Репозиторий, в котором по категориям собраны совершенно разные плагины: для генерации кода, Gradle, Kotlin, дизайна и просто бесполезные, но смешные виджеты — вдруг вам захочется запускать огонь и искры при вводе?
Источник:
https://github.com/andyb129/AndroidStudioPluginsNPlay
Чтобы вы добавили еще в этот список?
#android
Репозиторий, в котором по категориям собраны совершенно разные плагины: для генерации кода, Gradle, Kotlin, дизайна и просто бесполезные, но смешные виджеты — вдруг вам захочется запускать огонь и искры при вводе?
Источник:
https://github.com/andyb129/AndroidStudioPluginsNPlay
Чтобы вы добавили еще в этот список?
#android
🤡18😁8🔥5❤1
Интересный проект с открытым исходным кодом для Flutter-разработчиков
Blink Comparison — приложение, которое помогает сравнить фото пломб с защитой, чтобы вы могли видеть различия и обнаружить взлом. Снимки можно делать на месте или добавлять из библиотеки: все изображения зашифрованы, что затрудняет их кражу или замену.
Метод «Blink Comparison» раньше использовался астрономами, чтобы найти отличия между двумя фотографиями ночного неба.
Репозиторий:
https://github.com/proninyaroslav/blink-comparison
#flutter
Blink Comparison — приложение, которое помогает сравнить фото пломб с защитой, чтобы вы могли видеть различия и обнаружить взлом. Снимки можно делать на месте или добавлять из библиотеки: все изображения зашифрованы, что затрудняет их кражу или замену.
Метод «Blink Comparison» раньше использовался астрономами, чтобы найти отличия между двумя фотографиями ночного неба.
Репозиторий:
https://github.com/proninyaroslav/blink-comparison
#flutter
🔥5👍3💩2
Реализация приложения для мебельного магазина на Swift UI
В видеоуроке показывается, как создать главную страницу с меню и профилем пользователя и настроить фильтр товаров по двум категориям: лучшие и популярные.
На второй странице есть полная информация о самом товаре, а также меню корзины.
Ссылка на видеурок: https://youtu.be/EbTl0GX-bvw
#swiftui
В видеоуроке показывается, как создать главную страницу с меню и профилем пользователя и настроить фильтр товаров по двум категориям: лучшие и популярные.
На второй странице есть полная информация о самом товаре, а также меню корзины.
Ссылка на видеурок: https://youtu.be/EbTl0GX-bvw
#swiftui
👍8