Знакомство со Stencil или уроки шаблонного общения

Что любят все разработчики? Конечно, автоматизировать рутинные повторяющиеся действия! Я расскажу, как в этом может помочь язык Stencil, широко известный в узких кругах iOS-разработчиков.

Мобильная ОС компании Apple

Что любят все разработчики? Конечно, автоматизировать рутинные повторяющиеся действия! Я расскажу, как в этом может помочь язык Stencil, широко известный в узких кругах iOS-разработчиков.

Мобильное приложение всегда оказывается на устройстве пользователя — а значит, потенциально доступ к нему может быть и у злоумышленника. Это значительно повышает требования к безопасности выпускаемых продуктов, поскольку в коде приложений неизбежно содержатся конфиденциальные данные, которые используются разработчиками. Соответственно, обязательным условием становится защита секретов на клиенте от утечек.
Привет, Хабр. Меня зовут Кирилл Смирнов. Я руководитель разработки в iOS команде СберЗдоровья — MedTech компании №1 в России. В этой статье я расскажу, где в iOS-приложениях хранятся секреты и как их находят, почему важно скрывать секреты, и как выстроить надежную защиту с учетом потенциальных угроз.
Материал подготовлен по мотивам моего доклада на Podlodka iOS Crew. Вы можете посмотреть его здесь.

Привет, Хабр! Я Кирилл Адещенко, исполнительный директор департамента цифрового бизнеса РСХБ. В этой статье я делюсь наблюдениями и выводами о том, как команды банков работают с публикацией мобильных приложений в условиях ужесточения правил магазинов приложений и санкционных ограничений.

В статье iOS-разработчик студии комплексной разработки цифровых продуктов и мобильных приложений CleverPumpkin разбирает ограничения SwiftUI при построении сложной навигации, с которыми команда столкнулась на одном из своих проектов. Он рассказывает, в каких сценариях приходилось подключать UIKit, чтобы сохранять стабильность, показывает варианты подходов и делится выводами, какие инструменты выбирать для контролируемой навигации.
Статья может быть особенно полезна тем, кто разрабатывает архитектуру и выбирает подходящий стек технологий.
Привет, Хабр! Меня зовут Илья, и последние несколько недель я провёл в дебрях документации Apple, исходников AVFoundation и видео с WWDC, разбираясь с новой фичей iPhone 16 — Camera Control. В этой статье расскажу, как устроена архитектура этой системы, почему интеграция сложнее, чем кажется, и дам рабочий код для интеграции в ваше приложение.

Евгений предоставляет открытый доступ к фундаментальным материалам по Swift:
от установки и настройки Xcode до базовых конструкций языка, работы с циклами, классами, замыканиями, дженериками и многим другим.
Курс разбит на 66 небольших глав, которые проходят комфортно и последовательно.
Подходит: начинающим с нуля
Язык: RU
🔗 https://lazyload.academy/articles/list/ios/prepare-to-course
Также на сайте доступен платный модуль по SwiftUI (76 глав) и модуль по многопоточности.
Доступ открывается через Boosty — 1250 ₽/мес (стоимость полностью оправдана объёмом материала).

Работа с RTSP-потоками во Flutter остаётся задачей, которую нельзя решить штатными средствами фреймворка. Базовый плагин video_player не поддерживает RTSP, из-за чего прямое воспроизведение видео с IP-камер и систем наблюдения недоступно без сторонних решений. Для корректной работы в таких сценариях требуется специализированный плеер, обеспечивающий стабильное отображение потока и минимально возможную задержку.
В данной статье мы рассмотрим основные библиотеки для работы с RTSP во Flutter — flutter_vlc_player, fijkplayer и media_kit, сравним их особенности, достоинства и влияние на задержку воспроизведения. Отдельное внимание уделим настройкам, которые позволяют минимизировать latency, прежде всего в решениях на базе FFmpeg. Также разберём доступные параметры оптимизации в flutter_vlc_player.
Материал поможет выбрать подходящую библиотеку и настроить плеер так, чтобы обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях.

Привет! Меня зовут Ринат, я iOS-разработчик в Naumen. В компании я занимаюсь разработкой нескольких iOS-продуктов: клиента для SMP-сервера (Service Management Platform) и SDK чата.
В этой статье расскажу, как мы используем связку Proxyman + HAR, чтобы готовить mock-данные сетевых запросов для интеграционных UI-тестов одного из iOS-приложений. Такой подход выручает, когда для тестов нет возможности поднять сервер с нужным наполнением или сервер не предоставляет дополнительных методов API для имитации определенного сценария — например, переписка в чате с собеседником, обновление статуса заказа.

