Рубрика «разработка под iOS» - 69

По итогам Rambler.iOS #9 - 1

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

Читать полностью »

Шпаргалка по тестированию требований к мобильным приложениям - 1

Никто не любит наступать на одни и те же грабли. Чтобы избегать их на этапе анализа и тестирования требований, мы завели общую шпаргалку. Она включает в себя те вопросы, которые в идеале должны быть выявлены и зафиксированы до разработки. Мы используем её как чек-лист, с помощью которого стараемся глубже вникнуть в логику мобильного приложения и разобраться, какие потенциальные проблемы могут возникнуть у пользователя.

Статья ориентирована на тестировщиков, которых просят провести ревью ТЗ и найти в нём несоответствия, и на аналитиков, которым разработчики после прочтения ТЗ часто задают вопросы формата: «А что должно быть, если …?».

Читать полностью »

Пока мы разбирались с ARKit, Google представил свой вариант фреймворка дополненной реальности – ARCore. Но всем приложениям по-прежнему нужна оптимизация, локализация, быстрые релизы, аналитика и реклама. Все это в нашем новом дайджесте.

Дайджест интересных материалов для мобильного разработчика #219 (28 августа — 3 сентября) - 1Читать полностью »

Я уже писал про Publish, Connect и RefCount в RxSwift. Для того, чтобы лучше раскрыть тему, представляю вашему вниманию перевод другой замечательной статьи, про различия между такими операторами, как share(), replay(), replayAll(), shareReplay(), publish() и shareReplayLatestWhileConnected().

Частая ошибка, которую совершают новички, взявшиеся за освоение Rx — это непонимание того, что цепочка операторов на Observable выполняется заново с каждым новым подписчиком:

let results = query.rx.text
    .flatMapLatest { query in
        networkRequestAPI(query)
    }
results.subscribe(...)   // один запрос в сеть
results.subscribe(...)   // другой запрос

Мы имеем несколько подписчиков на один-единственный Observable, но мы не хотим, чтобы его код исполнялся с каждым новым Subscriber'ом. Для этого в RxSwift имеется несколько операторов. Вот резюмирующая табличка, описывающая каждый из них:

image
1 — ретранслирует произведенных до подписки элементов не больше, чем bufferSize.
2 — ретранслирует 1 элемент, произведенный до подписки, до тех пор, пока существует хотя бы один подписчик.

Читать полностью »

Думаю, все мы, кто пишет на Swift хоть изредка, пользовались такой конструкцией языка как блоки. Но есть один нюанс с этими блоками, который сильно раздражает: в Xcode не совсем корректно работает форматирование кода по отношению к ним, а точнее — страдают отступы.

Страдают в том случае, если блок многострочный и указан как один из параметров при вызове метода, а форматирование кода — построчное, то есть, параметр указан на отдельной строке.
Читать полностью »

«В картах у нас есть такой сценарий: на ходу достать телефон, запустить приложение, быстро определить, где я нахожусь, сориентироваться по компасу, куда мне идти, и убрать телефон.

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

В основу данного материала легло выступление Николая Лихогруда, руководителя разработки мобильных Яндекс.Карт для iOS, на конференции Mobius 2017.

likhogrud уже написал пост на эту тему в блоге Яндекса, но мы не могли не выпустить один из лучших докладов конференции. Здесь есть и видео, и текст под катом, смотрите, как вам удобнее.
Читать полностью »

Весной 2017 года мы выпустили новое мобильное приложение «РосЕвроБанка». О вызовах, с которыми пришлось столкнуться двум командам — Redmadrobot и «РосЕвроБанка» — в процессе разработки, тестирования и внедрения мобильного продукта, рассказываем в нашем очередном кейсе. Итак, «Мобильный РосЕвроБанк: behind the scenes».

Разработка мобильного приложения для «РосЕвроБанк»: кейс - 1Читать полностью »

Самодостаточные контроллы на Xamarin.Forms. Часть 3. Разбираемся с NuGet - 1
В прошлых главах мы строили архитектуру приложения на Xamarin таким образом, чтобы отдельные контролы можно было переиспользовать самым простым образом в других приложениях. В этой части мы обернем эти контролы в отдельный NuGet-пакет, опубликуем его на сайте nuget.org и попробуем переиспользовать их в другом приложении, при этом написав минимальное количество кода.
Читать полностью »

На этой неделе мы готовились в выходу iOS 11 и Android O, узнавали о новых инструментах и обсуждали конференции, занимались оптимизацией виртуальной реальности и объясняли пользователям, что нужно подождать. Все это и многое другое – в нашем новом дайджесте!

Дайджест интересных материалов для мобильного разработчика #218 (21 августа — 27 августа) - 1Читать полностью »

  • Прелюдия
  • Разработка игры под iOS
  • Продвижение игры
  • Чисто поржать

Прелюдия

Эта история случилась в мае ровно на той скамейке, где Берлиоз с Бездомным поспорили о сущности Христа. Мы с приятелями тоже поспорили о возможности заработать на своей iPhone-игре. Я, вдруг, заявил, что без вложения денег это невозможно. Мои оппоненты, даже гении, нехотя согласились. Я усилил троллинг и добавил: — Друзья мои, без больших денег это совершенно невозможно! Любая сумма менее $25000, потраченная на раскрутку приложения — обернется пшиком. Пшшшш!

Все возмутились и прогнали меня со скамейки. Заодно уж и из Москвы.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js