Все потоки
Поиск
Написать публикацию
Обновить
46.92

iOS *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Мобильная разработка за неделю #521 (8 — 14 января)

Время на прочтение4 мин
Количество просмотров2.8K
Возвращаемся с нашим мобильными дайджестами! В первом в этом году про влияние AnyView на производительность, “вредоносность” 2ГИС, золотой век Kotlin и его неопределенное будущее, годовой отчет Data.ai и многое другое. Подключайтесь!

И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Разборы важных новинок для iOS-разработки с WWDC 2023

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.8K

Привет, Хабр! На связи Александр, iOS‑эксперт компании KTS.

В это время мы обычно строим планы на будущее, и я уверен, что лучшее начало нового года — обучение новому и развитие навыков. Надеюсь, что в этом вам помогут видео докладов с осенних митапов, которые мы провели с командой iOS-разработки и на которых разобрали темы с последней конференции Apple: WWDC 2023.

Собрал в одной статье все вебинары и их краткое содержание.

Читать далее

ScrollView с прилипающим выделенным элементом на SwiftUI

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.7K

Привет! Меня зовут Юля, я iOS-разработчик и накануне Нового года дизайнеры подарили мне макеты к новой фиче, посмотрев на которые я облегченно вздохнула: просто ScrollView, в котором есть просто один выделенный элемент, который при скролле вверх просто приклеивается к верхней границе этого самого ScrollView. Делов-то…

А делов оказалось на полтора дня. Потому что примерно на десятой ссылке всемогущий Гугл возмущенно развел руками: “На SwiftUI все порядочные люди делают ScrollView с приклеивающимся хедером. А чтобы какой ни попадя элемент прилеплять - это вы безобразие какое-то придумали…”.

Вообщем, стало понятно, что списать эту домашку не получится. Поэтому пришлось делать самой. И теперь хочу ей поделиться - чтобы ваши домашки готовились быстрее.

Читать далее

Как Додо Пицца доставляет свежий код: история мобильного CI для iOS

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров6.5K

Мобильная разработка под iOS особенная: собрать приложение можно только на macOS, среда разработки по сути только одна, большая часть принятого в сообществе тулинга написана на Ruby, свой пакетный менеджер появился только пару лет назад. Тяжко.

А когда речь заходит про автоматизацию тестирования и сборок — тушите свет: Xcode Cloud появился полгода назад и почти ничего не умеет, популярные облачные решения могут месяцами не обновлять стек на новые мажорные релизы среды разработки или ОС (вставить ссылку на тред где гитхаб не может привести новую макось уже полгода), а ценник при этом может быть в 10 раз больше, чем за машинки на Linux. Ещё тяжелее.

Меня зовут Леха Берёзка, я iOS-техлид в Додо Пицце и сейчас я расскажу как мы собрали свой CI на М1, с виртуализацией и на полном нативе.

Читать далее

Как и зачем мы внедрили Snapshot Testing

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.9K

Привет, Хабр!
Меня зовут Никита. Я iOS Teamlead в Московском кредитном банке.

В этой статье расскажу про то, как мы пришли к snapshot-тестам и теперь их используем на своем проекте. 
Статья будет полезна как для iOS-разработчиков, так и для iOS-автоматизаторов. 

Здесь мы разберем:

- Что такое, как работает и для чего нужно snapshot-тестирование

- Какие цели мы преследовали

- Как внедрить snapshot-тестирование к себе в проект

Читать далее

Это всего лишь опрос. Кто-то хочет черно-белый e-ink сенсорный мобильный телефон, который работает 14 дней?

Время на прочтение1 мин
Количество просмотров6.6K

Никаких видео. Только тексты и вообще все черно-белое. Для работы. С хорошей батареей можно ведь такой и на 30 дней растянуть.

Раньше были серии долгоиграющих телефонов. И у Самсуна и у Филиппа и у Нокии. Но сейчас вся батарея уходит на видео. Но если ты не сторонних торчать в ютюбе то тебе зачем телефон, который изначально до вечера не доживает?

Читать далее

Когда закончится эра безграмотных мобильных интерфейсов? Воспоминания о курсе эргономики 1985 года

Время на прочтение3 мин
Количество просмотров38K