В жизни каждого фронтендера наступает момент, когда приходится перейти от родного привычного десктопа на разработку мобильной версии веб-приложения или даже начать работать над mobile-first решением, или еще страшнее — PWA-приложением.
И вот вы, фронтенд-разработчик, сидите с открытыми DevTools десктопного браузера, используете симуляцию мобильного устройства, и локально все идеально. А тестировщики все несут и несут баги. Верстка убегает, само веб-приложение тормозит, часть UI просто не достать пальцем, да и в целом жесты работают так, как им захочется.
Привет! На связи Полина, фронтенд-разработчик в Selectel. Раньше я тоже думала, что адаптив в десктопном браузере абсолютно такой же, как на телефонах. Да и вообще мобильный браузер — это просто браузер поменьше (спойлер — нет). В этой статье я расскажу об их различиях, что с этим делать, как прокинуть localhost на реальный телефон и получить DevTools от браузера в смартфоне, чтобы ловить поменьше багов на проде.

Привет, меня зовут Антон Огнев, я iOS-разработчик в ПСБ, и в этой статье расскажу о классах, компонентах и зависимостях между ними. Конкретно речь пойдет о том, какие принципы стоит всегда соблюдать при создании и поддержке компонентов, как определить, не рушит ли одна новая зависимость весь проект, как меняются приоритеты по компонентам между стартом новой разработки и зрелым продуктом.
Большая часть теории основывается на книге «Чистая архитектура» Роберта Мартина. Я эту книгу читал несколько раз и каждый раз открывал для себя что-то новое, набирался опыта и на многие вещи начинал смотреть иначе. Между пояснением принципов буду делиться историями из собственных компонентных приключений в качестве примеров.
Заглянули к себе в компоненты и обнаружили, что там бардак и обобщенные имена типа Cоmmon, Shared, Core, Base, Utils? Это текст для вас: сам был на вашем месте, помогу навести порядок.

Xcode ужасен, и об этом много кто говорит. Постоянные ошибки, баги интерфейса, неочевидное поведение и местами плохая документация — всё это мешает спокойно писать код. Вместо работы над проектом приходится искать решения проблем и пытаться починить то, что должно работать из коробки. Ещё одна неприятность на этом пути заключается в том, что Apple не всегда публично рассказывает о багах в Xcode, поэтому надо ещё догадаться, что именно не работает.
В этой статье автор делится ошибками и «особенностями» Xcode, которые больше всего его раздражают. Главный совет: держитесь подальше от этой IDE и всегда ищите альтернативы.

В новом дайджесте вопрос с собеседования, на котором сыпятся даже Senior-ы, стабильный Navigation 3 и нестабильная ViewModel, кросс-компиляция, 100 уроков развития проекта, открывашка из трубки домофона и многое другое. Заходите!

Искусственный интеллект на сегодняшний день играет важную и быстро растущую роль в разработке программного обеспечения. Его использование охватывает множество аспектов, от автоматизации задач до помощи в принятии решений.

Несмотря на то, что использование Optional самая настоящая рутина для любого iOS-разработчика, в тонкости реализации этого механизма мы погружаемся только при первом знакомстве с языком. Предлагаю чуть углубиться, чтобы уверенно говорить на эту тему с коллегой или интервьюером.

Пользователи всегда хотят большего, и количество самых разных запросов постоянно растёт. Но есть некоторые функции, которые пользуются особой популярностью. Вот такие запросы мы и реализовали в новой версии браузера Vivaldi 7.7 для Android.

Это вторая часть из цикла про популяризацию ASO среди разработчиков. В первой, вводной части, я рассказывал, как любой мобильный разработчик может увеличить количество скачиваний своего приложения. Сейчас же, предлагаю пойти дальше и на примере простого приложения разобрать основные понятия, оценить потенциал ниши и понять, зачем "якорь" нужен любому приложению.
В качестве примера мобильного приложения для предметного рассмотрения темы, предлагаю представить, что мы делаем простенькое приложение для трекинга собственного веса - минималистичное, с графиками, возможностью записывать цифры веса и, возможно, уведомлениями. В общем, такое, чтобы была мотивация делать, можно было бы "завайбкодить", но без претензий на миллиардерство. Идея привычная, но как её оценить с точки зрения потенциала в App Store? Будут ли его скачивать и сможем ли мы заработать? Давайте посмотрим.

В этом выпуске Optional в Swift, которые всех сбивают с толку, актуальные практики работы в фоне и стартапы в Дубае, ИИ простыми словами, партнерская программа для мини-приложений в App Store, смягчение ограничений на загрузку сторонних приложений в Android и многое другое. Заходите!

Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter, которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI.
Недавно я наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.
Установка библиотеки выполняется через Swift Package Manager.

Для меня бренд Apple всегда был синонимом внимания к деталям, но, к сожалению, в последние 8-10 лет решения компании на них совершенно не ориентированы.
В этом году всё настолько усугубилось, что она, похоже, совершенно перестала заботиться об UX, accessibility и подробным тестам QA.
Лучше один раз увидеть, чем сто раз услышать, поэтому я покажу вам несколько примеров, разочаровавших меня и в конечном итоге заставивших отказаться от некоторых продуктов Apple.

В новом дайджесте самый задаваемый вопрос с собеседования и приватный Android без слежки, новые инструменты в Google Play и App Store, своя мобильная ОС с нуля на Rust, магия ИИ-музыки, концентрированный маркетинг и многое другое. Подключайтесь!