Эволюция разработки под Android
Отправной точкой истории разработки Android считается начало 2000-х. Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их. Поначалу первый смартфон на базе Android планировался больше быть похожим на Blackberry.
https://habr.com/ru/articles/810881/
#Android
👉 @developer_mobila
Отправной точкой истории разработки Android считается начало 2000-х. Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их. Поначалу первый смартфон на базе Android планировался больше быть похожим на Blackberry.
https://habr.com/ru/articles/810881/
#Android
👉 @developer_mobila
Trigger value pattern in SwiftUI
В последней версии фреймворка SwiftUI в API появился шаблон триггерного значения. Триггерное значение позволяет нам прикрепить модификатор представления, который запускает свое действие при каждом изменении триггерного значения. Вы можете встретить этот паттерн при использовании сенсорной обратной связи или запуске анимации по ключевым кадрам в SwiftUI.
https://swiftwithmajid.com/2024/04/02/trigger-value-pattern-in-swiftui/
#ios
👉 @developer_mobila
В последней версии фреймворка SwiftUI в API появился шаблон триггерного значения. Триггерное значение позволяет нам прикрепить модификатор представления, который запускает свое действие при каждом изменении триггерного значения. Вы можете встретить этот паттерн при использовании сенсорной обратной связи или запуске анимации по ключевым кадрам в SwiftUI.
https://swiftwithmajid.com/2024/04/02/trigger-value-pattern-in-swiftui/
#ios
👉 @developer_mobila
Swift with Majid
Trigger value pattern in SwiftUI
The recent version of the SwiftUI framework introduces a trigger value pattern across its APIs. Trigger value allows us to attach a view modifier that runs its action whenever the trigger value changes. You can find this pattern while using sensory feedback…
Обзор архитектуры Compose с использованием паттерна «координатор»
В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.
https://habr.com/ru/companies/sberbank/articles/809683/
#Android
👉 @developer_mobila
В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.
https://habr.com/ru/companies/sberbank/articles/809683/
#Android
👉 @developer_mobila
Создаем гистограмму с помощью Swift Charts
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉 @developer_mobila
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉 @developer_mobila
Ready, Aim, Release: Android app rollout tips
https://proandroiddev.com/ready-aim-release-android-app-rollout-tips-1bc6f851e6fb
#Android
👉 @developer_mobila
https://proandroiddev.com/ready-aim-release-android-app-rollout-tips-1bc6f851e6fb
#Android
👉 @developer_mobila
What are lazy vars in Swift?
Sometimes when you’re programming you have some properties that are pretty expensive to compute so you want to make sure that you don’t perform any work that you don’t absolutely must perform.
https://www.donnywals.com/what-are-lazy-vars-in-swift/
#ios
👉 @developer_mobila
Sometimes when you’re programming you have some properties that are pretty expensive to compute so you want to make sure that you don’t perform any work that you don’t absolutely must perform.
https://www.donnywals.com/what-are-lazy-vars-in-swift/
#ios
👉 @developer_mobila
Swift Server Side Meetup
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in server-side Swift. Whether you're a seasoned pro or just starting your server-side Swift journey, this meetup is the perfect platform to learn, share, and grow alongside the vibrant community.
https://www.youtube.com/watch?v=FULMRV3wIKg
#ios
👉 @developer_mobila
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in server-side Swift. Whether you're a seasoned pro or just starting your server-side Swift journey, this meetup is the perfect platform to learn, share, and grow alongside the vibrant community.
https://www.youtube.com/watch?v=FULMRV3wIKg
#ios
👉 @developer_mobila
YouTube
Swift Server Side Meetup #01
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in…
Рекомпозиция в Compose: что не видно разработчику невооруженным глазом
Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad.
Все новые фичи в проекте пишутся на Compose. Поскольку мне нужно было разобраться в нюансах использования, встал вопрос о повышении собственной квалификации.
Когда я изучил множество тонких моментов реализации, мне захотелось поделиться новыми знаниями с командой — инициатива вылилась во внутренний митап, посвященный работе в Compose. Встреча прошла насыщенно, я получил очень много вопросов от коллег. В итоге мы пришли к тому, что по материалам митапа нужно сделать некий резюмирующий текстовый гайд, с которым разработчик не задумывался бы, как применять Compose.
https://habr.com/ru/companies/astralinux/articles/810549/
#Android
👉 @developer_mobila
Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad.
Все новые фичи в проекте пишутся на Compose. Поскольку мне нужно было разобраться в нюансах использования, встал вопрос о повышении собственной квалификации.
Когда я изучил множество тонких моментов реализации, мне захотелось поделиться новыми знаниями с командой — инициатива вылилась во внутренний митап, посвященный работе в Compose. Встреча прошла насыщенно, я получил очень много вопросов от коллег. В итоге мы пришли к тому, что по материалам митапа нужно сделать некий резюмирующий текстовый гайд, с которым разработчик не задумывался бы, как применять Compose.
https://habr.com/ru/companies/astralinux/articles/810549/
#Android
👉 @developer_mobila
Initializing
https://augmentedcode.io/2024/04/22/initializing-mainactor-type-from-a-non-isolated-context-in-swift/
#ios
👉 @developer_mobila
@MainActor
type from a non-isolated context in Swifthttps://augmentedcode.io/2024/04/22/initializing-mainactor-type-from-a-non-isolated-context-in-swift/
#ios
👉 @developer_mobila
Augmented Code
Initializing @MainActor type from a non-isolated context in Swift
Recently I was in the middle of working on code where I wanted a type to require @MainActor since the type was an ObservaleObject and makes sense if it always publishes changes on the MainActor. Th…
Result builders in Swift
Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.
https://habr.com/ru/articles/813393/
#ios
👉 @developer_mobila
Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.
https://habr.com/ru/articles/813393/
#ios
👉 @developer_mobila
Как защитить свой код от Gemini in Android Studio
Если вы используете Android Studio Jellyfish или более позднюю версию, вы можете использовать Gemini in Android Studio (ранее Studio Bot). Вы можете задать ему множество различных вопросов прямо в IDE. Инструмент очень умный и способен использовать код вашего проекта в IDE, чтобы улучшить ответы, которые он вам выдает, а также предоставляет интеллектуальное автодополнение кода. Хотя это и полезная функция, если вы работаете над проприетарной или (коммерчески или иным образом) важной кодовой базой, возможно, вы не захотите делиться своим кодом с Google. Google четко объясняет, как используются данные, в своей Политике конфиденциальности и документации по данным и конфиденциальности, но даже если лично вас все устраивает, многие организации придерживаются более строгой политики в отношении своей интеллектуальной собственности (например, кода).
https://proandroiddev.com/protect-your-code-from-gemini-in-android-studio-982a58e1ea2a
#Android
👉 @developer_mobila
Если вы используете Android Studio Jellyfish или более позднюю версию, вы можете использовать Gemini in Android Studio (ранее Studio Bot). Вы можете задать ему множество различных вопросов прямо в IDE. Инструмент очень умный и способен использовать код вашего проекта в IDE, чтобы улучшить ответы, которые он вам выдает, а также предоставляет интеллектуальное автодополнение кода. Хотя это и полезная функция, если вы работаете над проприетарной или (коммерчески или иным образом) важной кодовой базой, возможно, вы не захотите делиться своим кодом с Google. Google четко объясняет, как используются данные, в своей Политике конфиденциальности и документации по данным и конфиденциальности, но даже если лично вас все устраивает, многие организации придерживаются более строгой политики в отношении своей интеллектуальной собственности (например, кода).
https://proandroiddev.com/protect-your-code-from-gemini-in-android-studio-982a58e1ea2a
#Android
👉 @developer_mobila
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime
Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода.
В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее.
В этой статье мы:
1) пройдёмся по основным подходам к поиску утечек;
2) попробуем найти способ сделать его обнаружение утечек менее болезненным;
3) выясним, можно ли каким-то образом застраховаться от утечек в будущем развитии проекта.
https://habr.com/ru/companies/banki/articles/836924/
#ios
👉 @developer_mobila
Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода.
В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее.
В этой статье мы:
1) пройдёмся по основным подходам к поиску утечек;
2) попробуем найти способ сделать его обнаружение утечек менее болезненным;
3) выясним, можно ли каким-то образом застраховаться от утечек в будущем развитии проекта.
https://habr.com/ru/companies/banki/articles/836924/
#ios
👉 @developer_mobila
Новые коллекции в Android
В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.
На тот период Kotlin только начинал набирать обороты в Android разработке и добавление новых более эффективных коллекций, полностью написанных на нём было одним из шагов по внедрению языка.
https://habr.com/ru/articles/811415/
#Android
👉 @developer_mobila
В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.
На тот период Kotlin только начинал набирать обороты в Android разработке и добавление новых более эффективных коллекций, полностью написанных на нём было одним из шагов по внедрению языка.
https://habr.com/ru/articles/811415/
#Android
👉 @developer_mobila
Adwaita-swift: теперь можно писать приложения для GNOME на языке Swift
Язык программирования Swift наиболее широко применяется в разработке программного обеспечения для операционных систем от компании Apple. Но не так давно появилась заметка, в которой говорится, что теперь на этом языке можно писать программы, основанные на GTK4+Libadwaita.
В статье рассмотрим несколько небольших примеров, иллюстрирующих применение Swift в разработке приложений для GNOME, а в конце создадим простенький генератор паролей.
https://habr.com/ru/companies/first/articles/837724/
#ios
👉 @developer_mobila
Язык программирования Swift наиболее широко применяется в разработке программного обеспечения для операционных систем от компании Apple. Но не так давно появилась заметка, в которой говорится, что теперь на этом языке можно писать программы, основанные на GTK4+Libadwaita.
В статье рассмотрим несколько небольших примеров, иллюстрирующих применение Swift в разработке приложений для GNOME, а в конце создадим простенький генератор паролей.
https://habr.com/ru/companies/first/articles/837724/
#ios
👉 @developer_mobila
Media is too big
VIEW IN TELEGRAM
Всегда ли нужна чистая архитектура?
Все в андройд разработке знакомы с чистой архитектурой, обсуждаем письмо в котором ставится под сомнение целесообразность её использования
источник
#Android
👉 @developer_mobila
Все в андройд разработке знакомы с чистой архитектурой, обсуждаем письмо в котором ставится под сомнение целесообразность её использования
источник
#Android
👉 @developer_mobila
Проектирование и создание приложений для watchOS 10
Погрузитесь в детали принципов проектирования watchOS и узнайте, как применять их в своем приложении с использованием SwiftUI. Мы покажем, как создать приложение для обновленного пользовательского интерфейса, чтобы отображать актуальную информацию, передавать сфокусированный контент одним взглядом и сделать навигацию последовательной и предсказуемой.
https://www.youtube.com/watch?v=BPJZ6A_brSw
#ios
👉 @developer_mobila
Погрузитесь в детали принципов проектирования watchOS и узнайте, как применять их в своем приложении с использованием SwiftUI. Мы покажем, как создать приложение для обновленного пользовательского интерфейса, чтобы отображать актуальную информацию, передавать сфокусированный контент одним взглядом и сделать навигацию последовательной и предсказуемой.
https://www.youtube.com/watch?v=BPJZ6A_brSw
#ios
👉 @developer_mobila
YouTube
WWDC23: Design and build apps for watchOS 10 | Apple
Dive into the details of watchOS design principles and learn how to apply them in your app using SwiftUI. We’ll show you how to build an app for the redesigned user interface to surface timely information, communicate focused content at a glance, and make…
This media is not supported in your browser
VIEW IN TELEGRAM
Разработка встроенных приложений на Swift
В последние годы Swift постепенно демонстрирует свой потенциал для кроссплатформенной разработки. В этой статье я поделюсь своим опытом и попытками использовать язык Swift для разработки встроенных систем на плате SwiftIO.
https://fatbobman.com/en/posts/developing-embedded-applications-with-swift/
#ios
👉 @developer_mobila
В последние годы Swift постепенно демонстрирует свой потенциал для кроссплатформенной разработки. В этой статье я поделюсь своим опытом и попытками использовать язык Swift для разработки встроенных систем на плате SwiftIO.
https://fatbobman.com/en/posts/developing-embedded-applications-with-swift/
#ios
👉 @developer_mobila
Toggle Labels With Icons — Personalizing Accessibility
https://eevis.codes/blog/2024-04-21/toggle-labels-with-icons-personalizing-accessibility/
#Android
👉 @developer_mobila
https://eevis.codes/blog/2024-04-21/toggle-labels-with-icons-personalizing-accessibility/
#Android
👉 @developer_mobila
Toggle Labels With Icons - Personalizing Accessibility | Eevis Panula, Software Developer
Let's continue the theme of personalizing your app for users for accessibility by adding a setting to toggle labels with icons.