Друзья, вы уже в курсе, что IOS достигла версии 17, а Android версии 12? Уже более 10 лет как две огромные фирмы мучают людей и совершенно не собираются умнеть.
Начнем с простого действия. Которое на компьютерах называется ESC. Отмена. Или возврат к предыдущему состоянию. Функция та же что и у BACKSPACE, но не в применению к набору текста, а к любому действию, которое захотелось отменить.
Apple упорно лишает пользователей телефонов и планшетов этой функции.

Это явное насилие, ибо понять почему на клавиатуре нет этой кнопки невозможно. Тем более, что на компьютрах Apple она имеется. Но в планшете iPad ее нет.

Андроидные телефоны имеют кнопку назад. Сразу имели. А вот Apple сделала позорную недокнопку в левом верхнем углу. Вроде бы нужная кнопка что бы вернуться в предыдущее приложение, да вот заранее не предусмотрели и пришлось встраивать "костыль".

Вот я из "Почты" нырнул в какое-то приложение. И возврат обратно вот такой мизерной незаметной строчкой. < Mail. Попасть в нее пальцем ну мягко говоря не просто. Равно как и разглядеть.

Читать далее

NativeScript в мире кроссплатформенной разработки

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.5K

Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.

Материал будет полезен не только разработчикам, которые уже пишут приложения на React Native, Ionic, Framework7, а также тем, кто собирается погрузиться в разработку кроссплатформенных мобильных приложений на JavaScript.

Погнали!

Свой путь в кроссплатформенную разработку я начал за пределами Smartex, с Cordova + Framework7.

Framework7 это как и Ionic просто UI-библиотека для создания интерфейса которая в последующим просто отрисовывается через WebView. Само приложение (общение с API платформы) создается на платформе Cordova или Capacitor, как раз они и создают экран с WebView и транслирует туда HTML.

Framework7 прекрасно работает с Vue, но по ряду причин он начал меня подбешивать. Я хотел найти инструмент именно для нативной разработки, а не на технологии основанной на WebView. Стал смотреть в сторону Angular, и какие вообще есть на рынке технологии для разработки нативных кроссплатформенных приложений с Angular под капотом. Так я и познакомился с NativeScript.

Читать далее

remember «Forever». Как сохранить скролл при уходе с экрана

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.1K

Всем привет! Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.

В этой статье решим проблему сохранения состояний экрана при навигации между экранами используя Jetpack Compose

Читать далее

Мобильная разработка за неделю #520 (18 — 24 декабря)

Время на прочтение5 мин
Количество просмотров2.6K
В этом дайджесте «условное ценообразование» для подписок и как управлять сложностью состояния, еще одно проигранное дело Google и как компания смогла проиграть там, где Apple выиграла, как почувствовать себя кассиром, анимации переходов во Flutter, рефакторинг кода и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Mobile Web, навигация и причем тут Nginx

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.1K

Привет, Habr! Я frontend-разработчик в Альфа-Банк. В статье я хотел бы поделиться опытом внедрения мобильной версии web приложения «Альфа-Бизнес» в нашу архитектуру. А точнее — как без массовых доработок 100 фронтовых сервисов мы заставили работать mobile web версию с новой навигацией.

Читать далее

Just DUIT — первый взгляд на server-driven UI фреймворк для Flutter

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.7K

Зачастую мобильные разработчики сталкиваются с проблемой невозможности быстрого delivery какой-то функции до пользователя. Для обхода этого ограничения мобильных платформ существуют самые разные инструменты и подходы: DivKit, СodePush и другие. И сегодня я хочу осветить новый Server-driven UI фреймворк для Flutter, который в некоторой степени может разрешить эту боль.

Just DUIT!

Разработка мобильных приложений для бизнеса: как создавать кроссплатформенные решения быстро и относительно дешево

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.7K

Как аутсортсинговой компании к веб разработке добавить мобильную разработку.

За этот год мы силами одной команды разработчиков создали с нуля и зарелизили 6 приложений для Android и iOS. В этой статье я расскажу, как выстроить процесс, чтобы быстро создавать качественные продукты, как кроссплатформенная разработка на Flutter помогает экономить время и деньги, а также, сколько стоит разработка приложения для бизнеса и из чего складывается цена.

Читать наш опыт

Ближайшие события

Как подготовиться к собеседованию по System Design мобильному разработчику

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.9K

