Как стать автором
Обновить
1
0

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

Отправить сообщение

Обзор решений для навигации в iOS

Время на прочтение15 мин
Количество просмотров4.6K

Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали!

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Как оценить эффективность команды

Время на прочтение15 мин
Количество просмотров36K
Классный стартап в начале своего пути похож на Сапсан. Маленькая команда стремительно набирает обороты и несётся в будущее, везя в продакшн кучу задач. Если проект получился перспективный, такой как Skyeng, то уже через несколько лет команд будет существенно больше, и не исключено, что среди них появятся паровозы, в которых нужно непрерывно подкидывать дрова в топку, чтобы хоть что-то докатилось до пользователей.


Посмотрите или прочитайте доклад Алексея Катаева на Saint TeamLead Conf, если не знаете, по каким формальным признакам определить классная ли у вас команда. Если хотите уметь измерять технический долг в часах, а не оперировать категориями «совсем чуть-чуть», «сколько-то», «ужасно много». Если ваш продакт-менеджер считает, что команда из трех человек за месяц сделает 60 задач — покажите ему эту статью. Если ваш руководитель обвешал разработку метриками и предлагает вам принимать меры на основе результатов вроде: «34% считают, что в команде есть проблема с планированием», этот доклад для вас.


Всего голосов 43: ↑40 и ↓3+37
Комментарии20

Оптимизация времени запуска iOS-приложений

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

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




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

likhogrud уже написал пост на эту тему в блоге Яндекса, но мы не могли не выпустить один из лучших докладов конференции. Здесь есть и видео, и текст под катом, и презентация смотрите, как вам удобнее.
Всего голосов 43: ↑42 и ↓1+41
Комментарии4

Самостоятельная сборка cURL для iOS и Android

Время на прочтение5 мин
Количество просмотров13K
Добрый день!
Я занимаюсь разработкой приложения под iOS/Android, в котором используется библиотека cURL.
До недавнего времени мы использовали готовую сборку libcurl:
  • для iOS с официального сайта
  • для Android с пространств Интернета

При этом версии библиотеки были разные, а заголовочные файлы одни.
С целью наведения порядка было решено собрать библиотеку самостоятельно.
Продолжение
Всего голосов 11: ↑6 и ↓5+1
Комментарии6

Macaw — удобная библиотека для векторной графики в Cocoa

Время на прочтение10 мин
Количество просмотров9.8K

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


Именно с этой проблемой мы столкнулись во время разработки iOS приложений. Чтобы упростить задачу, мы разработали графическую библиотеку Macaw, которая позволяет описывать сложные интерфейсы в виде понятных объектов сцены и даже напрямую отображать SVG графику с поддержкой событий и анимации.


Интересно? В этой статье мы познакомим вас с базовыми понятиями Macaw и вместе создадим диаграмму с анимацией, используя минимум кода.


image
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии17

Работа NSFetchRequest и NSFetchedResultsController, а также зачем тут продуктовый рынок

Время на прочтение20 мин
Количество просмотров22K

Здравствуйте! Эта статья нацелена на разработчиков, у которых есть минимальный навык работы с Core Data Framework. Напомню, что Core Data — это фреймворк для хранения данных на устройстве и взаимодействия с ними. На эту тему есть куча русскоязычных статей на хабре и в сети, поэтому не вижу необходимости повторять их содержание.


Зачастую начинающие особенно Stack Overflow разработчики пугаются использовать Core Data Framework, потому что он кажется им сложным, или используют лишь малую часть его возможностей. В реальности знание базовых функций классов данного фреймворка позволяет разработчику с удобством работать с моделью.


В статье я хочу акцентировать внимание на следующих моментах:


  • мы рассмотрим класс NSFetchRequest, с помощью которого создаются запросы на извлечение данных из модели. Мы изучим его основные свойства и кейсы с их применением;
  • мы подробно разберём функции и работу NSFetchedResultsController по эффективному представлению извлечённых данных с помощью NSFetchRequest на примере UITableView.

image
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии3

Обнаружение лиц на iOS с помощью Core Image

Время на прочтение8 мин
Количество просмотров12K
Core Image представляет собой мощный API, встроенный в Cocoa Touch. Это важная часть IOS SDK. Тем не менее ее часто упускают из виду. В этой статье мы будем рассматривать возможность обнаружения лица и то, как использовать данную технологию в своих IOS приложениях!



