Pull to refresh
68
5

Пользователь

Send message

iOS Localization: XLIFF

Reading time7 min
Views18K


В интернете легко найти статьи по локализации iOS, где описываются все основные этапы. Проблема в том, что чаще нам на глаза попадается вариант ручного заполнения файла *.strings. Это довольно муторный подход и даже небольшая автоматизация в этом нам бы пригодилась. Ещё в iOS 8 Apple добавила возможность частичной автоматизации перевода приложения посредством экспорта и импорта локализованных строк через XLIFF-документ.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments23

Свой UX приложения ЖКХ Москвы с чатом и крутилками

Reading time7 min
Views12K
image

Технологии развиваются со сверхзвуковой скоростью, а проектирование интерфейсов, как и любой навык, нуждается в постоянной практике. Совокупность двух этих факторов открывает целую галактику для полёта дизайнерской мысли.

На мой взгляд, в проектировании интерфейса любые смелые идеи могут оказаться ключом к успеху, но лишь при трёх условиях:

  • если решение интуитивно понятно
  • если решение упрощает процесс взаимодействия
  • если решение реализуемо


Как грустно, что в крупном городе с Wi-Fi в метро и воздушными зебрами до сих пор нужно вчитываться в запутанные квитанции и стоять в очередях, чтобы оплатить коммунальные услуги.

Не так давно вышло приложение ЖКХ Москвы, призванное облегчить жизнь граждан. Его описание гласит:

«С помощью приложения возможно ввести показания счетчиков водоснабжения, узнать, когда отключат горячую воду, получить информацию об управляющей компании, узнать задолженность по услугам ЖКХ, принять участие в опросе, а также обсудить с соседями проблемы обслуживания вашего дома на форуме.»


Интригующе. Рассмотрим под микроскопом
Total votes 22: ↑19 and ↓3+16
Comments17

Generics в Kotlin vs. Generics в JAVA: cходства, различия, особенности

Reading time7 min
Views50K

Эта статья про Generics в Kotlin — особенности их использования, сходства и различия с Generics в Java.

В двух словах про Generics
Если коротко, то Generics — это способ сказать, что класс, интерфейс или метод будут работать не с каким-то конкретным типом, а просто с каким-то. С каким именно будет определено из контекста. Например:

public interface List<E> extends Collection<E> {
	//...
}

Заранее неизвестно, объекты какого класса будут содержаться в списке, но это определится при его использовании:

List<String> list = new ArrayList<>();

Теперь это не просто список, а список строк. Generics помогают обеспечить типобезопасность: в List можно попытаться положить любой объект, но в List<String> — только String или один из его потомков.

Я разделю рассказ про Generics на две части: собственно Generics и использование Wildcards. Пока речь не заходит про Wildcards, использование Generics в Kotlin мало чем отличается от Java.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments7

Лучший друг киномана: переделываем приложение CBS под Android

Reading time4 min
Views9.8K

Любите ли вы сериалы, так как люблю их я? У многих из нас есть друг, который подсаживает на долгоиграющие истории. Лично я не успеваю следить за бесконечным многообразием новинок кинорынка, но с удовольствием прожгу часок-другой у экрана, жаря овощные котлетки после напряженной дизайн-недели. Так о чем я? Каждому хотелось бы иметь верного друга, сообщающего про все киносвежести и эпизодики, чтобы забыть наконец про долгие и изнурительные поиски захватывающего фильма для вечера пятницы. Но что если его нет?
There is an app for that!
Total votes 11: ↑8 and ↓3+5
Comments8

Как Google в Лондоне тренинг по Android N устраивала

Reading time3 min
Views6.5K
Привет, Хабр!

Недавно компания Google устраивала двухдневный тренинг по новой версии системы Android (под литерой N) для разработчиков приложений. И я хочу вам рассказать, какими секретными и не очень знаниями с нами поделились.

Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments2

Как мы делали Зимнюю Стажировку по iOS- и Android-разработке в Redmadrobot

Reading time5 min
Views9.2K
Привет, Хабр! Пришло время отчитаться о второй стажировке для разработчиков, которую мы завершили в конце марта. Если в прошлый раз, летом, программа была ориентирована на ребят уровня intern и junior, то на этот раз мы взяли планку выше и собрали стажеров junior и middle. Было круто, но постараться пришлось всем, и нам, и (в особенности) стажерам :)


Superman firmach о файловой структуре проекта
Как это было
Total votes 13: ↑11 and ↓2+9
Comments15

Разработка под tvOS: tips & tricks

Reading time4 min
Views9.8K


Все знают, что еще в сентябре Apple представила Apple TV четвертого поколения с новой операционной системой tvOS на борту, и что для него можно разрабатывать свои приложения. О том, как это делать, уже кое-что писали, и в этой статье мы тоже обратимся к этой теме. О чем необходимо знать, приступая к разработке под tvOS и как избежать некоторых сложностей?
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments3

Исследовательское тестирование: когда его стоит применять и как это делать

Reading time6 min
Views63K


Многие скептически относятся к исследовательскому тестированию, так как считают, что это пустая трата времени и ресурсов. Но на самом деле это не так. В этой статье я расскажу, когда исследовательское тестирование принесет проекту пользу. В русскоязычной литературе дается очень много различных определений для термина «исследовательское тестирование». Нередко под этим понятием подразумевается ad-hoc тестирование и наоборот. Почему так сложилось исторически можно узнать там — Исследовательское тестирование 3.0. Чтобы при чтении статьи не возникало путаницы, сверим часы и зафиксируем определения.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments1

Как подружить iOS-приложение с типографикой

Reading time4 min
Views13K


Случается, что готовый мобильный продукт отличается от того, что изначально было в макете. Конечно, все мы соблюдаем размеры и отступы, но этого не всегда достаточно. Очень часто мы забываем (возможно, не случайно) про параметры текста, вот о них и пойдет речь ниже.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments3