В последнее время рынок труда в ИТ-индустрии переходит от рынка соискателя к рынку работодателя и компании все чаще заинтересованы в отборе максимально опытного специалиста, удовлетворяющего всем требованиям. Скорее всего вы слышали о недавних сокращениях в BigTech-компаниях, специалисты из которых наводнили рынок и теперь рубятся за позиции в компаниях поменьше. Однако стандартные наборы вопросов уже давно изжили себя, и большинство как российских так и зарубежных компаний стараются выбирать форматы собеседований которые максимально помогают проявить кандидата в бою. Одним из таких форматов является System Design Interview о котором мы и поговорим сегодня.

Я занимаюсь мобильной Android-разработкой уже более 10 лет и в данный момент являюсь тимлидом платформы Android. За свою карьеру я провел более 200 собеседований как нанимающий менеджер и сам тоже проходил собеседования как в крупные российские так и зарубежные компании. Поэтому у меня накопилось много советов и рекомендаций которыми я хочу поделиться.

Эта статья будет полезна как кандидатам которые хотят “взломать” System Design интервью, так и руководителям в сфере мобильной разработки, желающих внедрить секцию System Design в своей компании.

Читать далее

Модульная запутанность. Как распарсить одну модель в разных модулях

Время на прочтение4 мин
Количество просмотров1.4K

Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.

Хочу поделиться тем как распарсить одну модель с бекенда в разных Impl модулях. И немного о многомодульных приложениях в целом.

Читать далее

Мобильная разработка за неделю #519 (11 — 17 декабря)

Время на прочтение4 мин
Количество просмотров4.5K
В новом выпуске усложнение iOS и избавление от рекурсии в Kotlin, cимволизация логов и новые фичи на старых Android, многомодульность на Flutter, опыт прохождения собеседования в Google, как много языков может влезть в одного программиста и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Разбор задачи D отборочного этапа Yandex Cup 2023 — iOS

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.6K

Это статья из серии с разбором задач отборочного этапа Yandex Cup 2023 по направлению iOS-разработка с призовым фондом почти в 9 000 000 рублей. Повторюсь, правильных ответов у меня не было, и решал я уже после окончания отборочного этапа. Если заметите какие-либо неточности в формулировках, в размышлениях, в ответах, буду рад обсудить это в комментариях.

Начнем!)

Читать далее

От конструктора до облака: какие есть способы разработки мобильных приложений

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.8K

Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сливали бюджеты на разработку мобильного приложения in-house, поскольку думали, что это наилучший вариант, но так и не запускали его. В этой статье я расскажу о том, какие способы разработки мобильного приложения существуют и какие есть плюсы и минусы у каждого из них с точки зрения бизнеса. Думаю, это статья будет полезна не только CTO и IT-директорам, но и e-com менеджерам и собственникам, которые хотят разобраться в вопросе. Конечно, мнений может быть много, но я построил статью, основываясь на своем опыте. 

Читать далее

How to add drag and drop to your app

Время на прочтение6 мин
Количество просмотров1.1K

Данная статья является переводом оригинальной статьи Пола Хансена How to add drag and drop to your app.

Перетаскивание - это чрезвычайно полезная функция, поэтому не удивляйтесь, если ваши пользователи отправят вам электронное письмо с просьбой добавить ее. Несмотря на то, что и UITableView, и UICollectionView поддерживают перетаскивание, для настройки все равно требуется изрядный объем работы.

Чтобы опробовать это сейчас, давайте создадим новое приложение в Xcode. Нам нужно поместить во ViewController две TableView, оба заполненные примерами данных.

Для этого нам нужно:

Читать далее

SwiftUI: Разбираемся с identity на примере переходов

Время на прочтение6 мин
Количество просмотров2.2K

Концепция идентификации (identity) в SwiftUI не так проста, как могло бы показаться на первый взгляд. Один из лучших способов разобраться в ней — понять роль идентичности в переходах (transitions).

В SwiftUI идентификация является ключом к пониманию работы системы рендеринга. Идентификатор View говорит SwiftUI о том, какие из значений этого View соответствуют одному и тому же отрисованному представлению на протяжении его жизненного цикла. Поэтому идентификация сильно влияет на корректность, производительность и, как мы увидим, на переходы.

Читать далее