Что не так с Flutter? 10 проблем фреймворка
Flutter принято хвалить за его декларативный стиль, кроссплатформенность и множество крутых фишек. Но у него, как и любого продукта, есть недостатки.
В статье рассмотрены проблемы фреймворка, которые мешают разрабатывать приложения:
tprg.ru/HduT
#flutter
Flutter принято хвалить за его декларативный стиль, кроссплатформенность и множество крутых фишек. Но у него, как и любого продукта, есть недостатки.
В статье рассмотрены проблемы фреймворка, которые мешают разрабатывать приложения:
tprg.ru/HduT
#flutter
👍1
Полезные советы по написанию кода на Kotlin, чтобы затем не пришлось рефакторить
В условиях работы над большим проектом разработчики постоянно получают новые требования к продукту. Из-за этого код, который был написан некоторое время назад, необходимо переделать.
Можно ли минимизировать рефакторинг и писать код, который выдержит будущие изменения? Подробнее — в статье:
tprg.ru/TI4q
#kotlin #android
В условиях работы над большим проектом разработчики постоянно получают новые требования к продукту. Из-за этого код, который был написан некоторое время назад, необходимо переделать.
Можно ли минимизировать рефакторинг и писать код, который выдержит будущие изменения? Подробнее — в статье:
tprg.ru/TI4q
#kotlin #android
«Тосты» на SwiftUI без дополнительных кнопок
В SwiftUI демонстрация уведомлений на экране возможна только через механизм
Такой подход неудобен для отображения небольших уведомлений вроде «Сообщение отправлено» или «Возникла ошибка».
Но в этом может помочь библиотека AlertToast, которая позволяет выводить уведомления на SwiftUI без кнопок:
github.com/elai950/AlertToast
#swiftui #ios
В SwiftUI демонстрация уведомлений на экране возможна только через механизм
Alert. Поэтому пользователю придётся постоянно нажимать кнопку, чтобы скрыть уведомление.Такой подход неудобен для отображения небольших уведомлений вроде «Сообщение отправлено» или «Возникла ошибка».
Но в этом может помочь библиотека AlertToast, которая позволяет выводить уведомления на SwiftUI без кнопок:
github.com/elai950/AlertToast
#swiftui #ios
👍1
Вышла первая бета-версия Jetpack Compose
Вчера на TheAndroidShow Google представила и вскоре сделала доступным Jetpack Compose 1.0.0-beta01.
Самое главное, о чём сказали на мероприятии: API фреймворка больше не будет кардинально меняться. Разработчики Jetpack Compose сосредоточатся на выявлении и устранении багов вплоть до выхода Stable-версии. А это значит, что переход на последующие версии фреймворка не должен ломать старый код.
Подробнее о том, что принесла бета-версия: tprg.ru/yEZl
Также Google выпустила ролик с кратким обзором беты-версии Jetpack Compose: youtu.be/Ef1xKWjA9E8
#android #jetpack
Вчера на TheAndroidShow Google представила и вскоре сделала доступным Jetpack Compose 1.0.0-beta01.
Самое главное, о чём сказали на мероприятии: API фреймворка больше не будет кардинально меняться. Разработчики Jetpack Compose сосредоточатся на выявлении и устранении багов вплоть до выхода Stable-версии. А это значит, что переход на последующие версии фреймворка не должен ломать старый код.
Подробнее о том, что принесла бета-версия: tprg.ru/yEZl
Также Google выпустила ролик с кратким обзором беты-версии Jetpack Compose: youtu.be/Ef1xKWjA9E8
#android #jetpack
YouTube
Jetpack Compose: Beta overview
Jetpack Compose is Android’s new modern declarative UI toolkit. Today, Jetpack Compose is in Beta! Join Android Developer Relations Engineer Nick Butcher to see how Compose makes building Android UIs faster and easier.
Compose pathway → http://goo.gle/compose…
Compose pathway → http://goo.gle/compose…
👍1
Что послушать: подкаст о Kotlin Multiplatform Mobile
Kotlin Multiplatform Mobile (KMM) — это инструмент для кроссплатформенной разработки от JetBrains. В отличие от Flutter, KMM предлагает сделать общей бизнес-логику приложений для Android и iOS, а остальные части (интерфейс и работа со специфичными API платформ) реализовать нативно для каждой из платформ.
Благодаря архитектуре KMM разработчик может выбрать самостоятельно, как реализовать интерфейс (с помощью стандартных инструментов, на Jetpack Compose или SwiftUI, на Flutter).
В подкасте ведущие вместе с гостем Анной Жарковой обсудили развитие Kotlin Multiplatform Mobile, производительность, многопоточность и другие аспекты инструмента:
soundcloud.com/mobilepeopletalks/s03e03-kmm
#kmm #kotlin
Kotlin Multiplatform Mobile (KMM) — это инструмент для кроссплатформенной разработки от JetBrains. В отличие от Flutter, KMM предлагает сделать общей бизнес-логику приложений для Android и iOS, а остальные части (интерфейс и работа со специфичными API платформ) реализовать нативно для каждой из платформ.
Благодаря архитектуре KMM разработчик может выбрать самостоятельно, как реализовать интерфейс (с помощью стандартных инструментов, на Jetpack Compose или SwiftUI, на Flutter).
В подкасте ведущие вместе с гостем Анной Жарковой обсудили развитие Kotlin Multiplatform Mobile, производительность, многопоточность и другие аспекты инструмента:
soundcloud.com/mobilepeopletalks/s03e03-kmm
#kmm #kotlin
👍1
Концепт простого таймера для Pomodoro
Приложение помогает отсчитывать время по технике Pomodoro для увеличения продуктивности: 25 минут для «помидорок», короткий отдых (3−5 минут) и длинный перерыв (15−30 минут).
Концепт: dribbble.com/shots/10921155-Pomodoro-with-Neumorphism
Попытка реализации приложения на Flutter: github.com/snlucas/flutter_pomodoro_timer
#flutter #ui
Приложение помогает отсчитывать время по технике Pomodoro для увеличения продуктивности: 25 минут для «помидорок», короткий отдых (3−5 минут) и длинный перерыв (15−30 минут).
Концепт: dribbble.com/shots/10921155-Pomodoro-with-Neumorphism
Попытка реализации приложения на Flutter: github.com/snlucas/flutter_pomodoro_timer
#flutter #ui
👍1
Измерение и оптимизация размера растрового изображения при помощи Glide или Picasso
Если Android-приложение использует очень много картинок, то потребление памяти может существенно увеличиться.
Проблему могут решить библиотеки для загрузки изображений Glide или Picasso. Они помогут уменьшить размер изображений без значительного падения качества. Подробнее о том, как использовать библиотеки, читайте в гайде:
tprg.ru/Gc6K
#android
Если Android-приложение использует очень много картинок, то потребление памяти может существенно увеличиться.
Проблему могут решить библиотеки для загрузки изображений Glide или Picasso. Они помогут уменьшить размер изображений без значительного падения качества. Подробнее о том, как использовать библиотеки, читайте в гайде:
tprg.ru/Gc6K
#android
👍1
Тени и неоморфизм на Flutter
Вчера мы рассказывали о простом таймере для Pomodoro. В нём применена техника неоморфизма, которая обрела популярность в 2020 году. Этот стиль использует размытие, угол и интенсивность тени объекта для его выделения.
Подробнее о том, как работать с тенями для текста и различных объектов, читайте в статье:
tprg.ru/HRp9
#flutter
Вчера мы рассказывали о простом таймере для Pomodoro. В нём применена техника неоморфизма, которая обрела популярность в 2020 году. Этот стиль использует размытие, угол и интенсивность тени объекта для его выделения.
Подробнее о том, как работать с тенями для текста и различных объектов, читайте в статье:
tprg.ru/HRp9
#flutter
👍1
Какие моменты стоит учитывать при разработке Android-приложений?
Некоторые проблемы в проектах начинающих Android-разработчиков решаются простым рефакторингом приложения и покрытием тестами.
Однако автор статьи перешёл в Android-разработку из фулстек-разработки. Поэтому в своём первом приложении он часто использовал подходы из веб-разработки, что плохо работает в мобильных приложениях.
Что бы он поменял спустя время в своём приложении, читайте в статье:
https://tprg.ru/hxXF
#android
Некоторые проблемы в проектах начинающих Android-разработчиков решаются простым рефакторингом приложения и покрытием тестами.
Однако автор статьи перешёл в Android-разработку из фулстек-разработки. Поэтому в своём первом приложении он часто использовал подходы из веб-разработки, что плохо работает в мобильных приложениях.
Что бы он поменял спустя время в своём приложении, читайте в статье:
https://tprg.ru/hxXF
#android
👍1
Kotlin Multiplatform в мобильных Яндекс.Картах с позиции iOS-разработчика
В клиентах Яндекс.Карт под iOS и Android функциональность долгое время дублировалась, поскольку разработчики не могли переиспользовать код.
Выходом стало создание мультиплатформенного модуля на KMM. Однако внедрение общего модуля повлекло за собой множество технических и архитектурных проблем.
Как команда Яндекс.Карт подружила общую логику с нативной разработкой, рассказано в докладе:
youtu.be/m5H1KGsdqtw
#доклады #kmm #ios
В клиентах Яндекс.Карт под iOS и Android функциональность долгое время дублировалась, поскольку разработчики не могли переиспользовать код.
Выходом стало создание мультиплатформенного модуля на KMM. Однако внедрение общего модуля повлекло за собой множество технических и архитектурных проблем.
Как команда Яндекс.Карт подружила общую логику с нативной разработкой, рассказано в докладе:
youtu.be/m5H1KGsdqtw
#доклады #kmm #ios
YouTube
Михаил Куренков — Kotlin multiplatform в мобильных Яндекс.Картах с позиции iOS-разработчика
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
. . .
Яндекс.Карты — огромное приложение с большим функционалом. Долгие годы команда Яндекса дублировала этот функционал на iOS и Android — они разъезжались в логике. Чинили одни и те же баги. Страдали…
— —
. . .
Яндекс.Карты — огромное приложение с большим функционалом. Долгие годы команда Яндекса дублировала этот функционал на iOS и Android — они разъезжались в логике. Чинили одни и те же баги. Страдали…
👍1
Google открыла Sleep API — инструмент для отслеживания сна пользователя
Существующие приложения для отслеживания сна используют собственные алгоритмы, из-за чего сильно расходуют заряд батареи устройства и могут быть остановлены Android ради энергосбережения.
Sleep API с помощью ИИ определяет состояние сна по информации с датчиков света и движения. Благодаря этому отпадает необходимость в собственных решениях, и точность данных вырастет.
Sleep API уже доступен в Google Play Services для Android 10 и выше. Первой «ласточкой» с новым API стало приложение Sleep as Droid.
#android
Существующие приложения для отслеживания сна используют собственные алгоритмы, из-за чего сильно расходуют заряд батареи устройства и могут быть остановлены Android ради энергосбережения.
Sleep API с помощью ИИ определяет состояние сна по информации с датчиков света и движения. Благодаря этому отпадает необходимость в собственных решениях, и точность данных вырастет.
Sleep API уже доступен в Google Play Services для Android 10 и выше. Первой «ласточкой» с новым API стало приложение Sleep as Droid.
#android
👍1
12 пунктов для создания мобильного приложения интернет-магазина
Если у интернет-магазина есть большой поток постоянных клиентов, то имеет смысл реализовать мобильное приложение, чтобы пользователи ещё быстрее могли заказать понравившиеся товары.
Держите подборку 12 решений, которые стоит реализовать в приложении интернет-магазина:
tprg.ru/8APq
#предложка
Если у интернет-магазина есть большой поток постоянных клиентов, то имеет смысл реализовать мобильное приложение, чтобы пользователи ещё быстрее могли заказать понравившиеся товары.
Держите подборку 12 решений, которые стоит реализовать в приложении интернет-магазина:
tprg.ru/8APq
#предложка
👍1
Как обновился интерфейс Яндекс.Заправок с учётом опыта пользователей
Недавно мы делились статьёй разработчика из Dodo Engeneering, где он рассказывал про исследование UX и обновление интерфейса приложения «Додо Пицца».
С похожей проблемой столкнулась команда разработки приложения Яндекс.Заправки. Почитайте статью о том, как взаимодействие UX и UI привело к модернизации интерфейса и объединению экранов с выбором типа топлива и оплаты:
tprg.ru/fawU
#ui #ios
Недавно мы делились статьёй разработчика из Dodo Engeneering, где он рассказывал про исследование UX и обновление интерфейса приложения «Додо Пицца».
С похожей проблемой столкнулась команда разработки приложения Яндекс.Заправки. Почитайте статью о том, как взаимодействие UX и UI привело к модернизации интерфейса и объединению экранов с выбором типа топлива и оплаты:
tprg.ru/fawU
#ui #ios
👍1
Неоморфизм с точки зрения доступности
На концептах приложений неоморфизм выглядит красиво, но в реальной жизни такое приложение будет иметь множество недостатков, в том числе с доступностью для пользователей с различными ограничениями.
Что не так с дизайном приложений, который породил множество концептов на Dribbble, читайте в статье:
tprg.ru/1vt3
#ui
На концептах приложений неоморфизм выглядит красиво, но в реальной жизни такое приложение будет иметь множество недостатков, в том числе с доступностью для пользователей с различными ограничениями.
Что не так с дизайном приложений, который породил множество концептов на Dribbble, читайте в статье:
tprg.ru/1vt3
#ui
👍1
Создание проекта на Kotlin Multiplatform Mobile
Kotlin Multiplatform Mobile (KMM) на слуху уже некоторое время. Если вы ещё не пробовали инструмент своими руками, то в видео рассматривается устройство KMM-проекта под iOS и Android, а также проводится его первоначальная настройка:
youtu.be/G2jCMHvL6Bk
#kmm
Kotlin Multiplatform Mobile (KMM) на слуху уже некоторое время. Если вы ещё не пробовали инструмент своими руками, то в видео рассматривается устройство KMM-проекта под iOS и Android, а также проводится его первоначальная настройка:
youtu.be/G2jCMHvL6Bk
#kmm
YouTube
Как создать Kotlin Multiplatform Mobile проект [Ru, Kotlin] / Мобильный разработчик
Всем привет!
Продолжаем изучать функционал Kotlin Multiplatform Mobile и теперь я решил воскресить наш проект ScienceHub, но несколько с иной задачей. А именно написать свой движок для работы с научными\программистскими статьями. В этом видео мы настроим…
Продолжаем изучать функционал Kotlin Multiplatform Mobile и теперь я решил воскресить наш проект ScienceHub, но несколько с иной задачей. А именно написать свой движок для работы с научными\программистскими статьями. В этом видео мы настроим…
👍1
История кроссплатформенной мобильной разработки: грозит ли Flutter опыт предшественников?
Хоть и Flutter с KMM сейчас на слуху, но кроссплатформенная разработка существовала задолго до них.
В статье рассмотрены инструменты и фреймворки для кроссплатформенной разработки, которые так и не смогли стать сверхпопулярными. По их истории можно оценить, какое будущее ждёт Flutter:
tprg.ru/uZ12
#react #xamarin
Хоть и Flutter с KMM сейчас на слуху, но кроссплатформенная разработка существовала задолго до них.
В статье рассмотрены инструменты и фреймворки для кроссплатформенной разработки, которые так и не смогли стать сверхпопулярными. По их истории можно оценить, какое будущее ждёт Flutter:
tprg.ru/uZ12
#react #xamarin
👍1
Анонсирован Flutter 2
Вчера команда разработки Flutter представила версию 2.0.0. И это не маркетинговый трюк: в Flutter 2 добавили огромное количество новшеств, которое сообщество Flutter ждало довольно давно.
Что наиболее важного появилось:
— поддержка веб-платформы перешла в ветку stable;
— поддержка десктоп-платформы появилась в раннем доступе в ветке stable;
— появление Sound Null Safety в Dart;
— Google Mobile Ads SDK для Flutter перешёл в статус открытой беты;
— появились новые iOS-виджеты для Cupertino;
— новые виджеты Autocomplete и ScaffoldMessenger.
Flutter 2.0.0 уже доступен для использования.
Подробнее обо всех новшествах: tprg.ru/IC0c
#flutter
Вчера команда разработки Flutter представила версию 2.0.0. И это не маркетинговый трюк: в Flutter 2 добавили огромное количество новшеств, которое сообщество Flutter ждало довольно давно.
Что наиболее важного появилось:
— поддержка веб-платформы перешла в ветку stable;
— поддержка десктоп-платформы появилась в раннем доступе в ветке stable;
— появление Sound Null Safety в Dart;
— Google Mobile Ads SDK для Flutter перешёл в статус открытой беты;
— появились новые iOS-виджеты для Cupertino;
— новые виджеты Autocomplete и ScaffoldMessenger.
Flutter 2.0.0 уже доступен для использования.
Подробнее обо всех новшествах: tprg.ru/IC0c
#flutter
👍1
Пишем новостное приложение на SwiftUI
В часовом видео разбирается, как создать простой агрегатор новостей на SwiftUI, построенный на архитектуре MVVM и собирающий информацию через API:
youtu.be/M2psX-JwHdE
#swiftui
В часовом видео разбирается, как создать простой агрегатор новостей на SwiftUI, построенный на архитектуре MVVM и собирающий информацию через API:
youtu.be/M2psX-JwHdE
#swiftui
YouTube
SwiftUI MVVM Tutorial Build A News App in SwiftUI (SwiftUI MVVM, SwiftUI Combine, SwiftUI Tutorial)
SwiftUI MVVM Tutorial Build A News App in SwiftUI (SwiftUI MVVM, SwiftUI Combine, SwiftUI Tutorial)
Welcome back to the channel 👋🏾 In this swiftui tutorial we’ll be building a news app. We’ll learn how to use swiftui with Combine, swiftui api call json…
Welcome back to the channel 👋🏾 In this swiftui tutorial we’ll be building a news app. We’ll learn how to use swiftui with Combine, swiftui api call json…
👍1
Flutter стремительно развивается и занимает отдельную нишу на мобильном рынке. Крупные компании стали всё чаще отказываться от нативной разработки в пользу Flutter.
Если пару лет назад во Flutter уходили лишь энтузиасты, то сейчас фреймворк стал стандартом в кроссплатформенной разработке.
Пробовали ли вы его в деле? Расскажите в комментариях, какие проекты вы уже успели реализовать на Flutter или же почему вам не нравится фреймворк.
#чат
Если пару лет назад во Flutter уходили лишь энтузиасты, то сейчас фреймворк стал стандартом в кроссплатформенной разработке.
Пробовали ли вы его в деле? Расскажите в комментариях, какие проекты вы уже успели реализовать на Flutter или же почему вам не нравится фреймворк.
#чат
👍1
Влияние data-классов в Kotlin на вес приложения
В проектах часто создаются классы, основная цель которых — хранить данные. В Kotlin они помечаются
Чтобы выяснить, какое влияние data-классы оказывают на вес приложения, автор статьи решил удалить все data-классы из большого проекта, но сохранить возможность компиляции:
tprg.ru/IMNo
Подробнее о data-классах вы можете почитать в документации Kotlin: tprg.ru/yLmK
#kotlin #android
В проектах часто создаются классы, основная цель которых — хранить данные. В Kotlin они помечаются
data, например:data class User(val name: String, val age: Int)Чтобы выяснить, какое влияние data-классы оказывают на вес приложения, автор статьи решил удалить все data-классы из большого проекта, но сохранить возможность компиляции:
tprg.ru/IMNo
Подробнее о data-классах вы можете почитать в документации Kotlin: tprg.ru/yLmK
#kotlin #android
👍1