В интернете легко найти статьи по локализации iOS, где описываются все основные этапы. Проблема в том, что чаще нам на глаза попадается вариант ручного заполнения файла *.strings. Это довольно муторный подход и даже небольшая автоматизация в этом нам бы пригодилась. Ещё в iOS 8 Apple добавила возможность частичной автоматизации перевода приложения посредством экспорта и импорта локализованных строк через XLIFF-документ.
Пользователь
Свой UX приложения ЖКХ Москвы с чатом и крутилками
7 min
12KТехнологии развиваются со сверхзвуковой скоростью, а проектирование интерфейсов, как и любой навык, нуждается в постоянной практике. Совокупность двух этих факторов открывает целую галактику для полёта дизайнерской мысли.
На мой взгляд, в проектировании интерфейса любые смелые идеи могут оказаться ключом к успеху, но лишь при трёх условиях:
- если решение интуитивно понятно
- если решение упрощает процесс взаимодействия
- если решение реализуемо
Как грустно, что в крупном городе с Wi-Fi в метро и воздушными зебрами до сих пор нужно вчитываться в запутанные квитанции и стоять в очередях, чтобы оплатить коммунальные услуги.
Не так давно вышло приложение ЖКХ Москвы, призванное облегчить жизнь граждан. Его описание гласит:
«С помощью приложения возможно ввести показания счетчиков водоснабжения, узнать, когда отключат горячую воду, получить информацию об управляющей компании, узнать задолженность по услугам ЖКХ, принять участие в опросе, а также обсудить с соседями проблемы обслуживания вашего дома на форуме.»
+16
Generics в Kotlin vs. Generics в JAVA: cходства, различия, особенности
7 min
50KTutorial
Эта статья про Generics в Kotlin — особенности их использования, сходства и различия с Generics в Java.
В двух словах про Generics
Если коротко, то Generics — это способ сказать, что класс, интерфейс или метод будут работать не с каким-то конкретным типом, а просто с каким-то. С каким именно будет определено из контекста. Например:
Заранее неизвестно, объекты какого класса будут содержаться в списке, но это определится при его использовании:
Теперь это не просто список, а список строк. Generics помогают обеспечить типобезопасность: в List можно попытаться положить любой объект, но в List<String> — только String или один из его потомков.
public interface List<E> extends Collection<E> {
//...
}
Заранее неизвестно, объекты какого класса будут содержаться в списке, но это определится при его использовании:
List<String> list = new ArrayList<>();
Теперь это не просто список, а список строк. Generics помогают обеспечить типобезопасность: в List можно попытаться положить любой объект, но в List<String> — только String или один из его потомков.
Я разделю рассказ про Generics на две части: собственно Generics и использование Wildcards. Пока речь не заходит про Wildcards, использование Generics в Kotlin мало чем отличается от Java.
+16
Лучший друг киномана: переделываем приложение CBS под Android
4 min
9.8KЛюбите ли вы сериалы, так как люблю их я? У многих из нас есть друг, который подсаживает на долгоиграющие истории. Лично я не успеваю следить за бесконечным многообразием новинок кинорынка, но с удовольствием прожгу часок-другой у экрана, жаря овощные котлетки после напряженной дизайн-недели. Так о чем я? Каждому хотелось бы иметь верного друга, сообщающего про все киносвежести и эпизодики, чтобы забыть наконец про долгие и изнурительные поиски захватывающего фильма для вечера пятницы. Но что если его нет?
+5
Как Google в Лондоне тренинг по Android N устраивала
3 min
6.5KПривет, Хабр!
Недавно компания Google устраивала двухдневный тренинг по новой версии системы Android (под литерой N) для разработчиков приложений. И я хочу вам рассказать, какими секретными и не очень знаниями с нами поделились.
Недавно компания Google устраивала двухдневный тренинг по новой версии системы Android (под литерой N) для разработчиков приложений. И я хочу вам рассказать, какими секретными и не очень знаниями с нами поделились.
+11
Как мы делали Зимнюю Стажировку по iOS- и Android-разработке в Redmadrobot
5 min
9.2KПривет, Хабр! Пришло время отчитаться о второй стажировке для разработчиков, которую мы завершили в конце марта. Если в прошлый раз, летом, программа была ориентирована на ребят уровня intern и junior, то на этот раз мы взяли планку выше и собрали стажеров junior и middle. Было круто, но постараться пришлось всем, и нам, и (в особенности) стажерам :)
Superman firmach о файловой структуре проекта
+9
Разработка под tvOS: tips & tricks
4 min
9.8KВсе знают, что еще в сентябре Apple представила Apple TV четвертого поколения с новой операционной системой tvOS на борту, и что для него можно разрабатывать свои приложения. О том, как это делать, уже кое-что писали, и в этой статье мы тоже обратимся к этой теме. О чем необходимо знать, приступая к разработке под tvOS и как избежать некоторых сложностей?
+11
Исследовательское тестирование: когда его стоит применять и как это делать
6 min
63KМногие скептически относятся к исследовательскому тестированию, так как считают, что это пустая трата времени и ресурсов. Но на самом деле это не так. В этой статье я расскажу, когда исследовательское тестирование принесет проекту пользу. В русскоязычной литературе дается очень много различных определений для термина «исследовательское тестирование». Нередко под этим понятием подразумевается ad-hoc тестирование и наоборот. Почему так сложилось исторически можно узнать там — Исследовательское тестирование 3.0. Чтобы при чтении статьи не возникало путаницы, сверим часы и зафиксируем определения.
+12
+13
Миграция UI-паттернов и жестов. Кто у кого что подтырил
5 min
9.3KRecovery Mode
После того, как Apple презентовала музыкальный сервис Apple Music, некоторых «внимательных» знатоков смутил новый жест Long Press, использующийся в приложении. Смутил по той причине, что уж больно он похож на андроидовское долгое нажатие, которое показывает контекстные действия и открывает контекстные меню. Но несмотря на то, что жест не является нативным для платформы и не описан в гайдах, он существует в iOS давно, хотя и не пользуется большой популярностью. Не все помнят, что с его помощью можно не только перемещать или удалять иконки на домашнем экране, но и показывать крупные превью в фотоальбоме, получать быстрый доступ к черновикам в почте, записывать аудио-сообщения, видео, делать фото в сообщениях и так далее.
И вот знатоки стали рубить сплеча, утверждая, что Apple увел жест у Android. Но если углубиться в историю яблочных технологий, то можно вспомнить, что в марте 2015 Apple запатентовала Force Touch, появившийся в Apple Watch, а позже реализованный в MacBook с Retina Display. И по-настоящему «внимательные» пользователи должны были догадаться, что этот Long Press есть не что иное, как будущий 3D Touch, который должен был появиться в iPhone 6s и iPhone 6s+. С той лишь разницей, что владельцам винтажных айфонов приходится манипулировать не силой, а продолжительностью нажатия.
И вот знатоки стали рубить сплеча, утверждая, что Apple увел жест у Android. Но если углубиться в историю яблочных технологий, то можно вспомнить, что в марте 2015 Apple запатентовала Force Touch, появившийся в Apple Watch, а позже реализованный в MacBook с Retina Display. И по-настоящему «внимательные» пользователи должны были догадаться, что этот Long Press есть не что иное, как будущий 3D Touch, который должен был появиться в iPhone 6s и iPhone 6s+. С той лишь разницей, что владельцам винтажных айфонов приходится манипулировать не силой, а продолжительностью нажатия.
+6
Как мы впервые делали стажировку по iOS и Android-разработке в Redmadrobot
4 min
17KВ мае мы писали, что открываем набор на стажировку для iOS и Android-разработчиков. Опыт был для нас необычный, новый и интересный.
+20
Charles: незаменимый тул в арсенале QA-инженера
5 min
220KTutorial
Для тестирования мобильных приложений, работающих с удаленными серверами, QA-инженеру приходится держать под рукой множество разных тестовых аккаунтов, логов, запросов и ответов. Реальность такова, что не всегда удается договориться о предоставлении нужных тестовых данных в срок. Чаще всего серверные разработчики будут незнакомыми вам людьми по ту сторону Скайпа. В таких ситуациях приходится своими руками подменять ответ сервера перед его передачей в приложение.
Чтобы редактировать выдачу сервера и воспроизводить сложные тестовые сценарии в QA Redmadrobot, мы используем Charles.
+21
Gradle: 5 полезностей для разработчика
6 min
43KTutorial
Привет, Хабр! Настало время, когда можно сказать, что «new build system» Gradle является стандартом отрасли Android-разработки. Инструмент сделан настолько просто и удобно, что большинство разработчиков не испытает трудностей, даже не зная, как он устроен, и какие дополнительные возможности в нём есть — возникающие проблемы легко решаются с помощью 5 минут на StackOverflow, путем копирования «магического кода» в конфигурационные файлы. Возможно, в том числе из-за этого не все разработчики изучают Gradle детально и не знают о многих его полезных возможностях, которые существенно облегчают жизнь.
+29
Зимняя стажировка для разработчиков в Redmadrobot
2 min
13KПривет, Хабр! Мы открываем набор на вторую стажировку для разработчиков в Redmadrobot. Старт — в середине января.
+9
+10
Gradle: управляя зависимостями
10 min
128KTutorial
Управление зависимостями – одна из наиболее важных функций в арсенале систем сборки. С приходом Gradle в качестве основной системы сборки Android-проектов в части управления зависимостями произошёл существенный сдвиг, закончилась эпоха ручного копирования JAR-файлов и долгих танцев с бубном вокруг сбоящих конфигураций проекта.
В статье рассматриваются основы управления зависимостями в Gradle, приводятся углублённые практические примеры, небольшие лайфхаки и ссылки на нужные места в документации.
В статье рассматриваются основы управления зависимостями в Gradle, приводятся углублённые практические примеры, небольшие лайфхаки и ссылки на нужные места в документации.
+18
Инструменты для A/B-тестирования iOS-приложений
6 min
15KВ данной статье я рассмотрю несколько инструментов для A/B-тестирования мобильных приложений с примерами и дам их краткую характеристику. Для успешного проведения тестирования также необходим сервис аналитики, в котором можно сравнивать результаты. Независимые сервисы аналитики мы сегодня рассматривать не будем, но затронем те возможности, которые есть внутри инструментов, о которых пойдет речь.
+10
АльфаCтрахование Мобайл. Как мы объединили несколько ИТ-систем в одном приложении: кейс
10 min
14KTutorial
Практически все в нашей жизни — будь то здоровье, имущество или турпоездка — может быть застраховано. Более сотни страховых продуктов с индивидуальными процессами по оформлению страховых случаев и возмещению убытков, а также — несколько ИТ-систем. Это ровно то, что мы увидели, когда начали работать над проектом сервисного мобильного приложения «АльфаСтрахование Мобайл». Суть приложения сводилась к нетривиальной задаче объединить все страховые продукты и процессы «АльфаСтрахование» — сделать для мобильного пользователя единый канал коммуникации со страховой компанией на все случаи жизни.
Примем как аксиому, что клиентам нужен мобильный доступ к страховым сервисам. Дальше теоретически есть два варианта: иметь несколько отдельных приложений по каждому виду страхования или все-таки делать единое приложение для управления всеми полисами. Первый вариант более простой с точки зрения разработки, второй — значительно сложнее, но куда удобнее для пользователя. Мы пошли вторым путем.
+12
Организация личной базы знаний в Evernote
3 min
90KЯ познакомился с Evernote лет пять назад, но первое время активно не использовал — у меня там были бессистемные блокноты для записи идей, документы, какие-то редкие фотографии, да и все. Задачи, которые я контролировал, хранил в Things, а контент — в Evernote. Примерно четыре года назад я начал формировать из контента личную базу знаний, раз в полгода её модифицируя. И вот уже как год я вношу только минорные изменения в структуру. Вот, что у меня получилось:
+36
Интерфейсы ближайшего будущего
7 min
7.5KВы уже заметили? На наших глазах в очередной раз совершается самая настоящая революция. Нет, нет, это не то, о чем вы подумали — никакой политики под Новый год! Я говорю о революции в области интерфейсов. Несмотря на то, что некоторые ее признаки можно было наблюдать в течение всего 2010-го года, общая картина, я думаю, очевидна далеко не всем.
Данная статья представляет собой небольшой обзор тенденций в области интерфейсов, в котором я попытаюсь убедить вас, что очень скоро мы обнаружим себя в фантастическом будущем.
Данная статья представляет собой небольшой обзор тенденций в области интерфейсов, в котором я попытаюсь убедить вас, что очень скоро мы обнаружим себя в фантастическом будущем.
+6
Information
- Rating
- 780-th
- Location
- Москва, Москва и Московская обл., Россия
- Works in
- Registered
- Activity