AppFiles - Mobile Development
Оптимизация приложения для сетевой доступности Доступность сети - важный аспект работы приложений, полагающихся на сетевые возможности. Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых…
И мой перевод этой статьи: https://apptractor.ru/info/articles/optimizatsiya-prilozheniya-dlya-setevoy-dostupnosti.html
AppTractor
Оптимизация приложения для сетевой доступности
Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых условий очень важна.
👍2
Учебник по Jetpack Compose: Как использовать FlowLayout
Если вы следите за последними обновлениями Jetpack Compose, вы, возможно, слышали о новых composable FlowRow и FlowColumn, недавно добавленных в Jetpack Compose 1.4.1. Конечно, они уже некоторое время были опубликованы в Accompanist (группа библиотек, призванных дополнить Jetpack Compose функциями, часто необходимыми разработчикам, но пока недоступными в основной версии). Но теперь они доступны в базовом фреймворке, и было бы здорово посмотреть, для чего их можно использовать.
Самая важная идея в этой компоновке заключается в том, что мы можем выкладывать элементы в контейнер, когда размер элементов или контейнера неизвестен или динамичен. Например, в примере у нас есть чипсы (теги), которые мы размещаем в случайном порядке. Фишка "Растительная пища" не помещается и переносится на следующую строку.
Статья: https://exyte.com/blog/android-flow-layout
Платформа: Android
Если вы следите за последними обновлениями Jetpack Compose, вы, возможно, слышали о новых composable FlowRow и FlowColumn, недавно добавленных в Jetpack Compose 1.4.1. Конечно, они уже некоторое время были опубликованы в Accompanist (группа библиотек, призванных дополнить Jetpack Compose функциями, часто необходимыми разработчикам, но пока недоступными в основной версии). Но теперь они доступны в базовом фреймворке, и было бы здорово посмотреть, для чего их можно использовать.
Самая важная идея в этой компоновке заключается в том, что мы можем выкладывать элементы в контейнер, когда размер элементов или контейнера неизвестен или динамичен. Например, в примере у нас есть чипсы (теги), которые мы размещаем в случайном порядке. Фишка "Растительная пища" не помещается и переносится на следующую строку.
Статья: https://exyte.com/blog/android-flow-layout
Платформа: Android
👍1
Forwarded from IT Insights
Изучение WebGPU
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
👍1
Thumb-Key - это интеллектуальная клавиатура, созданная специально для ваших больших пальцев и учитывающая требования конфиденциальности
Она имеет раскладку 3x3 и использует пролистывание для менее распространенных букв. Ее легко освоить, и она разработана для быстрой скорости набора текста.
Вместо того, чтобы полагаться на точность предсказания слов и предложений, как в большинстве популярных телефонных клавиатур, таких как Gboard и Swiftkey, Thumb-Key использует большие клавиши с предсказуемым положением, чтобы ваши глаза не охотились и не искали буквы.
По мере того, как положение клавиш будет закрепляться в вашей мышечной памяти, в конечном итоге вы сможете приблизить скорость набора текста к скорости сенсорного ввода, при этом ваши глаза никогда не должны будут покидать область редактирования текста.
Thumb-Key на GitHub: https://github.com/dessalines/thumb-key
Платформа: Android
⭐️: 268
Она имеет раскладку 3x3 и использует пролистывание для менее распространенных букв. Ее легко освоить, и она разработана для быстрой скорости набора текста.
Вместо того, чтобы полагаться на точность предсказания слов и предложений, как в большинстве популярных телефонных клавиатур, таких как Gboard и Swiftkey, Thumb-Key использует большие клавиши с предсказуемым положением, чтобы ваши глаза не охотились и не искали буквы.
По мере того, как положение клавиш будет закрепляться в вашей мышечной памяти, в конечном итоге вы сможете приблизить скорость набора текста к скорости сенсорного ввода, при этом ваши глаза никогда не должны будут покидать область редактирования текста.
Thumb-Key на GitHub: https://github.com/dessalines/thumb-key
Платформа: Android
⭐️: 268
🤔6
Хочу в iOS-разработку: к чему готовиться на собеседовании в продуктовую команду
Я Серёжа Копытов, iOS TechLead. Веду собесы в Альфе с 2020 года, многие разработчики и техлиды в команде прошли через меня. Уже через полгода интервью я активно включился в настройку подбора и сейчас основное время занимаюсь его развитием.
В статье расскажу, как выглядит наше техническое интервью, как оно стало таким, какие случаи я встречал и какие выводы сделал. Читайте, если сами общаетесь с кандидатами или проходите собеседования в IT и хотите понять, как продуктовые компании принимают решение.
Статья: https://habr.com/ru/companies/alfa/articles/728322/
Платформа: собеседование
Я Серёжа Копытов, iOS TechLead. Веду собесы в Альфе с 2020 года, многие разработчики и техлиды в команде прошли через меня. Уже через полгода интервью я активно включился в настройку подбора и сейчас основное время занимаюсь его развитием.
В статье расскажу, как выглядит наше техническое интервью, как оно стало таким, какие случаи я встречал и какие выводы сделал. Читайте, если сами общаетесь с кандидатами или проходите собеседования в IT и хотите понять, как продуктовые компании принимают решение.
Статья: https://habr.com/ru/companies/alfa/articles/728322/
Платформа: собеседование
Как использовать функциональное программирование в Kotlin для написания более качественного и чистого кода
В этом посте мы поговорим о том, что такое функциональное программирование, каковы его преимущества и потенциальные недостатки, как оно сопоставляется с альтернативной парадигмой императивного программирования, что предоставляет Kotlin разработчикам для использования ФП, а также примеры того, как мы в DoorDash пишем код в стиле ФП на Kotlin.
Статья: https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/
Платформа: программирование/Kotlin
В этом посте мы поговорим о том, что такое функциональное программирование, каковы его преимущества и потенциальные недостатки, как оно сопоставляется с альтернативной парадигмой императивного программирования, что предоставляет Kotlin разработчикам для использования ФП, а также примеры того, как мы в DoorDash пишем код в стиле ФП на Kotlin.
Статья: https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/
Платформа: программирование/Kotlin
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
Firebase Analytics for iOS: Track User Behavior With Data-Driven Insights•
(iOS En)
Firebase Performance for iOS: Optimizing Your App's Speed•
(iOS En)
SwiftUI: Environment property. You should use it•
(iOS En)
SwiftUI Custom Video Player - YouTube Video Player•
(And Ru)
3-дюймовый смартфон: тестируем приложения как PRO•
(And En)
How to Save & Restore the Scroll Position of a LazyColumn Persistently•
(And En)
THIS Compose-State Mistake Leads to Problems In Your Code•
(Dev Ru)
Как мы запускали мобильное приложение Финуслуги•
(Dev Ru)
Podlodka #316: зачем айтишнику уметь писать?•
(Dev Ru)
Podlodka #317: делегирование•
(Dev Ru)
Виджеты: Android vs iOSПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
YouTube
Firebase Analytics for iOS: Track User Behavior With Data-Driven Insights | Firebase Bootcamp #21
Unlock valuable insights about your iOS app users with Firebase Analytics. In this tutorial, you'll learn how to set up and use Analytics to track user behavior, measure app performance, and make data-driven decisions. Watch now to get started!
🤙 WELCOME…
🤙 WELCOME…
Конец программирования, каким мы его знаем
Читая комментарии, я поймал себя на мысли, что критики упускают суть. ИИ все еще находится в зачаточном состоянии. Это означает, что, как и в случае с новорожденным человеком, мы должны начать думать о том, как он повлияет на нашу жизнь и средства к существованию, уже сейчас, пока его потребности не превзошли наши возможности. На данный момент у нас еще есть время, чтобы сформировать будущее, которого мы действительно хотим. Рано или поздно может наступить день, когда мы уже не сможем этого сделать.
Статья: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
Платформа: ИИ/программирование
Читая комментарии, я поймал себя на мысли, что критики упускают суть. ИИ все еще находится в зачаточном состоянии. Это означает, что, как и в случае с новорожденным человеком, мы должны начать думать о том, как он повлияет на нашу жизнь и средства к существованию, уже сейчас, пока его потребности не превзошли наши возможности. На данный момент у нас еще есть время, чтобы сформировать будущее, которого мы действительно хотим. Рано или поздно может наступить день, когда мы уже не сможем этого сделать.
Статья: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
Платформа: ИИ/программирование
👍3
Charts - красивые графики для iOS/tvOS/OSX, аналог MPAndroidChart.
Charts на GitHub: https://github.com/danielgindi/Charts
Платформа: iOS
⭐️: 26.6K
Charts на GitHub: https://github.com/danielgindi/Charts
Платформа: iOS
⭐️: 26.6K
Модульное тестирование в iOS: все, что надо знать.
Меня зовут Евгений Плёнкин. Я iOS разработчик компании СберЗдоровье. В этом материале я расскажу, что такое автоматизированное тестирование, в чём его польза в iOS-разработке и не только, сколько и каких тестов должно быть, а также какой инструмент для автотестов в iOS есть.
Статья: https://habr.com/ru/companies/docdoc/articles/732102/
Платформа: iOS/тестирование
Меня зовут Евгений Плёнкин. Я iOS разработчик компании СберЗдоровье. В этом материале я расскажу, что такое автоматизированное тестирование, в чём его польза в iOS-разработке и не только, сколько и каких тестов должно быть, а также какой инструмент для автотестов в iOS есть.
Статья: https://habr.com/ru/companies/docdoc/articles/732102/
Платформа: iOS/тестирование
Firebase Firestore: основные правила безопасности
В этой статье мы рассмотрим основные правила обеспечения безопасности базы данных Firestore.
Применяя эти меры безопасности, вы сможете обеспечить безопасность и конфиденциальность ваших данных и защитить ваше приложение от потенциальных уязвимостей.
Перевод: https://apptractor.ru/info/articles/firebase-firestore-osnovnye-pravila-bezopasnosti.html
Платформа: Firebase
В этой статье мы рассмотрим основные правила обеспечения безопасности базы данных Firestore.
Применяя эти меры безопасности, вы сможете обеспечить безопасность и конфиденциальность ваших данных и защитить ваше приложение от потенциальных уязвимостей.
Перевод: https://apptractor.ru/info/articles/firebase-firestore-osnovnye-pravila-bezopasnosti.html
Платформа: Firebase
Производительность Android приложений Kotlin в сравнении с С++
В целом можно с уверенностью сказать, что существуют случаи, когда производительность нативного кода колоссально превосходит производительность JVM и, несмотря на некоторое усложнение проекта, имеет смысл реализовать с помощью NDK те модули программы, которые требуют сложных вычислений, особенно если необходимо проводить вычисления не с примитивными типами, а с объектами.
Статья: https://habr.com/ru/articles/732746/
Платформа: программирование/Kotlin
В целом можно с уверенностью сказать, что существуют случаи, когда производительность нативного кода колоссально превосходит производительность JVM и, несмотря на некоторое усложнение проекта, имеет смысл реализовать с помощью NDK те модули программы, которые требуют сложных вычислений, особенно если необходимо проводить вычисления не с примитивными типами, а с объектами.
Статья: https://habr.com/ru/articles/732746/
Платформа: программирование/Kotlin
👍2
PlainApp - это приложение с открытым исходным кодом, которое позволяет управлять телефоном через веб-браузер. Доступ к файлам, видео, музыке, контактам, смс, звонкам и многому другому с вашего рабочего стола с помощью безопасного и простого в использовании веб-интерфейса.
PlainApp на GitHub: https://github.com/ismartcoding/plain-app
Платформа: Android
⭐️: 457
PlainApp на GitHub: https://github.com/ismartcoding/plain-app
Платформа: Android
⭐️: 457
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как я разрабатывал кастомный Segmented Control на SwiftUI
Привет, меня зовут Тёма Загоскин, я разрабатываю крутые штуки в Авиасейлс - сервисе по покупке дешевых авиабилетов. Год назад мы начали с нуля разрабатывать новый модуль, что позволило нам использовать модный молодежный SwiftUI. Казалось бы, идеальный инструмент для легкой верстки и красивых анимаций, поэтому очередная задача написать кастомный Segmented Control казалась тривиальной, тем более, что стандартный компонент кастомизируется буквально никак.
Статья: https://habr.com/ru/articles/732640/
Платформа: iOS
Привет, меня зовут Тёма Загоскин, я разрабатываю крутые штуки в Авиасейлс - сервисе по покупке дешевых авиабилетов. Год назад мы начали с нуля разрабатывать новый модуль, что позволило нам использовать модный молодежный SwiftUI. Казалось бы, идеальный инструмент для легкой верстки и красивых анимаций, поэтому очередная задача написать кастомный Segmented Control казалась тривиальной, тем более, что стандартный компонент кастомизируется буквально никак.
Статья: https://habr.com/ru/articles/732640/
Платформа: iOS
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Типы Диалогов в Jetpack Compose и как их использовать
Сегодня мы погрузимся в Диалоги. Мы начнем с технических аспектов, с того, как использовать их в Jetpack Compose, и со всех сочных моментов. Затем мы рассмотрим, какие существуют различные типы диалогов и как их использовать.
Простой туториал: https://www.composables.com/tutorials/dialogs
Платформа: Android
Сегодня мы погрузимся в Диалоги. Мы начнем с технических аспектов, с того, как использовать их в Jetpack Compose, и со всех сочных моментов. Затем мы рассмотрим, какие существуют различные типы диалогов и как их использовать.
Простой туториал: https://www.composables.com/tutorials/dialogs
Платформа: Android
Forwarded from IT Insights
OpenAI выпустил бесплатный курс по разработке подсказок (Prompt Engineering) для ChatGPT
Курс: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
Курс: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
www.deeplearning.ai
ChatGPT Prompt Engineering for Developers - DeepLearning.AI
Level up your use of LLMs with prompt engineering best practices. Learn to automate workflows, chain LLM calls, and build a custom chatbot.
Queryable - библиотека асинхронных представления View в SwiftUI. Это property wrapper, который может инициировать представление View и ожидать завершения от асинхронной функции, при этом полностью скрывая обработку состояния от самого представления.
Это не только освобождает View от любого вида контекста (оно просто предоставляет ответ на запрос), но вы также можете передать buttonConfirmation вниз по иерархии представлений, чтобы любое дочернее представление могло удобно вызвать подтверждение без необходимости иметь дело с фактически отображаемым пользовательским интерфейсом. Он работает с оповещениями, диалогами подтверждения, sheets, fullScreenCover и кастомными оверлеями.
Queryable на GitHub: https://github.com/SwiftedMind/Queryable
Платформа: iOS
⭐️: 67
Это не только освобождает View от любого вида контекста (оно просто предоставляет ответ на запрос), но вы также можете передать buttonConfirmation вниз по иерархии представлений, чтобы любое дочернее представление могло удобно вызвать подтверждение без необходимости иметь дело с фактически отображаемым пользовательским интерфейсом. Он работает с оповещениями, диалогами подтверждения, sheets, fullScreenCover и кастомными оверлеями.
Queryable на GitHub: https://github.com/SwiftedMind/Queryable
Платформа: iOS
⭐️: 67
❤1
5-этапный процесс рефакторинга вашей старой, не поддающейся тестированию кодовой базы и улучшения ее качества
Вы застряли в замкнутом круге, когда у вас есть старая кодовая база, не поддающаяся тестированию, но вы не можете ее рефакторить из-за отсутствия тестового покрытия?
Это распространенная проблема, с которой сталкиваются многие команды разработчиков программного обеспечения, но выход есть.
В этой статье мы рассмотрим 5-шаговый процесс, позволяющий разорвать этот цикл и улучшить качество вашей кодовой базы.
Статья: https://kotlintesting.com/5-step-process-to-refactor-legacy/
Платформа: Android
Вы застряли в замкнутом круге, когда у вас есть старая кодовая база, не поддающаяся тестированию, но вы не можете ее рефакторить из-за отсутствия тестового покрытия?
Это распространенная проблема, с которой сталкиваются многие команды разработчиков программного обеспечения, но выход есть.
В этой статье мы рассмотрим 5-шаговый процесс, позволяющий разорвать этот цикл и улучшить качество вашей кодовой базы.
Статья: https://kotlintesting.com/5-step-process-to-refactor-legacy/
Платформа: Android
CoreData для базовых задач одним методом
В этой статье я поделюсь своим опытом работы с CoreData, и предложу решение, упрощающее работу с ней практически до вызова одного универсального метода для базовых нужд изменения и сохранения данных, попутно рассказав, какие фишки CoreData рассматривались как вариант достижения этой цели.
Статья: https://habr.com/ru/companies/cleverpumpkin/articles/733038/
Платформа: iOS
В этой статье я поделюсь своим опытом работы с CoreData, и предложу решение, упрощающее работу с ней практически до вызова одного универсального метода для базовых нужд изменения и сохранения данных, попутно рассказав, какие фишки CoreData рассматривались как вариант достижения этой цели.
Статья: https://habr.com/ru/companies/cleverpumpkin/articles/733038/
Платформа: iOS
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
SpinDot - анимации загрузки для Android-приложения. Есть 10 разных видов, полностью совместимо с Jetpack Compose и XML, ручное управление анимацией. Работает все начиная с API 21.
SpinDot на GitHub: https://github.com/hristogochev/spindot
Платформа: Android
⭐️: 9
SpinDot на GitHub: https://github.com/hristogochev/spindot
Платформа: Android
⭐️: 9