Что мы будем делать в этом туториале?


Распознавание лиц в iOS появилось давно, еще с 5-го релиза (примерно в 2011 году), но эту особенность часто упускали из вида. API обнаружения лица позволяет разработчикам не только распознавать лица, но и проверять их на определенные свойства, такие как, наличие улыбки, зажмуривает ли человек глаза и т.д.

Во-первых, мы будем изучать технологию обнаружения лица с использованием фреймворка Core Image, создав приложение, которое распознает лицо на фотографии и обводит его специальной рамкой. Во втором примере, мы будем рассматривать более детальный способ использования, путем создания приложения, которое позволит пользователю сделать снимок, обнаружить, присутствует ли лицо, и получить координаты лица пользователя. Таким образом, мы собираемся узнать как можно больше об распознавании лиц в iOS, а также принцип использования мощного API, который так часто упускают из вида. Итак, поехали!
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии8

Грандиозное тестирование аккумуляторов AA/AAA

Время на прочтение6 мин
Количество просмотров295K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Всего голосов 217: ↑215 и ↓2+213
Комментарии71

iOS Инструменты разработчика

Время на прочтение26 мин
Количество просмотров35K

Вступление


Всем привет, меня зовут Григорий, последние 5 лет занимался программированием под iOS. Сейчас решил сменить сферу деятельности и ударился в веб, но чтобы добро не пропадало, хочу поделиться с сообществом своими наработками, накопившимися за это время. Библиотеки выложены на GitHub и добавлены в CocoaPods. Инструкции по установке и использованию вы сможете найти по ссылкам на GitHub, здесь же будет краткое описание.

Минимальная поддерживаемая версия — iOS 6.0.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии27

Apple Watch: как сделать приложение под часы и не облажаться

Время на прочтение18 мин
Количество просмотров44K
Сегодня стартовали официальные продажи Apple Watch. 90% умопомрачительных концептов приложений под них, которые можно найти в Сети, нереализуемы — тем, кто знаком с гайдлайнами Apple, это хорошо известно. О том, что реализовать на часах все же можно и как это лучше сделать с точки зрения разработки и дизайна — под хабракатом.
Такие желанные
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии6

LitRes.ru пытается «отжать» бизнес у авторов приложения «Читатель»

Время на прочтение3 мин
Количество просмотров97K
imageПо следам новости "Google заблокировал приложение Moon+ Reader по жалобе LitRes".

Оказывается незадолго до описанных событий Литрес «влетел на бабки» и теперь усиленно ищет способы финансово на ком-нибудь отыграться. Суд взыскал с «ЛитРес» 1 млн рублей в пользу «Этногенеза».

Moon+ Reader было не единственным приложением, которое оказалось заблокировано по жалобе со стороны LitRes. Также в патовой ситуации оказались создатели программ CoolReader и «Читатель». С «Читателем» ситуация приняла и вовсе неожиданный оборот и теперь скорее напоминает банальный рейдерский захват. Litres отказывается отзывать жалобу на приложение, пока авторы его не превратят приложение в витрину Литреса или не передадут свою речевую технологию.

Процитирую из первых уст:
Текст открытого письма Егора Рябошлыка
Всего голосов 276: ↑271 и ↓5+266
Комментарии307

Переходим на Fusion Drive

Время на прочтение9 мин
Количество просмотров158K

Активные пользователи Mac OS X наверняка помнят анонсированную 23 октября функцию Fusion Drive. Напомню, что она представляет из себя логическое объединение установленных в ваш Mac SSD и HDD. Объем единого диска будет равен сумме объемов SSD и HDD, но главные плюс — часто используемые файлы (например, ядро системы) Mac OS автоматически и прозрачно для пользователя размещает на более быстром SSD, а все прочие файлы на HDD.

Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии84

Инженер Microsoft выявил спам-ботнет на Android

Время на прочтение1 мин
Количество просмотров2.4K
image
Эксперт по информационной безопасности компании Microsoft — Терри Цинк обнаружил спам-сообщения, отосланные с мобильных устройств на платформе Android, что указывает на существование бот-сети из подобных устройств, свидетельствует запись эксперта в блоге на сервисе Blogs.msdn.com.
Читать дальше →
Всего голосов 44: ↑21 и ↓23-2
Комментарии40

