image

1 березня в офісі Avito відбулася чергова зустріч спільноти розробників iOS CocoaHeads. Під катом вас чекають невеликий розповідь про те, як пройшов митап, і, найголовніше, відеозапису доповідей. Приємного перегляду!

Читати далі →

Моє знайомство з ReactiveCocoa

Чесно кажучи, я почала використовувати ReactiveCocoa, тому що це модно. Я чую як iOS розробники говорять про це фреймворку весь час, і я ледве можу згадати iOS Meetup без згадування ReactiveCocoa.

image

Коли я тільки почала вивчати ReactiveCocoa я не знала що це таке. «Реактивний» звучить дійсно здорово, і «функціональний» звучить розумно. Але після того як я піддалася спокусі оволодіти Reactive Cocoa я вже не можу собі уявити написання коду без його використання.

ReactiveCocoa це фреймворк, який відкриває вікно у світ функціонально реактивного програмування. Він дозволяє отримати вигоду з практичного застосування цієї парадигми, навіть не вимагаючи глибоких теоретичних знань FRP.

Читати далі →

Наскільки зручним може бути API для малювання в iOS?

Привіт, мене звати Віктор, я працюю в компанії Exyte. Нещодавно ми виклали в open source нашу внутрішню розробку — бібліотеку для роботи з векторною графікою і її анімації Macaw. Я хочу поділитися враженнями від застосування її в реальному проекті та розповісти про її переваги над нативним API.
Як розробникам, нам часто доводиться створювати нестандартні контроли і повторювати одні і ті ж рутинні дії навіть для простих ефектів:
  • Отнаследоваться від UIView, щоб перевизначити drawRect
  • Описати "сцену" використовуючи застарілий Core Graphics API
Давайте спробуємо створити нестандартний контрол і використовуємо його як приклад:
ControlImage

Читати далі →

Macaw — зручна бібліотека для векторної графіки в Cocoa

Привіт Хабр! Сучасні інтерфейси мобільних додатків містять тонни ілюстрацій та анімацій, починаючи від хитрих градієнтів і закінчуючи діаграмами акцій. Тому мобільним розробникам доводиться витрачати величезну кількість часу, щоб перетворити гарний дизайн у функціональне додаток, яке, до того ж, буде працювати на пристроях різних розмірів.
Саме з цією проблемою ми зіткнулися під час розробки iOS додатків. Щоб спростити завдання, ми розробили графічну бібліотеку Macaw, яка дозволяє описувати складні інтерфейси у вигляді зрозумілих об'єктів сцени і навіть безпосередньо відображати SVG графіку з підтримкою подій і анімації.
Цікаво? У цій статті ми познайомимо вас з базовими поняттями Macaw і разом створимо діаграму з анімацією, використовуючи мінімум коду.
image
Читати далі →

Керівництво новачка по розробці плагінів для графічного редактора Sketch



Вітаю друзі! Мене звуть Антон, я розвиваю сайт sketchapp.me присвячений графічному редактору Sketch. Дуже часто мені на пошту приходять питання про тонкощі розробки плагінів для Sketch. Я не розробник і не фахівець у створенні плагінів, тому я вирішив зробити переклад самого докладного керівництва щодо створення плагінів від Mike Mariano.

Частина 1 — З чого почати?
Ви хочете почати писати Sketch-плагіни і не знаєте, з чого почати? Продовжуйте читати, так як цей пост як раз для вас!

Освоїти базу не так просто. Є маса прикладів вже існуючих плагінів, але дуже складно зрозуміти, з чого потрібно почати. В допомогу вам я зібрав усю потрібну інформацію, яку вдалося відшукати, в одному місці.

Читати далі →

Реалізуємо свій dropDown ViewController (aka iOS 8 Mail app) в 200 рядків

Ще з beta версії iOS 8 мені дуже сподобалася ця нова фіча додатки пошти: при створенні нового листа можна просто змахнути це вікно вниз і продовжити роботу на попередньому екрані. Не впевнений наскільки ця фіча виявилася корисною конкретно в цьому додатку, але то відмінна ідея! У той же вечір я сів робити подібну штуку, і таки зробив свій велосипед, і на час забув про це.
Нещодавно мені знадобився схожий функціонал. Не захотівши брати своє старе рішення, і не знайшовши готової реалізації, яка б мені сподобалося, було вирішено написати своє. Що з цього вийшло, з якими труднощами довелося зіткнутися, і що нового було винесено — під катом.

image

Читати далі →

Apple iAd — досвід використання

Я жодного разу не використовував у будь-яких проектах рекламну програму Apple iAd, і нарешті вирішив потренуватися на кішках», поєднавши приємне з корисним — дізнатися щось нове в плані програмування, і спробувати подивитися, як же «продають» в App Store безкоштовні програми. Кому цікаво що з цього вийшло, прошу під кат.

Читати далі →

Исользование NSOperation і NSOperationQueue в Swift

Майже кожен з нас відчував дискомфорт, коли при натисканні на кнопку або при введенні тексту в iOS або Mac додатках, як раптово користувальницький інтерфейс переставав відповідати, додаток ніби завмирало і переставала реагувати на ваші дії.

Mac, користувачі бачить пісочний годинник або обертовий райдужний курсор, доки не відновиться взаємодія з користувальницьким інтерфейсом. Багато користувачів помилково припускають, що додатки відразу ж запрацює при дотику до екрану. Такі додаток дають відчуття низької продуктивності і здаються повільними, і, як правило, отримує погані відгуки в AppStore.

Але забезпечити постійну чуйність інтерфейсу не так вже просто. Як тільки програма виконує безліч завдань, воно починає пригальмовувати. Не так вже багато часу виділяється для виконання великої кількості завдань в головному потоці і для забезпечення чуйності інтерфейсу.

Що ж повинен робити «нещасний» розробник? Рішення є, воно полягає в тому, щоб відокремити основний потік через паралелізм. Паралелізм, це властивість програми виконувати завдання в декілька потоків одночасно – і при цьому користувальницький інтерфейс залишається чуйним, оскільки Ви виконуєте свою роботу в різних потоках.

Одним з методів для одночасного виконання операцій у iOS є використання класів NSOperation та NSOperationQueue. У цій статті ви дізнаєтеся, як їх використовувати! Ви будете працювати з додатком, яке зовсім не використовує багатопоточність, таким чином, воно буде дуже повільним, і буде «гальмувати». Коли ви зміните додаток, щоб можна було додавати паралельні операцій і, сподіваюся, це забезпечить більш чуйний інтерфейс для користувача!

Читати далі →

Використання технологій розпізнавання і синтезу мови для вивчення англійської мови на iPhone/iPad. Аспекти авторського права на методики. Мій досвід

Із-за деяких речей іноді опускаються руки, і немає настрою щось робити далі.

У минулій моїй статті я розповів, зокрема, про те, як ми з дружиною вчили англійську за допомогою мобільних додатків з розпізнаванням мови, і наскільки цей спосіб виявився ефективним. Тоді ми займалися з додатком Polyglot Sound. Після цього я зробив ще кілька подібних додатків за іншими методиками, і всі вони мають хороші відгуки, подобаються людям тому що прості та ефективні.

Здавалося б все чудово, але тут почалося…

Читати далі →

Інтеграція CoreSpotlight на прикладі Рамблер Пошти



У iOS 9 Apple додала пошук spotlight для сторонніх додатків. Це особливо важливо для додатків з однотипним контентом: новинні програми, поштові клієнти, афіші заходів. Відділ iOS розробки холдингу Rambler&Co вже інтегрував пошук в деякі з своїх додатків.

У даній статті буде висвітлено інтеграція CoreSpotlight у вже існуючий проект і розказано про виниклі проблеми і їх рішення.

Читати далі →