Рубрика «iOS» - 58

В прошлой статье мы рассказали, как в целом устроен фронтенд программы, обсудили технологический стек. Данную статью посвятим обсуждению Redux  —  почему мы называем его сердцем архитектуры ЕФС.

Redux как сердце архитектуры фронтенда Единой фронтальной системы - 1
Читать полностью »

Сервис по изучению английского языка Lingualeo выйдет на рынки Испании и испаноязычной Латинской Америки. Об этом «Роем!» сообщили представители компании. Сейчас площадка, где зарегистрировано 16 млн человек, локализована для турецкоговорящего, португалоговорящего и испаноговорящего рынков. LinguaLeo, портфельная компания Runa Capital, объявила экспансию и перевод сервиса на 53 новых языка Читать полностью »

Мой хороший знакомый APPrioriGames на днях выпустил свою первую мобильную игру. К нашей образовательной программе он отношения не имеет, тем не менее в нашем блоге «Менеджмент игровых проектов» мы решили разместить его историю инди-разработки. Историю различных «грабель», которые словили разработчики, выпускающие свою первую игру, с кульминацией в виде очень необычного реджекта со стороны стора. Который к счастью им удалось преодолеть. Вот сама игра BottleBattle. А история под катом.

История создания и запуска забавной мобильной игры про разбивание бутылок об голову - 1
Читать полностью »

Вступление

В нашем офисе есть стоянка для велосипедов. Для нее была куплена китайская сигнализация с пультом управления. Возникла идея удаленно включать/выключать сигнализацию. Из имеющегося в наличии железа была плата Punch Through LightBlue Bean. На борту платы оказался датчик температуры, который мы тоже задействуем. Пусть в офисный чат ежедневно нам температуру в офисе сообщает.
Читать полностью »

Что Mobius 2017 рассказал о мобильной разработке - 1

Слушая доклады на IT-конференции, можно не только узнать много конкретной информации из каждого, но и увидеть более общую картину: вместе доклады говорят о том, чем в данный момент живёт и интересуется индустрия.

В Петербурге на прошлой неделе состоялся Mobius 2017 — как прошло мероприятие, и какие общие выводы о мобильной разработке в 2017-м можно сделать по рассказанному там?

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

Упрощение локализации в iOS - 1

Всем доброго времени суток! Меня зовут Николай, я iOS-Lead в компании Touch Instinct. В процессе разработки часто приходится иметь дело с проектами, которые должны работать на нескольких языках. Расскажу, к какому подходу мы пришли при работе с локализацией.

Минусы базовых подходов

Есть несколько основных подходов для локализации iOS-приложения. Сперва стоит определиться, разрабатывается приложение с использованием storyboards или нет.

С использованием storyboards

Можно локализовывать строки напрямую в storyboard. Однако, при таком подходе есть ряд минусов:

  • в случае наличия большого количества storyboards, локализованные строки разбросаны по проекту;
  • невозможность использования атрибутных строк, а также строк, которые состоят из нескольких составных частей;
  • вам всё равно придется часть строк локализовывать в коде. Это ведет к еще большему разбросу в приложении;
  • фактически отсутствует возможность что-то проверить другому разработчику при проведении code review.

Без storyboards

В этом случае локализуем всё в коде. Однако и тут есть ряд минусов. Дело в том, что файлы со строками локализации localizable.strings — магические. При изменении таких файлов очень велика вероятность возникновения ошибки из-за человеческого фактора. Изменения нельзя отследить, пока ошибка не будет найдена в процессе тестирования.

Таким образом, хотя для локализации уже есть готовые механизмы в iOS SDK, они имеют существенные минусы. Более подробно смотрите здесь.

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

Демонический голос, управляющий твоим смартфоном - 1

Вот вам идея для эксперимента: в заполненном автобусе громко произнесите: «Привет, Сири! Напиши смс маме: я беременна!». После этого расслабьтесь и наблюдайте за перфомансом. Наверняка поймаете чьи-то испуганные взгляды, когда их айфоны проснутся в сумках/карманах, и владельцы полезут за ними отменять вашу команду. (С)Читать полностью »

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

Введение

Начитавшись туториолов о Viper я начал пробовать создать на нем новый проект. В итоге мой Viper выглядел примерно так: Читать полностью »

Завершим эту неделю приятной новостью: с сегодняшнего дня команда Everyday Tools подключается к проекту RoboForm — каждое воскресенье на нашем блоге будет появляться свежий дайджест с отборными материалами на тему мобильной разработки. Поздравляем всех причастных с юбилейным выпуском и передаём слово автору:

«Когда-то дайджест новостей начинался как простая забава – «а давайте попробуем». И вот уже 200 выпуск и около четырех лет! Спасибо всем, что читаете (если есть комментарии и пожелания — пишите всеми доступными способами), спасибо Everyday Tools за публикации – мобайл на самом пике и останавливаться, кажется, не собирается. Новинки F8, реактивное программирование, платформы, доходы и расходы приложений – все это в новом выпуске.

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

Всем привет! Те, кто следит за нашим блогом, уже заметили, что мы выкладывали в открытый доступ трансляцию главного зала последних двух наших Java-конференций. Что ж, мы видим, что вам это нравится, поэтому продолжаем: в этот раз трансляция мы делаем оналйн-трансляцию второго дня конференции по мобильной разработке Mobius 2017.

Завтра с 10 утра мы начинаем бесплатную YouTube-трансляцию первого трека конференции! Первый трек – самый большой и популярный среди наших участников, – будут доклады об архитектурах мобильных приложений, кодогенерации, и кое-чем другом. В главном зале большая часть докладов посвящена Android, однако есть пара докладов и для iOS-разработчиков.

Открытая трансляция главного зала конференции Mobius 2017: Поговорим про архитектуру мобильных приложений и кое-что еще - 1

Ссылка на трансляцию и подробную программу – под катом.
Читать полностью »


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