Миграция UI-паттернов и жестов. Кто у кого что подтырил

Reading time5 min
Views9.3K
После того, как 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+. С той лишь разницей, что владельцам винтажных айфонов приходится манипулировать не силой, а продолжительностью нажатия.
Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments5

Как мы впервые делали стажировку по iOS и Android-разработке в Redmadrobot

Reading time4 min
Views17K
В мае мы писали, что открываем набор на стажировку для iOS и Android-разработчиков. Опыт был для нас необычный, новый и интересный.


И вот что из этого получилось
Total votes 32: ↑26 and ↓6+20
Comments4

Charles: незаменимый тул в арсенале QA-инженера

Reading time5 min
Views220K

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

Чтобы редактировать выдачу сервера и воспроизводить сложные тестовые сценарии в QA Redmadrobot, мы используем Charles.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments15

Gradle: 5 полезностей для разработчика

Reading time6 min
Views43K
Привет, Хабр! Настало время, когда можно сказать, что «new build system» Gradle является стандартом отрасли Android-разработки. Инструмент сделан настолько просто и удобно, что большинство разработчиков не испытает трудностей, даже не зная, как он устроен, и какие дополнительные возможности в нём есть — возникающие проблемы легко решаются с помощью 5 минут на StackOverflow, путем копирования «магического кода» в конфигурационные файлы. Возможно, в том числе из-за этого не все разработчики изучают Gradle детально и не знают о многих его полезных возможностях, которые существенно облегчают жизнь.


Сегодня рассмотрим пять таких полезностей
Total votes 29: ↑29 and ↓0+29
Comments17

Зимняя стажировка для разработчиков в Redmadrobot

Reading time2 min
Views13K
image
Привет, Хабр! Мы открываем набор на вторую стажировку для разработчиков в Redmadrobot. Старт — в середине января.
Интересно? Подробности под катом.
Total votes 19: ↑14 and ↓5+9
Comments17

Тотальная шаблонизация

Reading time9 min
Views27K


Когда собаке программисту нечего делать, он начинает все автоматизировать. Мне по роду своей деятельности приходится писать много кода и, конечно, хочется какие-то повторяющие вещи обобщить в виде библиотек, скриптов или шаблонов для Android Studio. О них и поговорим.

Поехали
Total votes 16: ↑13 and ↓3+10
Comments3

Gradle: управляя зависимостями

Reading time10 min
Views128K
Управление зависимостями – одна из наиболее важных функций в арсенале систем сборки. С приходом Gradle в качестве основной системы сборки Android-проектов в части управления зависимостями произошёл существенный сдвиг, закончилась эпоха ручного копирования JAR-файлов и долгих танцев с бубном вокруг сбоящих конфигураций проекта.



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

Внимание много текста и изображений
Total votes 22: ↑20 and ↓2+18
Comments60

Инструменты для A/B-тестирования iOS-приложений

Reading time6 min
Views15K

В данной статье я рассмотрю несколько инструментов для A/B-тестирования мобильных приложений с примерами и дам их краткую характеристику. Для успешного проведения тестирования также необходим сервис аналитики, в котором можно сравнивать результаты. Независимые сервисы аналитики мы сегодня рассматривать не будем, но затронем те возможности, которые есть внутри инструментов, о которых пойдет речь.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

АльфаCтрахование Мобайл. Как мы объединили несколько ИТ-систем в одном приложении: кейс

Reading time10 min
Views14K
image
Практически все в нашей жизни — будь то здоровье, имущество или турпоездка — может быть застраховано. Более сотни страховых продуктов с индивидуальными процессами по оформлению страховых случаев и возмещению убытков, а также — несколько ИТ-систем. Это ровно то, что мы увидели, когда начали работать над проектом сервисного мобильного приложения «АльфаСтрахование Мобайл». Суть приложения сводилась к нетривиальной задаче объединить все страховые продукты и процессы «АльфаСтрахование» — сделать для мобильного пользователя единый канал коммуникации со страховой компанией на все случаи жизни.

Примем как аксиому, что клиентам нужен мобильный доступ к страховым сервисам. Дальше теоретически есть два варианта: иметь несколько отдельных приложений по каждому виду страхования или все-таки делать единое приложение для управления всеми полисами. Первый вариант более простой с точки зрения разработки, второй — значительно сложнее, но куда удобнее для пользователя. Мы пошли вторым путем.
И вот что получилось
Total votes 16: ↑14 and ↓2+12
Comments8

Организация личной базы знаний в Evernote

Reading time3 min
Views90K
knowlege_system

Я познакомился с Evernote лет пять назад, но первое время активно не использовал — у меня там были бессистемные блокноты для записи идей, документы, какие-то редкие фотографии, да и все. Задачи, которые я контролировал, хранил в Things, а контент — в Evernote. Примерно четыре года назад я начал формировать из контента личную базу знаний, раз в полгода её модифицируя. И вот уже как год я вношу только минорные изменения в структуру. Вот, что у меня получилось:
Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments36

Интерфейсы ближайшего будущего

Reading time7 min
Views7.5K
Вы уже заметили? На наших глазах в очередной раз совершается самая настоящая революция. Нет, нет, это не то, о чем вы подумали — никакой политики под Новый год! Я говорю о революции в области интерфейсов. Несмотря на то, что некоторые ее признаки можно было наблюдать в течение всего 2010-го года, общая картина, я думаю, очевидна далеко не всем.



Данная статья представляет собой небольшой обзор тенденций в области интерфейсов, в котором я попытаюсь убедить вас, что очень скоро мы обнаружим себя в фантастическом будущем.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments8

Information

Rating
780-th
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity