Как стать автором
Обновить
65.95

Разработка под iOS *

Популярная мобильная ОС

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

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

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

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии2

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

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

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

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

Читать далее
Всего голосов 26: ↑13 и ↓130
Комментарии116

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

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

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

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

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

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

Читать далее
Всего голосов 185: ↑158 и ↓27+131
Комментарии376

Истории

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

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

Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании 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.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии15

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

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

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

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

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии2

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

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

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

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии3

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

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

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

Just DUIT!
Всего голосов 7: ↑5 и ↓2+3
Комментарии2

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

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

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

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

Читать наш опыт
Всего голосов 5: ↑4 и ↓1+3
Комментарии14

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

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

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

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

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

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

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

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

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

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

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

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

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

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

Начнем!)

Читать далее
Всего голосов 9: ↑5 и ↓4+1
Комментарии6

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

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3+7
Комментарии2

How to add drag and drop to your app

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

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

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

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

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

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

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Как много языков может влезть в одного программиста?

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

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

Если с каких-то рассуждений прямо сильно подгорит, приходи в комментарии, будет классно пообщаться!

В целом с языками программирования так же, как и со знаниями: лишними точно не будут. Какие языки изучал я сам, тонкости работы со скриптами, CI/CD и советы, что из языков ещё поизучать разработчику, найдёте под катом.

Читать далее
Всего голосов 27: ↑23 и ↓4+19
Комментарии67

Когда официальные гайды не такие и полезные или WebSocket на ktor

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

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

В этой статье расскажу о том как мы добавляли поддержку одностороннего сокета в наше мобильное приложение на Kotlin Multiplatform с использованием ktor

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии5

Мобильная разработка за неделю #518 (4 — 10 декабря)

Время на прочтение5 мин
Количество просмотров2.1K
В нашем новом дайджесте устройство протокола iMessage и новое приложение Beeper Mini (которое уже не работает), бесплатный Xcode Cloud, новый ИИ от Google в Android, создание простого калькулятора, интернационализация от i до n, конец плоского дизайна и многое другое.

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

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0