RestKit — описание одной из возможностей

Время на прочтение3 мин
Количество просмотров14K
Привет Хабр!

Предыстория



Давно заметил, что на хабре нет ни одной статьи о такой замечательной библиотеке как RestKit, написанной на Objective-C и предоставляющая прекрасные возможности для работы с RESTful-сервисами. Поэтому и пришла идея опубликовать краткое описание некоторых возможностей библиотеки, тем более что уже вышла совершенно новая её версия использующая за основу AFNetworking библиотеку для работы с HTTP. В статье описывается одна из важнейших для меня функциональностей — маппинг объектов.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии4

Вейвлет-сжатие «на пальцах»

Время на прочтение10 мин
Количество просмотров176K


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

Попробуем на простых примерах разобраться, откуда же вообще берутся вейвлеты и как их можно использовать при сжатии. Предполагается, что читатель знаком с основами линейной алгебры, не боится слов вектор и матрица, а также умеет их перемножать. (А во второй части даже попробуем что-то запрограммировать.)

Читать дальше →
Всего голосов 169: ↑168 и ↓1+167
Комментарии58

Хочешь быть iOS разработчиком? Будь им!

Время на прочтение2 мин
Количество просмотров388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Всего голосов 234: ↑222 и ↓12+210
Комментарии38

Класс для проигрывания аудио из приложений iOS

Время на прочтение3 мин
Количество просмотров3.2K
Добрый день, Хабрасообщество!

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



Обычно “болванка” необходимого функционала для этого копируется и адаптируется под конкретный сценарий использования. Мы делали это не раз и решили, что пришло время для более элегантного решения. Таким решением оказалось сделать “синглтон”, который был бы не только доступен из разных мест в приложении, но и сэкономил бы ресурсы системы в случае использования одного и того же аудио несколько раз.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии0

Использование нескольких Persistent Store в Core Data

Время на прочтение4 мин
Количество просмотров5.1K
Всем iOS (да и MAC OS X) разработчикам известен такой системный фреймворк как Core Data. Эта штуковина представляет собой достаточно мощную ORM (по крайней мере для мобильной платформы).

Изначально в нашем приложении использовалась одна база данных для всей информации, которую нужно было сохранять в приложении. Но по мере разбухания функциональности стало понятно, что некоторые сущности логичнее расположить в разных базах, или даже в разных типах хранилищ (persistent store). Не буду углубляться в подробности, главное — что изначально монолитное NSSQLiteStore нужно было разделить на несколько.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии3

Интегрируем iOS-приложение с Evernote: первые шаги

Время на прочтение9 мин
Количество просмотров8.1K
image

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

Сейчас все больше и больше мобильных приложений поддерживают возможность чтения и отправки информации в Evernote. Нам это очень нравится, и мы бы хотели, чтобы так продолжалось и дальше — чем больше у вас будет способов получить доступ к своим заметкам, тем лучше (во всяком случае, нам так кажется). Будучи разработчиком, вы получаете выход на 30 с лишним миллионов наших пользователей и можете мгновенно увеличить ценность своего приложения в глазах этих людей, открыв им возможность связи с их внешней “цифровой памятью”.

Мы решили периодически публиковать руководства для разработчиков, которые только начинают осваивать платформу Evernote (или разработку в целом) и хотят интегрировать свои приложения с нашим сервисом.

В этом посте мы опишем конкретные шаги для интеграции Evernote в тестовое приложение iOS. Мы начнем новый проект в Xcode, загрузим и установим Evernote Software Development Kit (SDK) и создадим простое приложение, которое будет взаимодействовать с Evernote через Cloud API.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии4

Установка и настройка генератора тайлов на основе OSM данных в Ubuntu или Debian

Время на прочтение5 мин
Количество просмотров30K
OpenStreetMapСовсем недавно возникла задача создания программного обеспечения по генерации картографических тайлов. В качестве основы выбор пал на mapnik (альтернатив ему немного). Как оказалось, здесь на пути поджидало множество сложностей, непредвиденных ошибок, а более менее внятной документации по настройке всего «под ключ» найти не удалось. Повозившись какое-то время, мне удалось собрать множество граблей, которые могут возникнуть ну и довести дело до победного конца. Об этом и статья.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии13

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность