HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Вызов защищенного API из iOS-приложения на Swift</a></li>
1 <ul><li><a>Вызов защищенного API из iOS-приложения на Swift</a></li>
2 <li><a>Kotlinx.serialization и работа с JSON</a></li>
2 <li><a>Kotlinx.serialization и работа с JSON</a></li>
3 <li><a>SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)</a></li>
3 <li><a>SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)</a></li>
4 <li><a>Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами</a></li>
4 <li><a>Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами</a></li>
5 <li><a>Firestore и NoSQL - Основы структурирования данных</a></li>
5 <li><a>Firestore и NoSQL - Основы структурирования данных</a></li>
6 <li><a>Apple убивает Swift</a></li>
6 <li><a>Apple убивает Swift</a></li>
7 <li><a>Новый подход к безопасному управлению состояниями в Kotlin-приложениях</a></li>
7 <li><a>Новый подход к безопасному управлению состояниями в Kotlin-приложениях</a></li>
8 <li><a>ViewModels в Android: "за" и "против"</a></li>
8 <li><a>ViewModels в Android: "за" и "против"</a></li>
9 <li><a>Нативные библиотеки для Android</a></li>
9 <li><a>Нативные библиотеки для Android</a></li>
10 </ul><h2>Вызов защищенного API из iOS-приложения на Swift</h2>
10 </ul><h2>Вызов защищенного API из iOS-приложения на Swift</h2>
11 <p>Пошаговое руководство по использованию OAuth 2.0 при доступе к защищенным API из iOS‑приложения на Swift с Auth0.</p>
11 <p>Пошаговое руководство по использованию OAuth 2.0 при доступе к защищенным API из iOS‑приложения на Swift с Auth0.</p>
12 <p><a>Перейти к руководству</a></p>
12 <p><a>Перейти к руководству</a></p>
13 <h2>Kotlinx.serialization и работа с JSON</h2>
13 <h2>Kotlinx.serialization и работа с JSON</h2>
14 <p>Наверное, все мы хотя бы раз сталкивались с задачей<a>сериализации</a>данных, будь то обмен данными с сервером, сохранение состояния объекта в файл или передача данных между различными приложениями. В Kotlin для этих целей удобно использовать библиотеку <strong>Kotlinx.serialization</strong>, которая позволяет работать с данными, сериализуя и десериализуя их в различные форматы, такие как JSON, CBOR, и Protocol Buffers.</p>
14 <p>Наверное, все мы хотя бы раз сталкивались с задачей<a>сериализации</a>данных, будь то обмен данными с сервером, сохранение состояния объекта в файл или передача данных между различными приложениями. В Kotlin для этих целей удобно использовать библиотеку <strong>Kotlinx.serialization</strong>, которая позволяет работать с данными, сериализуя и десериализуя их в различные форматы, такие как JSON, CBOR, и Protocol Buffers.</p>
15 <p>Эта библиотека предоставляет инструменты для сериализации объектов в строки (например, в JSON) и обратно. Главное её преимущество - это полная интеграция с Kotlin.</p>
15 <p>Эта библиотека предоставляет инструменты для сериализации объектов в строки (например, в JSON) и обратно. Главное её преимущество - это полная интеграция с Kotlin.</p>
16 <p><a>Читать далее</a></p>
16 <p><a>Читать далее</a></p>
17 <h2>SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)</h2>
17 <h2>SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)</h2>
18 <p>На WWDC 2023 компания Apple представила модификатор представления containerRelativeFrame для SwiftUI. Этот модификатор упрощает некоторые операции размещения элементов на экране, которые ранее было сложно выполнить обычными методами.</p>
18 <p>На WWDC 2023 компания Apple представила модификатор представления containerRelativeFrame для SwiftUI. Этот модификатор упрощает некоторые операции размещения элементов на экране, которые ранее было сложно выполнить обычными методами.</p>
19 <p>В этой статье мы подробно рассмотрим модификатор containerRelativeFrame, его определение, правила компоновки, примеры использования и важные соображения. Чтобы еще больше расширить наше понимание его функциональных возможностей, в конце статьи мы также создадим обратно совместимую реплику containerRelativeFrame для старых версий SwiftUI.</p>
19 <p>В этой статье мы подробно рассмотрим модификатор containerRelativeFrame, его определение, правила компоновки, примеры использования и важные соображения. Чтобы еще больше расширить наше понимание его функциональных возможностей, в конце статьи мы также создадим обратно совместимую реплику containerRelativeFrame для старых версий SwiftUI.</p>
20 <p><a>Продолжение</a></p>
20 <p><a>Продолжение</a></p>
21 <h2>Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами</h2>
21 <h2>Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами</h2>
22 <p>В этой статье рассмотрим, как реализовать паттерн Composite в Kotlin с помощью sealed-классов и корутин. Если у вас есть сложная система с кучей объектов - простых и составных - и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.</p>
22 <p>В этой статье рассмотрим, как реализовать паттерн Composite в Kotlin с помощью sealed-классов и корутин. Если у вас есть сложная система с кучей объектов - простых и составных - и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.</p>
23 <p><a>Перейти к статье</a></p>
23 <p><a>Перейти к статье</a></p>
24 <h2>Firestore и NoSQL - Основы структурирования данных</h2>
24 <h2>Firestore и NoSQL - Основы структурирования данных</h2>
25 <p>Инструменты Firebase уже больше десятилетия помогают разработчикам быстрее создавать приложения, начиная с push-уведомлений и аутентификации и заканчивая базой данных Firestore. В этом году на Google I/O было анонсировано, что Firestore теперь поддерживает SQL в форме Data Connect, наконец позволив разработчикам выбирать между NoSQL и SQL.</p>
25 <p>Инструменты Firebase уже больше десятилетия помогают разработчикам быстрее создавать приложения, начиная с push-уведомлений и аутентификации и заканчивая базой данных Firestore. В этом году на Google I/O было анонсировано, что Firestore теперь поддерживает SQL в форме Data Connect, наконец позволив разработчикам выбирать между NoSQL и SQL.</p>
26 <p><a>Читать далее</a></p>
26 <p><a>Читать далее</a></p>
27 <h2>Apple убивает Swift</h2>
27 <h2>Apple убивает Swift</h2>
28 <p>В этой статье мы рассмотрим различные виды управления современными языками программирования. Я объясню, в чем именно заключается уникальность диктаторской структуры Swift, и продемонстрирую вам, насколько плохи стали дела.</p>
28 <p>В этой статье мы рассмотрим различные виды управления современными языками программирования. Я объясню, в чем именно заключается уникальность диктаторской структуры Swift, и продемонстрирую вам, насколько плохи стали дела.</p>
29 <p>Но сначала проведем краткий экскурс по истории Swift.</p>
29 <p>Но сначала проведем краткий экскурс по истории Swift.</p>
30 <p><a>Продолжение</a></p>
30 <p><a>Продолжение</a></p>
31 <h2>Новый подход к безопасному управлению состояниями в Kotlin-приложениях</h2>
31 <h2>Новый подход к безопасному управлению состояниями в Kotlin-приложениях</h2>
32 <p>Вот уже несколько лет я занимаюсь разработкой высокопроизводительных, полностью асинхронных, реактивных, мультиплатформенных приложений. За это время я успел наткнуться на несколько довольно тонких и трудно отлаживаемых проблем с управлением состояниями. В этой статье я хотел бы поделиться с вами своим опытом, который поможет вам сэкономить множество часов и нервных клеток, и предложить новый подход к управлению состояниями, который лично я никогда раньше не встречал и который навсегда избавит вас от этих проблем.</p>
32 <p>Вот уже несколько лет я занимаюсь разработкой высокопроизводительных, полностью асинхронных, реактивных, мультиплатформенных приложений. За это время я успел наткнуться на несколько довольно тонких и трудно отлаживаемых проблем с управлением состояниями. В этой статье я хотел бы поделиться с вами своим опытом, который поможет вам сэкономить множество часов и нервных клеток, и предложить новый подход к управлению состояниями, который лично я никогда раньше не встречал и который навсегда избавит вас от этих проблем.</p>
33 <p><a>Читать далее</a></p>
33 <p><a>Читать далее</a></p>
34 <h2>ViewModels в Android: "за" и "против"</h2>
34 <h2>ViewModels в Android: "за" и "против"</h2>
35 <p>В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и обнародование изменяемых состояний.</p>
35 <p>В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и обнародование изменяемых состояний.</p>
36 <p><a>Часть 1</a></p>
36 <p><a>Часть 1</a></p>
37 <p><a>Часть 2</a></p>
37 <p><a>Часть 2</a></p>
38 <h2>Нативные библиотеки для Android</h2>
38 <h2>Нативные библиотеки для Android</h2>
39 <p>В этой статье мы рассмотрим работу с нативными библиотеками, которые могут содержаться в приложениях для Android. Нативные библиотеки - это код, который разработчик написал, а затем скомпилировал для конкретной архитектуры компьютера. Чаще всего этот код написан на C или C++. Наиболее распространенными причинами, по которым разработчик может это сделать, являются математически сложные или требующие больших затрат времени операции, такие как работа с графическими библиотеками.</p>
39 <p>В этой статье мы рассмотрим работу с нативными библиотеками, которые могут содержаться в приложениях для Android. Нативные библиотеки - это код, который разработчик написал, а затем скомпилировал для конкретной архитектуры компьютера. Чаще всего этот код написан на C или C++. Наиболее распространенными причинами, по которым разработчик может это сделать, являются математически сложные или требующие больших затрат времени операции, такие как работа с графическими библиотеками.</p>
40 <p><a>Перейти к статье</a></p>
40 <p><a>Перейти к статье</a></p>
41 <a></a>
41 <a></a>