Как обновить контент в приложении и не выкатывать релиз в сторах
Существует множество кейсов, когда необходимо быстро уведомить пользователей приложения. При этом обновление приложения — не вариант, поскольку ревью в магазинах приложений может затянуться.
К счастью, в iOS имеется механизм Server Driven View, который отображает View с данными, полученными с сервера. Но у метода свои ограничения, и подробнее о механизме объясняется в статье.
Если больше по душе формат видео, то статья написана по мотивам доклада:
https://youtu.be/gk0SxLKmpX8
#ios #доклады
Существует множество кейсов, когда необходимо быстро уведомить пользователей приложения. При этом обновление приложения — не вариант, поскольку ревью в магазинах приложений может затянуться.
К счастью, в iOS имеется механизм Server Driven View, который отображает View с данными, полученными с сервера. Но у метода свои ограничения, и подробнее о механизме объясняется в статье.
Если больше по душе формат видео, то статья написана по мотивам доклада:
https://youtu.be/gk0SxLKmpX8
#ios #доклады
YouTube
Дмитрий Авдеев – Server driven view на SwiftUI
Server driven view - это технология для контроля отображения со стороны сервера. Можно на лету обновлять то, как выглядит фича на клиенте. SwiftUI и однонаправленная архитектура хорошо ложатся на такой подход. Посмотрим код iOS и сервера.
Код:
https://github.com/tutu…
Код:
https://github.com/tutu…
👍8🔥5
Серия статей про DataStore
Материалы помогут освоить библиотеку DataStore, чтобы эффективно хранить настройки приложения, состояния и другие небольшие объёмы данных:
— DataStore и внедрение зависимостей.
— DataStore и сериализация Kotlin.
— DataStore и синхронизация.
— DataStore и миграция данных.
— DataStore и тестирование.
Предыдущие статьи из цикла:
1. Введение в Jetpack DataStore.
2. DataStore Preferences.
3. Proto DataStore.
#android
Материалы помогут освоить библиотеку DataStore, чтобы эффективно хранить настройки приложения, состояния и другие небольшие объёмы данных:
— DataStore и внедрение зависимостей.
— DataStore и сериализация Kotlin.
— DataStore и синхронизация.
— DataStore и миграция данных.
— DataStore и тестирование.
Предыдущие статьи из цикла:
1. Введение в Jetpack DataStore.
2. DataStore Preferences.
3. Proto DataStore.
#android
👍4
Подход Branch by Abstraction на примере Android-разработки
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
👍12
Вакансия iOS+Android разработчика в Lineate
Международная компания Lineate в поисках специалиста с развитыми коммуникативными навыками и опытом работы в разработке мобильных приложений от 3-х лет.
От вас:
— знание Android SDK, Coroutines, Kotlin, ООП, Swift, Objective-c, iOS SD, основных архитектурных паттернов и паттернов разработки, в частности MVVM;
опыт работы с Flow & LiveData, БД (Realm), XCTest, Robolectic;
— опыт ведения процесса по Agile методологии (Scrum, Kanban);
— знание английского языка для прямого устного общения с зарубежным заказчиком.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие, личный социальный бюджет с растущим коэффициентом, гибкое начало рабочего дня и возможность работать удаленно.
Если заинтересовались, переходите по ссылке за подробностями.
Написать рекрутеру @JuliaKatrich
#вакансия
Международная компания Lineate в поисках специалиста с развитыми коммуникативными навыками и опытом работы в разработке мобильных приложений от 3-х лет.
От вас:
— знание Android SDK, Coroutines, Kotlin, ООП, Swift, Objective-c, iOS SD, основных архитектурных паттернов и паттернов разработки, в частности MVVM;
опыт работы с Flow & LiveData, БД (Realm), XCTest, Robolectic;
— опыт ведения процесса по Agile методологии (Scrum, Kanban);
— знание английского языка для прямого устного общения с зарубежным заказчиком.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие, личный социальный бюджет с растущим коэффициентом, гибкое начало рабочего дня и возможность работать удаленно.
Если заинтересовались, переходите по ссылке за подробностями.
Написать рекрутеру @JuliaKatrich
#вакансия
👎15💩9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная нижняя панель навигации для Android-приложения
Элементы выполнены в виде «пузырьков». Легко кастомизируется.
Как использовать: https://github.com/akshay2211/BubbleTabBar
#android #ui #библиотеки
Элементы выполнены в виде «пузырьков». Легко кастомизируется.
Как использовать: https://github.com/akshay2211/BubbleTabBar
#android #ui #библиотеки
❤30🤔2👍1💩1
Что посмотреть: доклад про CI/CD в мобильной разработке
Митапы всё чаще стали проводиться в различных регионах России. Например, по всей стране действуют ячейки Google Developer Groups, которые периодически организуют мероприятия. Рекомендуем поискать подобное сообщество в своём городе, чтобы поделиться идеями, а также зарядиться общением.
Одно из сообществ, GDG Astrakhan, проводило в декабре собственный DevFest. Для мобильных разработчиков может быть интересным доклад про CI/CD в мобильной разработке на примере Flutter-приложения:
https://youtu.be/a163owiQ0Ds
#flutter #android #ios
Митапы всё чаще стали проводиться в различных регионах России. Например, по всей стране действуют ячейки Google Developer Groups, которые периодически организуют мероприятия. Рекомендуем поискать подобное сообщество в своём городе, чтобы поделиться идеями, а также зарядиться общением.
Одно из сообществ, GDG Astrakhan, проводило в декабре собственный DevFest. Для мобильных разработчиков может быть интересным доклад про CI/CD в мобильной разработке на примере Flutter-приложения:
https://youtu.be/a163owiQ0Ds
#flutter #android #ios
YouTube
Викентий Меретин - CI/CD в мобильной разработке или как найти время на личную жизнь?
👉О спикере:
Викентий Меретин, Speak Peak, lead mobile developer
👉Описание выступления:
CI/CD в мобильной разработке или как найти время на личную жизнь?
Долгие код-ревью и пятничные релизы с бубном - проблемы многих начинающих разработчиков. CI/CD - отличное…
Викентий Меретин, Speak Peak, lead mobile developer
👉Описание выступления:
CI/CD в мобильной разработке или как найти время на личную жизнь?
Долгие код-ревью и пятничные релизы с бубном - проблемы многих начинающих разработчиков. CI/CD - отличное…
👍1🔥1
Участвуйте ли вы в митапах в своём городе?
Anonymous Poll
12%
Да
67%
Нет, т.к. не знаю о них
22%
Нет, т.к. не хочу
Как реализовать тень от кнопки в Android-приложении?
Самый стандартный способ — использовать
Помимо данного варианта, существует ещё множество способов создания тени. Подробнее о них — в статье.
#android #ui
Самый стандартный способ — использовать
elevation (для управления величиной размытия и цветом тени) и Outline (для управления формой тени и её смещением).Помимо данного варианта, существует ещё множество способов создания тени. Подробнее о них — в статье.
#android #ui
👍20
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация двусторонних переворачивающихся карточек на Jetpack Compose
Библиотека Flippable имеет множество параметров, которые можно кастомизировать.
Как использовать: https://github.com/wajahatkarim3/Flippable
#android #ui
Библиотека Flippable имеет множество параметров, которые можно кастомизировать.
Как использовать: https://github.com/wajahatkarim3/Flippable
#android #ui
👍19🤩2
Skyeng ищет Android-инженеров в команду платформы приложений от Skysmart до Skypro.
Прорабатывайте технологии вглубь, создавая переиспользуемые решения, библиотеки и инфраструктуру, которые улучшают Developer Experience других команд.
Подробнее: https://skyeng.5x10.ru/rqr
#вакансия
Прорабатывайте технологии вглубь, создавая переиспользуемые решения, библиотеки и инфраструктуру, которые улучшают Developer Experience других команд.
Подробнее: https://skyeng.5x10.ru/rqr
#вакансия
Анонсирован Google for Games Developer Summit 2022
Google проведёт 15 марта онлайн-конференцию для разработчиков мобильных игр. Доклады от экспертов будут разделены на две секции:
— Mobile Games, посвящённая Android Game Development Kit, Google Play и не только;
— Cloud Games and Infrastructure, где расскажут о создании облачной инфраструктуры игр, а также о разработке проектов на Stadia.
Со списком всех докладов можно ознакомиться на сайте конференции.
#gamedev #android
Google проведёт 15 марта онлайн-конференцию для разработчиков мобильных игр. Доклады от экспертов будут разделены на две секции:
— Mobile Games, посвящённая Android Game Development Kit, Google Play и не только;
— Cloud Games and Infrastructure, где расскажут о создании облачной инфраструктуры игр, а также о разработке проектов на Stadia.
Со списком всех докладов можно ознакомиться на сайте конференции.
#gamedev #android
👍2
Вышла Lottie 5.0 — библиотека для добавления анимаций в Android-приложение
Анимированные изображения удобно реализовывать в After Effects. А библиотека Lottie позволяет конвертировать анимацию в нативную на мобильных устройствах.
В версии 5.0 для Android разработчики библиотеки существенно улучшили стабильность библиотеки, добавили поддержку закруглённых углов для прямоугольников (rectangle) и фигур (shape), отказались от View.setLayerType() и не только. Подробнее об изменениях вы можете узнать из статьи.
Если вы никогда не пользовались библиотекой Lottie, то попробуйте анимировать котика по гайду.
#android #ui
Анимированные изображения удобно реализовывать в After Effects. А библиотека Lottie позволяет конвертировать анимацию в нативную на мобильных устройствах.
В версии 5.0 для Android разработчики библиотеки существенно улучшили стабильность библиотеки, добавили поддержку закруглённых углов для прямоугольников (rectangle) и фигур (shape), отказались от View.setLayerType() и не только. Подробнее об изменениях вы можете узнать из статьи.
Если вы никогда не пользовались библиотекой Lottie, то попробуйте анимировать котика по гайду.
#android #ui
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная нижняя панель навигации для iOS-приложения
Помните, на днях мы рассказывали про похожую панель для Android? Существует её версия на iOS, но от другого автора. А функциональность та же: кастомизируемые элементы навигации в виде «пузырьков».
Как использовать: https://github.com/Cuberto/bubble-icon-tabbar
#ios #ui #библиотеки
Помните, на днях мы рассказывали про похожую панель для Android? Существует её версия на iOS, но от другого автора. А функциональность та же: кастомизируемые элементы навигации в виде «пузырьков».
Как использовать: https://github.com/Cuberto/bubble-icon-tabbar
#ios #ui #библиотеки
👍11
Переносим локализованные файлы из iOS в Android-приложение
В Android и iOS файлы локализации существенно отличаются. Для их переноса существуют платные сервисы, но работа с ними может только усложнить задачу. Неужели нет варианта попроще?
В статье рассказали про подход к использованию текстовых локализованных файлов, который покрывают большую часть кейсов и не использует сторонние решения.
#android #ios
В Android и iOS файлы локализации существенно отличаются. Для их переноса существуют платные сервисы, но работа с ними может только усложнить задачу. Неужели нет варианта попроще?
В статье рассказали про подход к использованию текстовых локализованных файлов, который покрывают большую часть кейсов и не использует сторонние решения.
#android #ios
👍3👎2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Скетчбук в Android-приложении
Библиотека Sketchbook для Jetpack Compose предоставляет необходимые инструменты для рисования на холсте: выбор цвета, палитру, а также различные компоненты и функции.
Как использовать: https://github.com/getStream/sketchbook-compose
#android #ui
Библиотека Sketchbook для Jetpack Compose предоставляет необходимые инструменты для рисования на холсте: выбор цвета, палитру, а также различные компоненты и функции.
Как использовать: https://github.com/getStream/sketchbook-compose
#android #ui
👍12
Раскладываем по полочкам Material You
В 2021 году вместе с Android 12 Google представила третью версию дизайн-системы Material — Material You, которая привнесла в дизайн Android-приложений много нового, в том числе:
— обновление цветовой палитры Material,
— динамические цвета,
— обновление UI-компонентов.
В статье даётся обзор нововведений Material You:
https://habr.com/ru/company/surfstudio/blog/653115/
#android #ui
В 2021 году вместе с Android 12 Google представила третью версию дизайн-системы Material — Material You, которая привнесла в дизайн Android-приложений много нового, в том числе:
— обновление цветовой палитры Material,
— динамические цвета,
— обновление UI-компонентов.
В статье даётся обзор нововведений Material You:
https://habr.com/ru/company/surfstudio/blog/653115/
#android #ui
👍11😁1
Ускоряем прохождение UI-тестов в iOS
Делимся серией статей по iOS-автоматизации, где даны советы по оптимизации времени работы UI-тестов. Пригодится, если запущенные тесты образуют очереди на ci или же UI-тесты запускаются одновременно с началом регрессионого тестирования.
1. Запуск тестов без сборки проекта
Статья знакомит с Test runner, а также объясняет, что нужно для прогона тестов без компиляции проекта.
2. Распараллеливание тестов
Вы узнаете, зачем нужно распараллеливать тесты и как это сделать в Xcode и Fastlane.
#ios #тестирование
Делимся серией статей по iOS-автоматизации, где даны советы по оптимизации времени работы UI-тестов. Пригодится, если запущенные тесты образуют очереди на ci или же UI-тесты запускаются одновременно с началом регрессионого тестирования.
1. Запуск тестов без сборки проекта
Статья знакомит с Test runner, а также объясняет, что нужно для прогона тестов без компиляции проекта.
2. Распараллеливание тестов
Вы узнаете, зачем нужно распараллеливать тесты и как это сделать в Xcode и Fastlane.
#ios #тестирование
👍5
Что посмотреть: доклад об анимациях в Jetpack Compose
В выступлении разработчик из «Ситимобил» Лукьян Жуков рассмотрел доступную функциональность создания анимаций в Jetpack Compose:
https://youtu.be/25WJdoUKXqY
#compose #android #доклады #ui
В выступлении разработчик из «Ситимобил» Лукьян Жуков рассмотрел доступную функциональность создания анимаций в Jetpack Compose:
https://youtu.be/25WJdoUKXqY
#compose #android #доклады #ui
YouTube
Доклад: Анимации в Jetpack Compose - всё то же самое, только проще? / Лукьян Жуков (Ситимобил)
Разберём возможности для анимации в Jetpack Compose: Какой функционал уже доступен из коробки? Что можно сделать если его ещё нет, а хочется. Посмотрим на знакомые инструменты в новом воплощении и определим что эффективнее.
Понравилось видео и хочешь узнать…
Понравилось видео и хочешь узнать…
👍3
Учимся применять функции расширения в Kotlin
Одной из крутых фич Kotlin являются функции расширения. Они представляют собой дополнительный метод для любого объекта, даже для потенциально несуществующего (nullable). Но пользоваться ими нужно с умом.
Статья подробнее познакомит с функциями расширения и ситуациями, где их стоит применять:
https://tproger.ru/articles/chto-takoe-funkcii-rasshirenija-kotlin-i-gde-ih-pravilno-primenjat/
#kotlin #начинающим
Одной из крутых фич Kotlin являются функции расширения. Они представляют собой дополнительный метод для любого объекта, даже для потенциально несуществующего (nullable). Но пользоваться ими нужно с умом.
Статья подробнее познакомит с функциями расширения и ситуациями, где их стоит применять:
https://tproger.ru/articles/chto-takoe-funkcii-rasshirenija-kotlin-i-gde-ih-pravilno-primenjat/
#kotlin #начинающим
👍13
Перенос существующего Android-проекта на Jetpack Compose
Написать новое приложение сразу с Compose несложно. А переписывание уже готового проекта может вызвать головную боль у Android-разработчика.
Наш коллега Алексей Гладков решил показать пример: он взял свой старый проект и переписал его на Compose, в процессе решая проблемы с Gradle и прочие. Как это было — смотрите в ролике:
https://youtu.be/QfLLQZy59qs
#android #compose
Написать новое приложение сразу с Compose несложно. А переписывание уже готового проекта может вызвать головную боль у Android-разработчика.
Наш коллега Алексей Гладков решил показать пример: он взял свой старый проект и переписал его на Compose, в процессе решая проблемы с Gradle и прочие. Как это было — смотрите в ролике:
https://youtu.be/QfLLQZy59qs
#android #compose
YouTube
Как перейти на Jetpack Compose? Забываем про XML. Полный гайд
Всем привет, на канале вышло довольно много видео, посвященных Jetpack Compose, но не вышло главного, а как собственно взять и все это заиспользовать в своем старом проекте? Если был такой вопрос, то это видео специально для вас! Здесь я просто взял один…
👍20🔥6
Вакансия Junior+/Middle/Senior iOS-разработчик
Компания, работающая в сфере системных утилит, ищет опытного iOS-разработчика. Вам предстоит разрабатывать и проектировать новые приложения, поддерживать уже имеющиеся, а также публиковать приложения в App Store.
Что требуется:
— опыт разработки мобильных приложений под iOS 11+;
— умение верстать кодом (используется SnapKit);
— понимание принципов работы UIKit, готовность верстать элементы любой сложности;
— умение разбираться в чужом коде (в проектах активно используются внутренние библиотеки);
— знание git, умение работать с submodule;
— опыт разработки клиент-серверных приложений.
Что предлагают:
— заработную плату от 100 тыс. до 300 тыс. рублей (по результатам собеседования);
— удалёнка либо комфортный офис в Санкт-Петербурге в 2 минутах от ст. м. «Маяковская»;
— оплачиваемые отпуска и больничные в 100% объёме от з/п;
— отсутствие жёстких рамок и бюрократии;
— возможности для постоянного роста и развития, например курсы повышения квалификации или карьерный рост внутри организации.
Как связаться: @web_product_devs
#вакансии #ios
Компания, работающая в сфере системных утилит, ищет опытного iOS-разработчика. Вам предстоит разрабатывать и проектировать новые приложения, поддерживать уже имеющиеся, а также публиковать приложения в App Store.
Что требуется:
— опыт разработки мобильных приложений под iOS 11+;
— умение верстать кодом (используется SnapKit);
— понимание принципов работы UIKit, готовность верстать элементы любой сложности;
— умение разбираться в чужом коде (в проектах активно используются внутренние библиотеки);
— знание git, умение работать с submodule;
— опыт разработки клиент-серверных приложений.
Что предлагают:
— заработную плату от 100 тыс. до 300 тыс. рублей (по результатам собеседования);
— удалёнка либо комфортный офис в Санкт-Петербурге в 2 минутах от ст. м. «Маяковская»;
— оплачиваемые отпуска и больничные в 100% объёме от з/п;
— отсутствие жёстких рамок и бюрократии;
— возможности для постоянного роста и развития, например курсы повышения квалификации или карьерный рост внутри организации.
Как связаться: @web_product_devs
#вакансии #ios
👎14👍4