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

enter image description here

Привет! Я Богдан, разработчик в iOS-команде Badoo в Лондоне. Прочитав заголовок, вы можете подумать, что в Badoo совсем с ума сошли публиковать посты на такие темы. Но пост вполне для Хабра. Мы сейчас очень активно расширяем iOS- и Android-команды и ищем разработчиков по всему миру. Естественно, Москву обойти стороной просто не можем (наш второй офис здесь). Мы хотим провести достаточно необычное мероприятие, чтобы после него обзавестись новыми коллегами.

Мы (мобильные команды Badoo) решили приехать на несколько дней в Москву и провести небольшую встречу, после которой несколько разработчиков (iOS и Android) получат предложения о работе у нас (в Лондоне). Чтобы не затягивать эту самую встречу, мы сделали онлайн-тест (он не суперсложный, а скорее чтобы понять ваш уровень и упростить и ускорить личные встречи).

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

В прошлой статье мы рассказали, как в целом устроен фронтенд программы, обсудили технологический стек. Данную статью посвятим обсуждению 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Читать полностью »


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