Pull to refresh
1
0
Send message

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

Reading time15 min
Views4.6K

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

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments2

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

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


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


Total votes 43: ↑40 and ↓3+37
Comments20

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

Reading time23 min
Views14K
«В картах у нас есть такой сценарий: на ходу достать телефон, запустить приложение, быстро определить, где я нахожусь, сориентироваться по компасу, куда мне идти, и убрать телефон.

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




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

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

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

Reading time5 min
Views13K
Добрый день!
Я занимаюсь разработкой приложения под iOS/Android, в котором используется библиотека cURL.
До недавнего времени мы использовали готовую сборку libcurl:
  • для iOS с официального сайта
  • для Android с пространств Интернета

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

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

Reading time10 min
Views9.8K

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


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


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


image
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments17

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

Reading time20 min
Views22K

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


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


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


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

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

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

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



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


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

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

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

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



Читать дальше →
Total votes 217: ↑215 and ↓2+213
Comments71

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

Reading time26 min
Views35K

Вступление


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

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

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

Reading time18 min
Views44K
Сегодня стартовали официальные продажи Apple Watch. 90% умопомрачительных концептов приложений под них, которые можно найти в Сети, нереализуемы — тем, кто знаком с гайдлайнами Apple, это хорошо известно. О том, что реализовать на часах все же можно и как это лучше сделать с точки зрения разработки и дизайна — под хабракатом.
Такие желанные
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments6

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

Reading time3 min
Views97K
imageПо следам новости "Google заблокировал приложение Moon+ Reader по жалобе LitRes".

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

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

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

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

Reading time9 min
Views158K

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

Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments84

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

Reading time1 min
Views2.4K
image
Эксперт по информационной безопасности компании Microsoft — Терри Цинк обнаружил спам-сообщения, отосланные с мобильных устройств на платформе Android, что указывает на существование бот-сети из подобных устройств, свидетельствует запись эксперта в блоге на сервисе Blogs.msdn.com.
Читать дальше →
Total votes 44: ↑21 and ↓23-2
Comments40

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

Reading time3 min
Views14K
Привет Хабр!

Предыстория



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

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

Reading time10 min
Views175K


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

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

Читать дальше →
Total votes 169: ↑168 and ↓1+167
Comments58

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

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

Читать дальше →
Total votes 234: ↑222 and ↓12+210
Comments38

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

Reading time3 min
Views3.2K
Добрый день, Хабрасообщество!

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



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

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

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

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

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

Reading time9 min
Views8.1K
image

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

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

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

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

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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity