Dribbble — идеи UI дизайна
Для разработки нового дизайна приложения порой не хватает идей. На Dribbble можно найти примеры дизайна пользовательских интерфейсов для вдохновения. Тематика совершенно разная, поэтому, возможно, вы подчеркнёте что-то для себя:
— Android : https://dribbble.com/search/android
— iOS: https://dribbble.com/search/ios
#android #ios
Для разработки нового дизайна приложения порой не хватает идей. На Dribbble можно найти примеры дизайна пользовательских интерфейсов для вдохновения. Тематика совершенно разная, поэтому, возможно, вы подчеркнёте что-то для себя:
— Android : https://dribbble.com/search/android
— iOS: https://dribbble.com/search/ios
#android #ios
❤20👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация watchdog на iOS
В iOS используется сторожевой таймер, который отслеживает и завершает работу приложений, не отвечающих на запросы. Если приложение долго блокирует основной поток, система его убивает.
Код 0x8badf00d в Crash Log помогает определить, почему произошло завершение работы. Однако не всегда понятно, что вызвало в самом приложение эту ошибку. Чтобы решить эту проблему, можно написать собственный watchdog и с помощью логов найти причину блокировки основных потоков.
В этой статье рассматривается, как c помощью класса WatchdogRunLoopObserver и CFRunLoopObserver можно отслеживать сбои в приложении:
https://tprg.ru/Hb6k
#ios
В iOS используется сторожевой таймер, который отслеживает и завершает работу приложений, не отвечающих на запросы. Если приложение долго блокирует основной поток, система его убивает.
Код 0x8badf00d в Crash Log помогает определить, почему произошло завершение работы. Однако не всегда понятно, что вызвало в самом приложение эту ошибку. Чтобы решить эту проблему, можно написать собственный watchdog и с помощью логов найти причину блокировки основных потоков.
В этой статье рассматривается, как c помощью класса WatchdogRunLoopObserver и CFRunLoopObserver можно отслеживать сбои в приложении:
https://tprg.ru/Hb6k
#ios
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Какие вопросы задать работодателю Android-разработчику?
Собеседование — это диалог. После технического интервью лучше обсудить условия работы, чтобы на самых ранних этапах понять, подходит ли вам компания или нет.
В этой статье были разобраны примеры вопросов от Android-разработчика на собеседовании, а также нюансы, на которые стоит обращать внимание в ответах работодателя:
https://habr.com/ru/company/hh/blog/663266/
#android
Собеседование — это диалог. После технического интервью лучше обсудить условия работы, чтобы на самых ранних этапах понять, подходит ли вам компания или нет.
В этой статье были разобраны примеры вопросов от Android-разработчика на собеседовании, а также нюансы, на которые стоит обращать внимание в ответах работодателя:
https://habr.com/ru/company/hh/blog/663266/
#android
❤9👍2
Flutter: реализация Redux с Elementary
Elementary — это архитектурный пакет для написания приложения по правилам Clean Architecture, основанный на паттерне MVVM. С помощью связки Elementary и Redux можно отделить бизнес-логику от логики отображения и легко расширять функциональность проекта.
Чтобы показать, как работает связка Redux+Elementary, разработчики из Surf реализовали простое приложение, которое выбирает случайные изображения животных. Через screen-WidgetModel-model активируется механизм взаимодействия с Redux. Т.к. чистый Redux не может работать с асинхронностью, то для обработки сетевых запросов автор использовал redux_epics в качестве middleware-составляющей.
Подробнее: https://tprg.ru/r2wT
#flutter
Elementary — это архитектурный пакет для написания приложения по правилам Clean Architecture, основанный на паттерне MVVM. С помощью связки Elementary и Redux можно отделить бизнес-логику от логики отображения и легко расширять функциональность проекта.
Чтобы показать, как работает связка Redux+Elementary, разработчики из Surf реализовали простое приложение, которое выбирает случайные изображения животных. Через screen-WidgetModel-model активируется механизм взаимодействия с Redux. Т.к. чистый Redux не может работать с асинхронностью, то для обработки сетевых запросов автор использовал redux_epics в качестве middleware-составляющей.
Подробнее: https://tprg.ru/r2wT
#flutter
👍4❤3
Облако Xcode теперь ещё и с подпиской
Владельцы учётной записи Apple Developer Program теперь могут покупать подписки на Xcode Cloud.
Один из четырех планов подписки (25 вычислительных часов в месяц) можно использовать бесплатно до декабря 2023 года.
Вычислительный час — это час времени, используемый для выполнения определенной задачи в облаке. Например, тестирование или сборка приложения.
Подробнее: https://developer.apple.com/xcode-cloud/get-started/
#ios
Владельцы учётной записи Apple Developer Program теперь могут покупать подписки на Xcode Cloud.
Один из четырех планов подписки (25 вычислительных часов в месяц) можно использовать бесплатно до декабря 2023 года.
Вычислительный час — это час времени, используемый для выполнения определенной задачи в облаке. Например, тестирование или сборка приложения.
Подробнее: https://developer.apple.com/xcode-cloud/get-started/
#ios
👍3
Jetpack Compose для начинающих
В августе вышло обновление по изучению JetPack Compose. Пакет состоит из 6 тем с уроками по архитектуре, Layout, анимации и т.д.
В конце каждой темы вас ожидает квиз на закрепление знаний.
Ссылка: https://developer.android.com/courses/jetpack-compose/course
Если вы уже проходили этот курс, поделитесь своим мнением.
#compose #android
В августе вышло обновление по изучению JetPack Compose. Пакет состоит из 6 тем с уроками по архитектуре, Layout, анимации и т.д.
В конце каждой темы вас ожидает квиз на закрепление знаний.
Ссылка: https://developer.android.com/courses/jetpack-compose/course
Если вы уже проходили этот курс, поделитесь своим мнением.
#compose #android
👍8
Разбираем паттерн Pluginable в iOS приложениях
Разрабатывая приложение для iOS, часто нужно добавлять базовую функциональность в такие классы, как UIViewController, AppDelegate или UIView.
Например, если в приложение каждый экран представлен одним из этих классов, то с помощью паттерна Pluginable и BaseViewController можно сделать конфигурацию контроллеров более гибкой и удобной.
Это избавит от дублирующего кода и разгрузит контроллер. В этой статье разбирается реализация BaseViewController на основе плагинов:
https://lazyload.academy/chapter/jonfir-pattern-pluginable/
#ios
Разрабатывая приложение для iOS, часто нужно добавлять базовую функциональность в такие классы, как UIViewController, AppDelegate или UIView.
Например, если в приложение каждый экран представлен одним из этих классов, то с помощью паттерна Pluginable и BaseViewController можно сделать конфигурацию контроллеров более гибкой и удобной.
Это избавит от дублирующего кода и разгрузит контроллер. В этой статье разбирается реализация BaseViewController на основе плагинов:
https://lazyload.academy/chapter/jonfir-pattern-pluginable/
#ios
💩6👍3👎1
Можно ли превратить старый телефон на Android в веб-сервер?
Можно, но для реализации нужно сначала установить Termux и настроить SSH на телефон. Автор этой статьи запустил веб-сервер Puma с простым веб-приложением с помощью Sinatra и поделился своим мнением:
https://habr.com/ru/company/sportmaster_lab/blog/683242/
У нас остались вопросы к аккумулятору, а вы что думаете?
#android
Можно, но для реализации нужно сначала установить Termux и настроить SSH на телефон. Автор этой статьи запустил веб-сервер Puma с простым веб-приложением с помощью Sinatra и поделился своим мнением:
https://habr.com/ru/company/sportmaster_lab/blog/683242/
У нас остались вопросы к аккумулятору, а вы что думаете?
#android
👍6👏4
Улучшаем производительность Android приложения
Для улучшения пользовательского опыта всегда следует учитывать ключевые показатели производительности, например:
— размер приложения,
— время запуска,
— расход памяти,
— потребление CPU и сетевых ресуровсов.
В этой статье разбираются основные метрики производительности и советы, как улучшить эти показатели:
https://tprg.ru/sBSd
#android
Для улучшения пользовательского опыта всегда следует учитывать ключевые показатели производительности, например:
— размер приложения,
— время запуска,
— расход памяти,
— потребление CPU и сетевых ресуровсов.
В этой статье разбираются основные метрики производительности и советы, как улучшить эти показатели:
https://tprg.ru/sBSd
#android
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустила Flutter 3.3
Обновления:
— новый виджет SelectableArea для выделения,
— появилась поддержка Scribble для iPadOS,
— новые компоненты в IconButton, Chips и AppBar.
— улучшили скорость загрузки изображений за счет снижения нагрузки на GC Dart,
— убрали поддержку 32-bit iOS.
Источник: https://tprg.ru/GORU
#flutter
Обновления:
— новый виджет SelectableArea для выделения,
— появилась поддержка Scribble для iPadOS,
— новые компоненты в IconButton, Chips и AppBar.
— улучшили скорость загрузки изображений за счет снижения нагрузки на GC Dart,
— убрали поддержку 32-bit iOS.
Источник: https://tprg.ru/GORU
#flutter
🔥20👍3👎2
Навигация в Swift UI на iOS 16
На WWDC 2022 Apple представила новинки в SwiftUI, уделив значительное внимание навигации. В этом видео разбирается работа с новыми навигационными API SwiftUI.
На простых примерах рассматриваются Navigation Stack, Navigation Path и navigationDestinationю:
https://www.youtube.com/watch?v=7dnTHrLyFLc
#ios
На WWDC 2022 Apple представила новинки в SwiftUI, уделив значительное внимание навигации. В этом видео разбирается работа с новыми навигационными API SwiftUI.
На простых примерах рассматриваются Navigation Stack, Navigation Path и navigationDestinationю:
https://www.youtube.com/watch?v=7dnTHrLyFLc
#ios
YouTube
Navigation in SwiftUI & iOS 16
Get started with SwiftUI’s new navigation APIs for navigation stacks. You will learn about NavigationStack, NavigationPath and navigationDestination based on several examples.
Timestamps:
00:00 Introduction
00:43 Review: What was navigation like before iOS…
Timestamps:
00:00 Introduction
00:43 Review: What was navigation like before iOS…
👍3
Распространённые oшибки при использовании корутин
Наиболее типичные ошибки, которые допускают начинающие Android разработчики — это неправильная обработка исключений в корутинах и неправильное применение suspend-функции.
В этом статье автор разбирает, как не допускать эти ошибки и приводит примеры их решения:
https://tprg.ru/7RgV
#kotlin #android
Наиболее типичные ошибки, которые допускают начинающие Android разработчики — это неправильная обработка исключений в корутинах и неправильное применение suspend-функции.
В этом статье автор разбирает, как не допускать эти ошибки и приводит примеры их решения:
https://tprg.ru/7RgV
#kotlin #android
👎11❤1👍1
Как настроить YouTube API для Android-приложений
С помощью этого API можно выбирать и загружать видео по категориям из YouTube, управлять каналами и многое другое. Для создания API KEY необходимо иметь Google аккаунт.
В этой статье подробно разбирается, как получить API KEY для YouTube и добавить YouTube Android Player API в проект:
https://tprg.ru/qGPO
#android
С помощью этого API можно выбирать и загружать видео по категориям из YouTube, управлять каналами и многое другое. Для создания API KEY необходимо иметь Google аккаунт.
В этой статье подробно разбирается, как получить API KEY для YouTube и добавить YouTube Android Player API в проект:
https://tprg.ru/qGPO
#android
👍11👏1💩1
Как компании справляются с удалением приложений из сторов
В связи с санкциями банки в настоящее время наиболее активно ищут альтернативы Apple App Store и Google Play.
Некоторые банки стали выкладывать установочный файл для Android на своём сайте. Однако узнать о наличии обновления в таком случае невозможно, если от разработчика нет пуш-уведомлений.
Другой вариант — Telegram-банк, т.к. Telegram бот вполне может справиться с обработкой типовых запросов клиентов, но более сложные операции обработать будет сложнее. Плюсы и минусы этих и других вариантов — в этой статье:
https://tprg.ru/Szfh
#android #ios
В связи с санкциями банки в настоящее время наиболее активно ищут альтернативы Apple App Store и Google Play.
Некоторые банки стали выкладывать установочный файл для Android на своём сайте. Однако узнать о наличии обновления в таком случае невозможно, если от разработчика нет пуш-уведомлений.
Другой вариант — Telegram-банк, т.к. Telegram бот вполне может справиться с обработкой типовых запросов клиентов, но более сложные операции обработать будет сложнее. Плюсы и минусы этих и других вариантов — в этой статье:
https://tprg.ru/Szfh
#android #ios
🤡9👍3
Wear OS: библиотека Tiles Material
В конце августа состоялся релиз библиотеки для Wear OS, в которой реализованы наиболее популярные элементы для доступа к важным функциям умных часов с циферблата.
Все компоненты и макеты можно использовать вместе с Tiles Design Kit.
Документация: https://tprg.ru/SY4r
#android
В конце августа состоялся релиз библиотеки для Wear OS, в которой реализованы наиболее популярные элементы для доступа к важным функциям умных часов с циферблата.
Все компоненты и макеты можно использовать вместе с Tiles Design Kit.
Документация: https://tprg.ru/SY4r
#android
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
Шпаргалка для технического собеседования
В этой шпаргалке собраны основные вопросы по Android со ссылками на ответы. Некоторые темы без обновлений, но ресурс может быть полезен для проверки своих знаний:
https://github.com/MindorksOpenSource/android-interview-questions
#android
В этой шпаргалке собраны основные вопросы по Android со ссылками на ответы. Некоторые темы без обновлений, но ресурс может быть полезен для проверки своих знаний:
https://github.com/MindorksOpenSource/android-interview-questions
#android
👍21🔥2❤1😁1
Работа с JSON в Swift
Чтение данных JSON из локальных файлов и URL-адресов стало намного проще с помощью инструментов для кодирования/декодирования в Swift 5.
В этой статье показано, как загружать данные в формате JSON из локального файла, а также из API прогнозных сервисов:
https://tprg.ru/F7VJ
#ios #swiftui
Чтение данных JSON из локальных файлов и URL-адресов стало намного проще с помощью инструментов для кодирования/декодирования в Swift 5.
В этой статье показано, как загружать данные в формате JSON из локального файла, а также из API прогнозных сервисов:
https://tprg.ru/F7VJ
#ios #swiftui
👍7
Как менялся Android с 2014 года?
В этой статье собраны не просто описания каждой версии и характеристики, но и интересные факты об ОС Android. В конце доклада автор сравнил iOS и Android и выделил дальнейшие тенденции развития:
https://habr.com/ru/company/tinkoff/blog/686614/
#android
В этой статье собраны не просто описания каждой версии и характеристики, но и интересные факты об ОС Android. В конце доклада автор сравнил iOS и Android и выделил дальнейшие тенденции развития:
https://habr.com/ru/company/tinkoff/blog/686614/
#android
👍18
Бесплатные инструменты для создания мобильных приложений
Автор статьи собрал 10 малоизвестных бесплатных инструментов с открытым исходным кодом, которые помогают облегчить и улучшить процесс разработки Android в 2022 году. Среди них: Stackzy, V9, Glance, Bye Bye Jetifier и другие.
Подробнее: https://tprg.ru/UmQb
#android
Автор статьи собрал 10 малоизвестных бесплатных инструментов с открытым исходным кодом, которые помогают облегчить и улучшить процесс разработки Android в 2022 году. Среди них: Stackzy, V9, Glance, Bye Bye Jetifier и другие.
Подробнее: https://tprg.ru/UmQb
#android
👍7🔥1
Как школьники реализовали проект по прокату зонтиков
Вероятно, многим знакома система проката самокатов. Антон и Дмитрий, ученики 11 и 9 классов, решили создать похожую систему, но для зонтиков. Проект состоит из двух частей: аппаратной и Android-приложения.
С помощью Yandex Mapkit SDK в приложение на карте отображаются значки станций с зонтиками, при нажатии на которые можно получить подробную информацию о каждой из них. Для идентификации номера станции взятия и сдачи зонтика используются QR-коды.
Подробнее: https://habr.com/ru/company/samsung/blog/686958/
#android
Вероятно, многим знакома система проката самокатов. Антон и Дмитрий, ученики 11 и 9 классов, решили создать похожую систему, но для зонтиков. Проект состоит из двух частей: аппаратной и Android-приложения.
С помощью Yandex Mapkit SDK в приложение на карте отображаются значки станций с зонтиками, при нажатии на которые можно получить подробную информацию о каждой из них. Для идентификации номера станции взятия и сдачи зонтика используются QR-коды.
Подробнее: https://habr.com/ru/company/samsung/blog/686958/
#android
🤯32🔥19👍10🌚5💩2
Подборка актуальных вакансий
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Senior iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Android-разработчик
Где: Удалённо
Опыт: от 2 лет
— Старший Android-разработчик
Где: Москва
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Senior iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Android-разработчик
Где: Удалённо
Опыт: от 2 лет
— Старший Android-разработчик
Где: Москва
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
💩12👍5👎2