Вышла IDE AppCode 2021.3. Что нового?
Если пользуетесь AppCode для разработки iOS- или macOS-приложений, обратите внимание на недавнее обновление IDE. Оно принесло:
— поддержку акторов Swift;
— одновременное автодополнение нескольких ключевых слов;
— улучшенную поддержку документации;
— полнофункциональный редактор файлов Property List;
— точки останова для ошибок.
Подробнее с нововведениями можно ознакомиться в обзоре AppCode 2021.3: https://tprg.ru/EV1b
#ios
Если пользуетесь AppCode для разработки iOS- или macOS-приложений, обратите внимание на недавнее обновление IDE. Оно принесло:
— поддержку акторов Swift;
— одновременное автодополнение нескольких ключевых слов;
— улучшенную поддержку документации;
— полнофункциональный редактор файлов Property List;
— точки останова для ошибок.
Подробнее с нововведениями можно ознакомиться в обзоре AppCode 2021.3: https://tprg.ru/EV1b
#ios
Используем App Shortcuts в реальном Android-проекте
В Android можно создать специальные ярлыки для функций приложения (App Shortcuts). Разработчику доступно 3 варианта создания ярлыков:
1. Static shortcuts — статические ярлыки, которые жёстко прописываются в AndroidManifest.
2. Dynamic shortcuts — динамические ярлыки, которые приложение может создавать, обновлять и удалять во время выполнения.
3. Pinned shortcuts — закрепленные ярлыки, которые могут быть добавлены в поддерживаемые лаунчеры как отдельные значки.
Как с ними работать: https://tprg.ru/Xn0Y
#android
В Android можно создать специальные ярлыки для функций приложения (App Shortcuts). Разработчику доступно 3 варианта создания ярлыков:
1. Static shortcuts — статические ярлыки, которые жёстко прописываются в AndroidManifest.
2. Dynamic shortcuts — динамические ярлыки, которые приложение может создавать, обновлять и удалять во время выполнения.
3. Pinned shortcuts — закрепленные ярлыки, которые могут быть добавлены в поддерживаемые лаунчеры как отдельные значки.
Как с ними работать: https://tprg.ru/Xn0Y
#android
Большая подборка экранов с пейволом в iOS-приложениях
В ней собрано около 300 скриншотов примеров paywall screen. Среди них есть как хорошие, так и плохие, но они точно послужат источником вдохновения:
https://adapty.io/mobile-paywall-library
#ui #ios
В ней собрано около 300 скриншотов примеров paywall screen. Среди них есть как хорошие, так и плохие, но они точно послужат источником вдохновения:
https://adapty.io/mobile-paywall-library
#ui #ios
Стали доступны записи докладов с мобильной онлайн-конференции Mobius 2021 Moscow
В конце ноября состоялась конференция Mobius 2021 Moscow. Если не смогли на неё попасть, ничего страшного: организаторы уже выложили часть выступлений. Делимся наиболее интересными из них:
1. Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
В докладе рассмотрены некоторые паттерны мобильной разработки, которые вызывают возмущение и разочарование у пользователей, но не всегда улавливаются разработчиками. Стоит посмотреть из-за спикера Виталия Фридмана и его энергичной и интересной подачи материала.
2. Архитектура и как её готовить
В докладе рассмотрены важные аспекты для решения архитектурных задач и предложен определённый порядок проектирования, этапы которого определяют общую философию решения архитектурных задач.
3. Ускоряем сетевой слой ВКонтакте с HTTP/3
Сетевой слой — одна из важнейших частей любого мобильного приложения, и нужно, чтобы он работал максимально стабильно и быстро вне зависимости от типа сети. Чтобы решить проблемы производительности сетевого слоя, во «ВКонтакте» перешли с HTTP/2 на HTTP/3. Именно о сетевых протоколах и их отличиях рассказано в докладе.
Посмотреть остальные доклады на YouTube: https://tprg.ru/shZX
#доклады
В конце ноября состоялась конференция Mobius 2021 Moscow. Если не смогли на неё попасть, ничего страшного: организаторы уже выложили часть выступлений. Делимся наиболее интересными из них:
1. Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
В докладе рассмотрены некоторые паттерны мобильной разработки, которые вызывают возмущение и разочарование у пользователей, но не всегда улавливаются разработчиками. Стоит посмотреть из-за спикера Виталия Фридмана и его энергичной и интересной подачи материала.
2. Архитектура и как её готовить
В докладе рассмотрены важные аспекты для решения архитектурных задач и предложен определённый порядок проектирования, этапы которого определяют общую философию решения архитектурных задач.
3. Ускоряем сетевой слой ВКонтакте с HTTP/3
Сетевой слой — одна из важнейших частей любого мобильного приложения, и нужно, чтобы он работал максимально стабильно и быстро вне зависимости от типа сети. Чтобы решить проблемы производительности сетевого слоя, во «ВКонтакте» перешли с HTTP/2 на HTTP/3. Именно о сетевых протоколах и их отличиях рассказано в докладе.
Посмотреть остальные доклады на YouTube: https://tprg.ru/shZX
#доклады
YouTube
Виталий Фридман — Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
Ближайшая конференция — Mobius 2024 Autumn, 11 октября (Online), 19–20 октября, Санкт-Петербург. Подробности и билеты: https://jrg.su/Yu6KNJ
— —
Вы наверняка с ними сталкивались. Паттерны мобильной разработки, которые вызывают возмущение и разочарование —…
— —
Вы наверняка с ними сталкивались. Паттерны мобильной разработки, которые вызывают возмущение и разочарование —…
👍2
Использование BottomSheet («выдвигающейся шторки») в iOS 15
До iOS 15 для создания «шторки», занимающей половину экрана, разработчики использовали сторонние решения или же реализовывали сами. Такие библиотеки часто оказывались недостаточно гибкими для конкретных проектов.
В новой версии iOS Apple добавила нативную реализацию этого элемента —
https://tprg.ru/vsx5
#ios
До iOS 15 для создания «шторки», занимающей половину экрана, разработчики использовали сторонние решения или же реализовывали сами. Такие библиотеки часто оказывались недостаточно гибкими для конкретных проектов.
В новой версии iOS Apple добавила нативную реализацию этого элемента —
UISheetPresentationController. Как с ним работать, читайте в статье:https://tprg.ru/vsx5
#ios
Стал доступен Flutter 2.8
Последнее в этом году крупное обновление фреймворка Flutter принесло много интересного:
— существенную оптимизацию производительности Flutter на мобильных устройствах, а также улучшение работы DevTools;
— Dart 2.15;
— множество новых функций и улучшений для Firebase;
— WebView 3.0;
— новые пакеты Flutter Favorite;
— обновлённый DartPad с поддержкой большего количества пакетов, включая Firebase.
Что это значит? Google продолжает активно развивать Flutter, и фреймворк по-прежнему остаётся одним из лучших кроссплатформенных решений. И если захотите вкатиться в Flutter, то по тегу #flutter можете найти полезные материалы.
Последнее в этом году крупное обновление фреймворка Flutter принесло много интересного:
— существенную оптимизацию производительности Flutter на мобильных устройствах, а также улучшение работы DevTools;
— Dart 2.15;
— множество новых функций и улучшений для Firebase;
— WebView 3.0;
— новые пакеты Flutter Favorite;
— обновлённый DartPad с поддержкой большего количества пакетов, включая Firebase.
Что это значит? Google продолжает активно развивать Flutter, и фреймворк по-прежнему остаётся одним из лучших кроссплатформенных решений. И если захотите вкатиться в Flutter, то по тегу #flutter можете найти полезные материалы.
👍2
Что послушать: подкаст о том, как жизнь формирует UX (или UX формирует жизнь?)
Множество приложений в магазинах имеет ужасный UX (user experience). Такую «болячку» особенно имеют приложения, ориентированные на бизнес. Разработчики не исследуют поведение пользователя, а зря, ведь UX играет важную роль в успехе мобильных приложений
В подкасте ведущие обсудили, чем UX отличается от UI, какие UX-тренды сейчас актуальны и какой объём знаний об UX действительно необходим разработчику.
Послушать: SoundCloud, Apple Podcasts, Яндекс.Музыка, YouTube.
#подкасты #android #ios
Множество приложений в магазинах имеет ужасный UX (user experience). Такую «болячку» особенно имеют приложения, ориентированные на бизнес. Разработчики не исследуют поведение пользователя, а зря, ведь UX играет важную роль в успехе мобильных приложений
В подкасте ведущие обсудили, чем UX отличается от UI, какие UX-тренды сейчас актуальны и какой объём знаний об UX действительно необходим разработчику.
Послушать: SoundCloud, Apple Podcasts, Яндекс.Музыка, YouTube.
#подкасты #android #ios
Android 12L уже можно полноценно протестировать
Помните Android 12L, которую Google представила в конце октября? Если вкратце, то это тот же Android, только оптимизированный для устройств с большими экранами — планшетов, смартфонов с гибким экраном и хромбуков.
На днях вышла первая бета-версия Android 12L. В ней финализированы 12L API (API level 32) и обновлены инструменты для разработчиков, поэтому новая сборка системы полностью готова к тестированию приложений.
Новую систему можно запустить в эмуляторе Android Studio, на устройствах Pixel (правда, на них не получится оценить все фичи системы) и планшете Lenovo Tab P12 Pro.
Как скачать Android 12L: https://tprg.ru/AyG9
#android
Помните Android 12L, которую Google представила в конце октября? Если вкратце, то это тот же Android, только оптимизированный для устройств с большими экранами — планшетов, смартфонов с гибким экраном и хромбуков.
На днях вышла первая бета-версия Android 12L. В ней финализированы 12L API (API level 32) и обновлены инструменты для разработчиков, поэтому новая сборка системы полностью готова к тестированию приложений.
Новую систему можно запустить в эмуляторе Android Studio, на устройствах Pixel (правда, на них не получится оценить все фичи системы) и планшете Lenovo Tab P12 Pro.
Как скачать Android 12L: https://tprg.ru/AyG9
#android
На Flutter теперь проще разрабатывать игры
Вместе с Flutter 2.8 вышла первая версия Flame — модульного игрового 2D-движка на базе Flutter.
Flame ориентирован в первую очередь на быстрое создание игр. Движок включает в себя игровой цикл и основные примитивы: систему компонентов, анимированные спрайты и изображения, выявление коллизий, игровую камеру, систему эффектов и поддержку жестов и ввода.
На Flame уже реализованы как минимум три игры: Tomb Toad, Gravity Runner (на скрине ниже) и Bonfire (веб-игра).
Как работать с Flame: https://docs.flame-engine.org/1.0.0/
#flutter #gamedev
Вместе с Flutter 2.8 вышла первая версия Flame — модульного игрового 2D-движка на базе Flutter.
Flame ориентирован в первую очередь на быстрое создание игр. Движок включает в себя игровой цикл и основные примитивы: систему компонентов, анимированные спрайты и изображения, выявление коллизий, игровую камеру, систему эффектов и поддержку жестов и ввода.
На Flame уже реализованы как минимум три игры: Tomb Toad, Gravity Runner (на скрине ниже) и Bonfire (веб-игра).
Как работать с Flame: https://docs.flame-engine.org/1.0.0/
#flutter #gamedev
Инструменты разработчика для тестирования Android-приложений
Мобильному разработчику стоит проводить базовое тестирование своих приложений, чтобы проверить их работоспособность и стабильность при различных сценариях работы.
В статье рассмотрены инструменты тестирования (от JUnit до Kaspresso) и методологии Test Driven Development (TDD) и Behaviour Driven Development (BDD):
https://tprg.ru/2SRN
#android #начинающим #тестирование
Мобильному разработчику стоит проводить базовое тестирование своих приложений, чтобы проверить их работоспособность и стабильность при различных сценариях работы.
В статье рассмотрены инструменты тестирования (от JUnit до Kaspresso) и методологии Test Driven Development (TDD) и Behaviour Driven Development (BDD):
https://tprg.ru/2SRN
#android #начинающим #тестирование
В 2022 году на Windows можно будет запустить игры из Google Play
Google анонсировала Windows-приложение Google Play Games, которое будет запускать игры для Android. При этом сервис поддерживает кроссплей: можно сыграть на телефоне, а затем продолжить с того же места на ПК или планшете на Windows.
Пока неясно, как именно приложение эмулирует среду. Зато известно, что Google Play Games будет работать с Windows 10 и выше.
В этом приложение отличается от эмулятора от Microsoft, который поддерживает только Windows 11. Также Google Play Games предложит библиотеку игр из Play Store, когда эмулятор в Windows 11 может запускать только приложения из Microsoft Store, добавленные в сотрудничестве с Amazon.
#android
Google анонсировала Windows-приложение Google Play Games, которое будет запускать игры для Android. При этом сервис поддерживает кроссплей: можно сыграть на телефоне, а затем продолжить с того же места на ПК или планшете на Windows.
Пока неясно, как именно приложение эмулирует среду. Зато известно, что Google Play Games будет работать с Windows 10 и выше.
В этом приложение отличается от эмулятора от Microsoft, который поддерживает только Windows 11. Также Google Play Games предложит библиотеку игр из Play Store, когда эмулятор в Windows 11 может запускать только приложения из Microsoft Store, добавленные в сотрудничестве с Amazon.
#android
Интервью с руководителем разработки Compose Multiplatform
В начале декабря вышел фреймворк Compose Multiplatform от JetBrains. С его помощью можно написать UI десктопного и веб-приложения целиком на Kotlin, и при этом компоненты совместимы с Jetpack Compose.
В честь релиза вышло интервью с с Николаем Иготти, руководителем разработки в команде Compose Multiplatform, где обсудили новый фреймворк, Kotlin и другие темы.
Заваривайте чай или кофе, будет интересно:
https://youtu.be/giHTUAmyFWY
#compose #android #ios
В начале декабря вышел фреймворк Compose Multiplatform от JetBrains. С его помощью можно написать UI десктопного и веб-приложения целиком на Kotlin, и при этом компоненты совместимы с Jetpack Compose.
В честь релиза вышло интервью с с Николаем Иготти, руководителем разработки в команде Compose Multiplatform, где обсудили новый фреймворк, Kotlin и другие темы.
Заваривайте чай или кофе, будет интересно:
https://youtu.be/giHTUAmyFWY
#compose #android #ios
YouTube
Николай Иготти о Compose Multiplatform RC, связи Google и JB, Compose for iOS и JS
Всем привет. У нас случилось долгожданное, а именно релиз Compose for Multiplatform. И мне удалось встретиться и поговорить с Николаем Иготти, руководителем разработки в команде Compose Multiplatform. Поговорили как на личные темы, так и по поводу получившегося…
Приложение на Flutter: от идеи до реализации
Тут разработчик поделился своим опытом реализации pet-проекта на Flutter — приложения с котировками акций, показанными в виде списка и графиков.
Гайд отлично подойдёт начинающим, поскольку покрывает весь процесс начальной проработки приложения — от идеи до базовой инфраструктуры:
https://tprg.ru/vAiF
#flutter #начинающим
Тут разработчик поделился своим опытом реализации pet-проекта на Flutter — приложения с котировками акций, показанными в виде списка и графиков.
Гайд отлично подойдёт начинающим, поскольку покрывает весь процесс начальной проработки приложения — от идеи до базовой инфраструктуры:
https://tprg.ru/vAiF
#flutter #начинающим
Из-за ошибки в Android и Microsoft Teams смартфон Pixel не дал позвонить в экстренную службу
Пользователь Reddit рассказал о том, что не смог дозвониться до 911 с Google Pixel 3, когда его бабушке понадобилась срочная медицинская помощь. Смартфон просто «завис», и пользователь мог только листать приложения с возможностью экстренного вызова, работающие в фоне.
Согласно расследованию Google, всему виной приложение Microsoft Teams, в котором не произведён вход в аккаунт. Ошибка должна быть исправлена в ближайших обновлениях Teams, а Google, в свою очередь, выпустит исправление для Android 4 января 2022 года.
Энтузиасты изучили подробнее, как экстренный вызов оказался заблокирован: https://tprg.ru/91Wr
#android
Пользователь Reddit рассказал о том, что не смог дозвониться до 911 с Google Pixel 3, когда его бабушке понадобилась срочная медицинская помощь. Смартфон просто «завис», и пользователь мог только листать приложения с возможностью экстренного вызова, работающие в фоне.
Согласно расследованию Google, всему виной приложение Microsoft Teams, в котором не произведён вход в аккаунт. Ошибка должна быть исправлена в ближайших обновлениях Teams, а Google, в свою очередь, выпустит исправление для Android 4 января 2022 года.
Энтузиасты изучили подробнее, как экстренный вызов оказался заблокирован: https://tprg.ru/91Wr
#android
Как ускорить панораму машины в Android-приложении
У приложения Авто.ру есть интересная фича — продавец может создать панораму автомобиля (вот как это реализовано).
На выходе получается 3D-фото машины, которое можно прокрутить и рассмотреть со всех сторон, а не только с «удачных» ракурсов, выбранных продавцом автомобиля. При этом панораму можно остановить в любом месте, чтобы детальнее рассмотреть автомобиль.
Ребята поделились, как им удалось реализовать просмотр панорамы и оптимизировать его даже для не самых мощных устройств:
https://tprg.ru/576L
#android
У приложения Авто.ру есть интересная фича — продавец может создать панораму автомобиля (вот как это реализовано).
На выходе получается 3D-фото машины, которое можно прокрутить и рассмотреть со всех сторон, а не только с «удачных» ракурсов, выбранных продавцом автомобиля. При этом панораму можно остановить в любом месте, чтобы детальнее рассмотреть автомобиль.
Ребята поделились, как им удалось реализовать просмотр панорамы и оптимизировать его даже для не самых мощных устройств:
https://tprg.ru/576L
#android
Официальный гайд по архитектуре Android-приложения
Google обновила гайд по чистой архитектуре приложений в соответствии с современными требованиями к Android-приложениям.
Руководство содержит лучшие практики и подробный разбор каждого из слоёв рекомендованной архитектуры: UI, Domain и Data:
https://developer.android.com/jetpack/guide
#android #архитектура #начинающим
Google обновила гайд по чистой архитектуре приложений в соответствии с современными требованиями к Android-приложениям.
Руководство содержит лучшие практики и подробный разбор каждого из слоёв рекомендованной архитектуры: UI, Domain и Data:
https://developer.android.com/jetpack/guide
#android #архитектура #начинающим
Этапы отрисовки кадров в Jetpack Compose
UI-фреймворк Compose имеет 3 основных этапа рендеринга кадра:
1. Composition отвечает за то, какой UI показывать.
2. Layout отвечает за то, где размещать UI.
3. Drawing определяет, как рендерить.
Подробнее об этапах объясняется в документации. Но ребята из KTS подготовили её адаптированный перевод:
https://tprg.ru/Jc7y
#android #compose
UI-фреймворк Compose имеет 3 основных этапа рендеринга кадра:
1. Composition отвечает за то, какой UI показывать.
2. Layout отвечает за то, где размещать UI.
3. Drawing определяет, как рендерить.
Подробнее об этапах объясняется в документации. Но ребята из KTS подготовили её адаптированный перевод:
https://tprg.ru/Jc7y
#android #compose
Вышла Jetpack-библиотека для работы с Drag&Drop
Хоть поддержка перетаскиваний элементов в Android доступна ещё с версии 3.0 (API level 11), полноценный Drag&Drop реализовать было достаточно сложно.
К счастью, Google выкатила новую Jetpack-библиотеку draganddrop, которая упрощает перетаскивание текста, изображений, объектов или других элементов в отдельный View или другое приложение. Последнее особенно актуально для планшетов и складных устройств.
Библиотека пока доступна только в альфа-версии. Подробнее о том, как с ней работать, рассказано в документации: https://tprg.ru/GQ3A
#android #jetpack #библиотеки
Хоть поддержка перетаскиваний элементов в Android доступна ещё с версии 3.0 (API level 11), полноценный Drag&Drop реализовать было достаточно сложно.
К счастью, Google выкатила новую Jetpack-библиотеку draganddrop, которая упрощает перетаскивание текста, изображений, объектов или других элементов в отдельный View или другое приложение. Последнее особенно актуально для планшетов и складных устройств.
Библиотека пока доступна только в альфа-версии. Подробнее о том, как с ней работать, рассказано в документации: https://tprg.ru/GQ3A
#android #jetpack #библиотеки
Приложения, разработанные прямо на iPad, теперь можно напрямую выложить в App Store
Apple обновила приложение для изучения основ iOS- и iPadOS-разработки Swift Playgrounds. Оно в игровой форме помогает изучить Swift и SwiftUI и отлично подходит для тех, кто никогда не программировал.
Также в Swift Playgrounds можно реализовать собственные приложения для iPhone и iPad. Новое обновление принесло интеграцию с App Store Connect, поэтому опубликовать приложение в магазине теперь можно прямо с iPad.
Подробнее о приложении: https://www.apple.com/swift/playgrounds/
#ios #начинающим
Apple обновила приложение для изучения основ iOS- и iPadOS-разработки Swift Playgrounds. Оно в игровой форме помогает изучить Swift и SwiftUI и отлично подходит для тех, кто никогда не программировал.
Также в Swift Playgrounds можно реализовать собственные приложения для iPhone и iPad. Новое обновление принесло интеграцию с App Store Connect, поэтому опубликовать приложение в магазине теперь можно прямо с iPad.
Подробнее о приложении: https://www.apple.com/swift/playgrounds/
#ios #начинающим
Подборка актуальных вакансий для Android-разработчиков
— Android Developer в Bladestorm
Где: Удалённо
Сколько: От 180 000 до 300 000 ₽
— Android-разработчик в ОТР
Где: Удалённо
Сколько: По итогам собеседования
— Android Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования
— Android-разработчик в Sportmaster Lab
Где: Москва, Санкт-Петербург, Новосибирск, можно удалённо
Сколько: По итогам собеседования
#вакансии #работа
— Android Developer в Bladestorm
Где: Удалённо
Сколько: От 180 000 до 300 000 ₽
— Android-разработчик в ОТР
Где: Удалённо
Сколько: По итогам собеседования
— Android Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования
— Android-разработчик в Sportmaster Lab
Где: Москва, Санкт-Петербург, Новосибирск, можно удалённо
Сколько: По итогам собеседования
#вакансии #работа
Elementary: новый взгляд на архитектуру Flutter-приложений
Разработчики из Surf в Flutter-проектах используют собственную реализацию чистой архитектуры Elementary, основанную на Model-Widget-WidgetModel (MWWM). В статье они рассказали, как с помощью Elementary отделить слой представления от бизнес-логики:
https://tprg.ru/pdwW
#flutter #архитектура
Разработчики из Surf в Flutter-проектах используют собственную реализацию чистой архитектуры Elementary, основанную на Model-Widget-WidgetModel (MWWM). В статье они рассказали, как с помощью Elementary отделить слой представления от бизнес-логики:
https://tprg.ru/pdwW
#flutter #архитектура