.NET разработчик погрузился во Flutter и остался доволен
Интересный взгляд на Flutter с позиции бэкэндщика, ранее работавшего с .NET. Забегая вперед, скажу, что опыт использования оказался более чем позитивным, хотя не обошлось и без критики (ожидаемо негативные комментарии вызвали репозитории-однодневки и работа Gradle)
При этом прочесть полезно будет и тем, кто не знаком с флаттером - автор довольно подробно разбирает основы интерфейса и концепции "It's all widgets", порог вхождения и даже написание Hello World средствами SDK
#android #flutter
Интересный взгляд на Flutter с позиции бэкэндщика, ранее работавшего с .NET. Забегая вперед, скажу, что опыт использования оказался более чем позитивным, хотя не обошлось и без критики (ожидаемо негативные комментарии вызвали репозитории-однодневки и работа Gradle)
При этом прочесть полезно будет и тем, кто не знаком с флаттером - автор довольно подробно разбирает основы интерфейса и концепции "It's all widgets", порог вхождения и даже написание Hello World средствами SDK
#android #flutter
Mobius 2021: Конференция по мобильной разработке
➡️ Что?
Техническая конференция по мобильной разработке, не привязанная к каким-либо платформам и технологиям
➡️ Где?
Везде (онлайн)
➡️ Когда?
Скоро (22-25 ноября)
На этом моменте хотел сделать выборку интересных докладов, но посмотрел программу и в целом рекомендовал бы к прослушивани почти все. Материала представлено будет немало: от использования State Machine в SwiftUI до развенчания популярных мифов про Flutter. Ссылку на программу оставлю, стоимость билетов стартует от 18.000р на 4 дня
#event
➡️ Что?
Техническая конференция по мобильной разработке, не привязанная к каким-либо платформам и технологиям
➡️ Где?
Везде (онлайн)
➡️ Когда?
Скоро (22-25 ноября)
На этом моменте хотел сделать выборку интересных докладов, но посмотрел программу и в целом рекомендовал бы к прослушивани почти все. Материала представлено будет немало: от использования State Machine в SwiftUI до развенчания популярных мифов про Flutter. Ссылку на программу оставлю, стоимость билетов стартует от 18.000р на 4 дня
#event
Mobius 2021 Moscow. Конференция по мобильной разработке.
Mobius 2021 Moscow — конференция для мобильных разработчиков. Несколько десятков докладов об iOS, Android, кроссплатформенной разработке, инструментах, фреймворках и многом другом.
Зачем айфон слушает, как бьется ваше сердце? 🕵️♂️
Акселерометр и гироскоп - датчики, определяющие положение телефона в пространстве, скорость его перемещения и даже характер движения. Они входят в состав Core Motion Framework и работают практически постоянно.
Казалось бы, и что в этом такого? Загвоздка здесь заключается в том, что в актуальных версиях iOS приложениям не нужны никакие разрешения, чтобы считывать данные акселерометра — в отличие от, например, геолокации или микрофона.
Кроме того, многие приложения научились использовать акселерометр не совсем по назначению. Например, разработчики уже могут использовать этот датчик для измерения частоты сердечных сокращений, определения вашего местоположения при выключенной геолокации и даже подслушивания разговоров, когда разрешение на это вы не давали. Несколько простых примеров:
➡️ Facebook показывает диалог техподдержки, если телефон слишком сильно трясется
➡️ Instagram считывает данные акселерометра только при просмотре личных сообщений - вероятно, чтобы определять волнение пользователя при их прочтении по частоте сердцебиения
➡️ Когда вы разговариваете по телефону, акселерометр может улавливать микровибрации, создаваемые разговорным динамиком, и восстанавливать по ним исходные звуки, фактически записывая ваш звонок
Так что же такое акселерометр в айфоне: безобидный датчик для автоповорота экрана или серьезная угроза конфиденциальности пользователя? Спойлер: скорее второе. Больше информации и технические подробности — в прикрепленной статье 📃
#ios
Акселерометр и гироскоп - датчики, определяющие положение телефона в пространстве, скорость его перемещения и даже характер движения. Они входят в состав Core Motion Framework и работают практически постоянно.
Казалось бы, и что в этом такого? Загвоздка здесь заключается в том, что в актуальных версиях iOS приложениям не нужны никакие разрешения, чтобы считывать данные акселерометра — в отличие от, например, геолокации или микрофона.
Кроме того, многие приложения научились использовать акселерометр не совсем по назначению. Например, разработчики уже могут использовать этот датчик для измерения частоты сердечных сокращений, определения вашего местоположения при выключенной геолокации и даже подслушивания разговоров, когда разрешение на это вы не давали. Несколько простых примеров:
➡️ Facebook показывает диалог техподдержки, если телефон слишком сильно трясется
➡️ Instagram считывает данные акселерометра только при просмотре личных сообщений - вероятно, чтобы определять волнение пользователя при их прочтении по частоте сердцебиения
➡️ Когда вы разговариваете по телефону, акселерометр может улавливать микровибрации, создаваемые разговорным динамиком, и восстанавливать по ним исходные звуки, фактически записывая ваш звонок
Так что же такое акселерометр в айфоне: безобидный датчик для автоповорота экрана или серьезная угроза конфиденциальности пользователя? Спойлер: скорее второе. Больше информации и технические подробности — в прикрепленной статье 📃
#ios
AppTractor
Приложения для iPhone могут многое рассказать о вас с помощью акселерометра
Практически каждый современный смартфон оснащен акселерометром, который, как следует из названия, представляет собой датчик, измеряющий ускорение. Чаще всего он используется для определения ориентации устройства. У него также много других применений, будь…
Релизнулся Kotlin 1.6.0 🤖
Второй крупный релиз 2021 года, после 1.5.0, не обошелся без приятных изменений. Основное:
➡️ Улучшение стабильности для ряда функций (exhaustive when statements, suspending functions as supertypes, instantiation of annotation classes и другое)
➡️ Новый принцип управления памятью в Kotlin/Native (экспериментальная фича, так что можети будет работать не идеально)
➡️ Поддержка Xcode 13 для Kotlin/Native
➡️ Новый плагин для Gradle - Kover
Подробнее + инструкция по установке в блоге JetBrains
#android
Второй крупный релиз 2021 года, после 1.5.0, не обошелся без приятных изменений. Основное:
➡️ Улучшение стабильности для ряда функций (exhaustive when statements, suspending functions as supertypes, instantiation of annotation classes и другое)
➡️ Новый принцип управления памятью в Kotlin/Native (экспериментальная фича, так что может
➡️ Поддержка Xcode 13 для Kotlin/Native
➡️ Новый плагин для Gradle - Kover
Подробнее + инструкция по установке в блоге JetBrains
#android
The JetBrains Blog
Kotlin 1.6.0 Released | The Kotlin Blog
Kotlin 1.6.0 is now officially released with Stable exhaustive whens, Kover, and new memory manager for Kotlin/Native!
Неоморфизм - нестандартная философия дизайна, идущая наперекор гуглу с их Material You, что в наше время редкость 🤷
Библиотека neumorphic-compose изменяет стиль компонентов Jetpack Compose. Особенности:
➡️ Активное использование теней в элементах - в актуальных интерфейсах сейчас такого почти не встретишь
➡️ 3 варианта оформления: выпуклая, вогнутая и гибридная формы
➡️ Широкая кастомизация, темная/светлая темы
Стиль оригинальный, но довольно специфический - подойдет далеко не к каждому интерфейсу
#lib
Библиотека neumorphic-compose изменяет стиль компонентов Jetpack Compose. Особенности:
➡️ Активное использование теней в элементах - в актуальных интерфейсах сейчас такого почти не встретишь
➡️ 3 варианта оформления: выпуклая, вогнутая и гибридная формы
➡️ Широкая кастомизация, темная/светлая темы
Стиль оригинальный, но довольно специфический - подойдет далеко не к каждому интерфейсу
#lib
Apple заподозрили в накрутках 🙈
Ситуация вкратце: всего за месяц рейтинг приложения Apple Podcasts вырос с 1,8 до 4,7 баллов (что эквивалентно росту с "ужасно" до "отлично"). Ни одного обновления за это время не было.
На картинке выше — статистика рейтинга подкастов. Можем видеть, что купертиновцы похоже решили вообще не заморачиваться и просто нагоняли тысячи пятизвездочных отзывов каждый день. Обдуманная накрутка, адекватное распределение оценок — зачем все эти лишние действия, если магазин приложений контролируешь сам.
Напомню, ранее рейтинг подкастов обвалился в конце сентября из-за того, что Apple разрешили пользователям ставить оценки собственным приложениям компании.
В целом ситуация, конечно, очень странная. Такой корявый маркетинговый ход вполне ожидаемо увидеть в яндекс отзывах на странице только открывшегося ресторана, но уж точно не в проприетарных приложениях Apple. Лучше бы действительно интерфейс подкастов дотянули и обрывы звука поправили, чем вот это все.
#ios
Ситуация вкратце: всего за месяц рейтинг приложения Apple Podcasts вырос с 1,8 до 4,7 баллов (что эквивалентно росту с "ужасно" до "отлично"). Ни одного обновления за это время не было.
На картинке выше — статистика рейтинга подкастов. Можем видеть, что купертиновцы похоже решили вообще не заморачиваться и просто нагоняли тысячи пятизвездочных отзывов каждый день. Обдуманная накрутка, адекватное распределение оценок — зачем все эти лишние действия, если магазин приложений контролируешь сам.
Напомню, ранее рейтинг подкастов обвалился в конце сентября из-за того, что Apple разрешили пользователям ставить оценки собственным приложениям компании.
В целом ситуация, конечно, очень странная. Такой корявый маркетинговый ход вполне ожидаемо увидеть в яндекс отзывах на странице только открывшегося ресторана, но уж точно не в проприетарных приложениях Apple. Лучше бы действительно интерфейс подкастов дотянули и обрывы звука поправили, чем вот это все.
#ios
Вот через что приходится проходить людям, читающим некачественный код после другого разработчика 🤦
Неприятно? Еще как. Чтобы избежать подобного — отличный материал о написании чистого кода на Kotlin
#android
Неприятно? Еще как. Чтобы избежать подобного — отличный материал о написании чистого кода на Kotlin
#android
Искусство оптимизации в Android: уменьшаем вес приложения 👾
Оптимизация размера приложения — одна из важнейших предрелизных практик. Цифры говорят сами за себя: согласно недавнему исследованию, 70% пользователей учитывают вес приложения перед его загрузкой.
О чем статья: обфускация, компрессия ресурсов, оптимизация изображений, сжатие кода. Также приводится несколько полезных программ для помощи в оптимизации — например, Proguard для Java.
Прочитать можно на медиуме. Заявленное время чтения 7 минут, но по ощущениям займет чуть больше
#android
Оптимизация размера приложения — одна из важнейших предрелизных практик. Цифры говорят сами за себя: согласно недавнему исследованию, 70% пользователей учитывают вес приложения перед его загрузкой.
О чем статья: обфускация, компрессия ресурсов, оптимизация изображений, сжатие кода. Также приводится несколько полезных программ для помощи в оптимизации — например, Proguard для Java.
Прочитать можно на медиуме. Заявленное время чтения 7 минут, но по ощущениям займет чуть больше
#android
Hashbrown
Hashbrown | App Size Defines App Reach
70% of people in emerging markets consider app size before installing the application.
👍1
Не все так просто с неоморфизмом 🧐
Недавно рассказывал об относительно новой и подающей надежды концепции дизайна под названием неоморфизм. В последнее время все чаще вижу зарисовки на тему, например выше на фото - интернет-магазин Adidas, переосмысленный в этом стиле (больше примеров тут)
Казалось бы, отлично - свежий взгляд на дизайн и новое дыхание в UI, однако не обошлось и без ряда проблем. Основные претензии заключаются в сложностях с совместимостью и доступностью (accessibility для людей с ограниченными возможностями). Подробнее - здесь, материал конца 2020 года, но в целом до сих пор актуален
Кстати, на neumorphism.io можно самостоятельно поиграться с настройками неоморфических элементов и сразу получить CSS блок
Недавно рассказывал об относительно новой и подающей надежды концепции дизайна под названием неоморфизм. В последнее время все чаще вижу зарисовки на тему, например выше на фото - интернет-магазин Adidas, переосмысленный в этом стиле (больше примеров тут)
Казалось бы, отлично - свежий взгляд на дизайн и новое дыхание в UI, однако не обошлось и без ряда проблем. Основные претензии заключаются в сложностях с совместимостью и доступностью (accessibility для людей с ограниченными возможностями). Подробнее - здесь, материал конца 2020 года, но в целом до сих пор актуален
Кстати, на neumorphism.io можно самостоятельно поиграться с настройками неоморфических элементов и сразу получить CSS блок
Корутин много не бывает, поэтому сегодня разбираемся в работе с распространенными ошибками 🪲
Ловите неплохой материал по обработке исключений в Kotlin Coroutines через блоки Try-catch или CoroutineExceptionHandler. Время чтения — 4 минуты, а автор в основном проходится по верхам, так что отлично подойдет, чтобы освежить знания по теме
#android #tutorial
Ловите неплохой материал по обработке исключений в Kotlin Coroutines через блоки Try-catch или CoroutineExceptionHandler. Время чтения — 4 минуты, а автор в основном проходится по верхам, так что отлично подойдет, чтобы освежить знания по теме
#android #tutorial
Medium
Exception handling in Kotlin Coroutines
In this article, we will learn how to handle exceptions in coroutines.
Пихаем рекламу в лицо пользователю: Теперь с SDK от гугл 🌚
Google Mobile Ads — SDK для Flutter, работает напрямую с AdMob и Ad Manager и подтягивает в ваше приложение рекламные действия. Причем диапазон неплохой — от обычных баннеров до хитрых ходов вроде внутриигровых вознаграждений за просмотр видео
Поддерживает также модули покупок внутри приложений и онлайн-платежи через Apple/Google Pay
Если работаете с флаттером и планируете монетизировать приложения, очень рекомендую не обделять GMA вниманием. Это один из тех случаев, когда технология реально маст хэв
#android #ios #flutter
Google Mobile Ads — SDK для Flutter, работает напрямую с AdMob и Ad Manager и подтягивает в ваше приложение рекламные действия. Причем диапазон неплохой — от обычных баннеров до хитрых ходов вроде внутриигровых вознаграждений за просмотр видео
Поддерживает также модули покупок внутри приложений и онлайн-платежи через Apple/Google Pay
Если работаете с флаттером и планируете монетизировать приложения, очень рекомендую не обделять GMA вниманием. Это один из тех случаев, когда технология реально маст хэв
#android #ios #flutter
Почему мобильные видеографы все чаще выбирают Android? 🎥
Последний раз айфон возглавлял рейтинги камер DXOMARK в 2019 году, а именно это был 11 про макс. С тех пор яблочные девайсы не поднимались выше 4 места, на котором в этом году находится 13 про макс. Лидером рейтинга уже не в первый раз становится Huawei, существенно опережающий айфон по детализации и работе с цветом (но все еще не по стабилизации кадра)
Казалось бы, на этом моменте все в целом ясно: андроид-смартфоны вырвались в топ и обогнали айфоны по возможностям камеры. Однако это лишь железо. А что насчет ПО?
А насчет ПО хороших новостей для владельцев техники Apple также сегодня не предвидится. Разработчик mcpro24fps, утилиты для видеосъемки на телефон, рассказал на хабре, почему он, как и многие другие мобильные видеографы, выбирает андроид. Статья задевает много моментов — например, вечное упрямство Apple, запрещающих отключать агрессивный шумодав и искусственную резкость, или высокий битрейт на андроиде, добиться которого можно с помощью пары костылей
В общем, крайне занимательный материал для любителей мобильной съемки. На прочтение у меня ушло ~15 минут
_____
Зацените клип, снятый для одной неофолк группы на Redmi Note 9 Pro (телефон стоимостью в ~20.000 рублей). Работа выглядит просто бомбически и за 2021 год шесть раз становилась лауреатом международных кинофестивалей
#ios #android
Последний раз айфон возглавлял рейтинги камер DXOMARK в 2019 году, а именно это был 11 про макс. С тех пор яблочные девайсы не поднимались выше 4 места, на котором в этом году находится 13 про макс. Лидером рейтинга уже не в первый раз становится Huawei, существенно опережающий айфон по детализации и работе с цветом (но все еще не по стабилизации кадра)
Казалось бы, на этом моменте все в целом ясно: андроид-смартфоны вырвались в топ и обогнали айфоны по возможностям камеры. Однако это лишь железо. А что насчет ПО?
А насчет ПО хороших новостей для владельцев техники Apple также сегодня не предвидится. Разработчик mcpro24fps, утилиты для видеосъемки на телефон, рассказал на хабре, почему он, как и многие другие мобильные видеографы, выбирает андроид. Статья задевает много моментов — например, вечное упрямство Apple, запрещающих отключать агрессивный шумодав и искусственную резкость, или высокий битрейт на андроиде, добиться которого можно с помощью пары костылей
В общем, крайне занимательный материал для любителей мобильной съемки. На прочтение у меня ушло ~15 минут
_____
Зацените клип, снятый для одной неофолк группы на Redmi Note 9 Pro (телефон стоимостью в ~20.000 рублей). Работа выглядит просто бомбически и за 2021 год шесть раз становилась лауреатом международных кинофестивалей
#ios #android
Хабр
Почему видеографы выбирают Андроид?
Привет, камрады, киноделы и просто читатели! Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps , предназначенного для видеосъёмки на телефон. Внезапные 100K прочтений моей...
Шпаргалка для входа в айти 🤫
Давно не заходил на roadmap.sh, а тем временем там приятно изменился дизайн и добавилось несколько направлений, которых не было еще в октябре (а именно Angular, Python, Go и Java). Кроме того, в разделе coming soon теперь значится AWS и QA
Если вдруг вы по какой-то причине до сих пор не знакомы с этим сервисом, очень советую посмотреть, мне в свое время эти роадмапы страшно помогли
_____
Ничего по iOS, к сожалению, до сих пор не завезли
#android
Давно не заходил на roadmap.sh, а тем временем там приятно изменился дизайн и добавилось несколько направлений, которых не было еще в октябре (а именно Angular, Python, Go и Java). Кроме того, в разделе coming soon теперь значится AWS и QA
Если вдруг вы по какой-то причине до сих пор не знакомы с этим сервисом, очень советую посмотреть, мне в свое время эти роадмапы страшно помогли
_____
Ничего по iOS, к сожалению, до сих пор не завезли
#android
roadmap.sh
Developer Roadmaps - roadmap.sh
Community driven roadmaps, articles and guides for developers to grow in their career.
Умный дом из глупых предметов на базе iPhone и Apple HomeKit 🏠
Существует два основных пути сбора и настройки умного дома:
➡️ Можно выбрать какую-то существующую экосистему (свои варианты предлагают Samsung, LG, Xiaomi и не только) и пользоваться из коробки, не забыв прикупить полный набор умных девайсов от производителя
➡️ А можно включить режим красных глаз и обмазать микроконтроллерами свои обычные глупые предметы, вроде светодиодной ленты или электрочайника, получив схожий результат при значительно меньших тратах
Нас, конечно же, интересует второй вариант. Сегодняшний материал рассказывает про подготовительный этап этого действа: от самых начал вроде работы с микроконтроллером (в данном случае ESP32) до проработки общего флоу и написания адаптированной прошивки для HomeKit.
📖 Время чтения ~10 минут
#ios
Существует два основных пути сбора и настройки умного дома:
➡️ Можно выбрать какую-то существующую экосистему (свои варианты предлагают Samsung, LG, Xiaomi и не только) и пользоваться из коробки, не забыв прикупить полный набор умных девайсов от производителя
➡️ А можно включить режим красных глаз и обмазать микроконтроллерами свои обычные глупые предметы, вроде светодиодной ленты или электрочайника, получив схожий результат при значительно меньших тратах
Нас, конечно же, интересует второй вариант. Сегодняшний материал рассказывает про подготовительный этап этого действа: от самых начал вроде работы с микроконтроллером (в данном случае ESP32) до проработки общего флоу и написания адаптированной прошивки для HomeKit.
📖 Время чтения ~10 минут
#ios
Хабр
Умный дом iOS разработчика
В свободное время (а иногда и в рабочее) я изучаю микроконтроллеры и собираю умный дом у себя в квартире, а так как по профессии я iOS-разработчик, то на умный дом я смотрю через призму iPhone и...
Пишем интерфейс чата на Flutter 💬
Аккуратный дефолтный чат с bubble-сообщениями, переносом строки и современным дизайном
➡️ Подойдет буквально для чего угодно, где используется чат
➡️ Хорошая кастомизация, можно к примеру изменить формат переноса в зависимости от ширины экрана
➡️ Мультиплатформа — полностью на Flutter
Туториал по ссылке ниже, время чтения ~10 минут
#flutter
Аккуратный дефолтный чат с bubble-сообщениями, переносом строки и современным дизайном
➡️ Подойдет буквально для чего угодно, где используется чат
➡️ Хорошая кастомизация, можно к примеру изменить формат переноса в зависимости от ширины экрана
➡️ Мультиплатформа — полностью на Flutter
Туториал по ссылке ниже, время чтения ~10 минут
#flutter