Рубрика «iOS» - 55

Привет! Меня зовут Аркадий, я тимлид в компании Badoo. Сегодня я расскажу вам о том, как за одни выходные мы сделали предложение о работе восьми мобильным разработчикам. И снова приглашу вас поучаствовать в нашем рекрутинговом мероприятии, по итогам которого лучших Android- и iOS-разработчиков мы заберём работать в лондонский офис Badoo.

Читать полностью »

Привет! Уже есть планы на субботу? Может, съездить на дачу или заняться ремонтом? Есть кое-что получше.

Дело в том, что до Mobius 2017 Moscow осталась всего пара дней, и пришло время объявить об открытии бесплатной трансляции главного трека! Под катом — небольшой changelog, ссылка на YouTube, официальный Telegram-канал и краткий обзор программы первого трека.

Бесплатная YouTube-трансляция Mobius 2017 Moscow - 1

Читать полностью »

Уязвимости операционных систем. Часть I - 1

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

Для того, чтобы избежать невероятного лонгрида данный материал будет разделен на 4 части. Каждая из которых будет описывать уязвимости 5 операционных систем. В первой, то бишь в этой, части мы рассмотрим первые 5 участников нашего рейтинга, базируясь на данных за 2017 год.Читать полностью »

Как подружиться с UIKit - 1

Привет! Меня зовут Богдан, в Badoo я работаю в мобильной команде iOS-разработчиком. Мы достаточно редко рассказываем что-либо о нашей мобильной разработке, хотя статьи – один из лучших способов документировать хорошие практики. Эта статья статья расскажет о нескольких полезных подходах которые мы используем в нашей работе.

Уже на протяжении нескольких лет iOS-сообщество сражается с UIKit. Кто-то придумывает сложные способы «погребения» внутренностей UIKit под слоями абстракций в своих выдуманных архитектурах, другие команды переписывают его, теша своё эго, но оставляя за собой дикое количество кода, который нужно поддерживать.

Читать полностью »

В этом году в операционных системах Apple изменился формат сохранения изображений по умолчанию. С выходом iOS 11 и MacOS High Sierra миллионы пользователей продукции яблочного гиганта получили возможность использовать новый формат хранения изображений HEIF. Он пришел на смену старому доброму JPEG, хотя многие и не знают, что это произошло. По расчетам Apple пользователи должны получить значительную экономию места на диске (до 50%) за счет большей эффективности сжатия при лучшем качестве картинки.

Читать полностью »

Обзор докладов конференции Mobius 2017 Moscow — прыжок веры в мобильные технологии - 1
На этот раз это действительно будет путешествие в прошлое и прыжок в новые технологии, притом одновременно, как, собственно, и в концепте самой игры с перемещением личности во времени. И да, — это отсыл к Assassin's Creed, а не историческому значению термина «прыжок веры».

И про игры тоже поговорим, но уже про взрослые. Как сделать приложение только для онлайна, без необходимости загрузки, и наоборот, приложение, которое не требует коннекта к сети.

Возможно, мне даже пропустят не совсем стандартный формат обзорного поста и картинка со всеми спикерами конференции будет уже после ката.

А ещё в этот раз у нас не будет открывающего кейноута, т.е. каждый доклад первого тайм-слота — это маленький кейноут, и времени на раскачку не будет. Сразу в прод!

Что ждать от докладов на конференции и куда с их помощью можно попасть — под катом. Совпадает ли наше видение с реальностью или нет, решать участникам Mobius 2017 Moscow.
Читать полностью »

image

Привет, Хабр и читатели! Вы когда нибудь были в Нижнем Новгороде? Наблюдали слияние Оки и Волги на фоне заката со стены древнего Нижегородского кремля? Наслаждались панорамой с Набережной Федоровского? Катались на одной из самых длинных в европе канатной дороге над Волгой? Сейчас самое время!

image

18 ноября 2017 года в Нижнем Новгороде пройдет третья международная конференция GDG DevFest Gorky 2017, посвященная технологиям Google.

Что такое GDG?

Это некоммерческое IT- сообщество, в основе которого лежат технологии Google для разработчиков — под Android, Maps, App Engine, Chrome, Web Toolkit, Google Plus и другие.

Что такое GDG DevFest??

Это серия IT-конференций для разработчиков. Проводится по всему миру и организуется сообществом Google Developer Groups.

Что такое GDG DevFest Gorky??

Это международная конференция для разработчиков, ежегодно проводимая силами сообщества GDG Nizhny Novgorod в одном из красивейших городов России — Нижнем Новгороде.

Этот грандиозный ивент пройдет в стенах Нижегородского Университета им. Н.И. Лобачевского и соберет в своих стенах огромное количество разработчиков и прочих IT-специалистов!

Читать полностью »

Приручение дикой зверушки: добавляем поддержку Homekit в «умную розетку» Redmond SkyPlug RSP-100S - 1

Предыстория

Впервые про данную розетку я узнал из статьи Умная розетка Redmond SkyPlug RSP-100S Анализ конструкции и схемы электрической принципиальной. Выявление недостатков. Помню, что прочитав ее, в первую очередь заинтересовался схемой бестрансформаторного источника питания и тем, насколько компактно размещены элементы в корпусе розетки при том, что внутри полноценное реле, а не, скажем, симистор.

О каких-то попытках перепрограммировать Bluetooth-модуль и речи не было, тк программирование BLE устройств исторически было делом очень непростым. Вот пример: Разработка IoT устройств с использованием Bluetooth LE, явно не DIY уровень.

Однако, за прошедший год ситуация кардинальным образом изменилась…
Читать полностью »

Еще одна архитектура?

В последние годы заметно набрала обороты тема альтернативных архитектур для создания приложений под платформу iOS. На доске особого почета уже закрепились некоторые силачи, известные как MVP, MVVM, VIPER. А кроме них есть еще множество других, не столь распространенных.

Среди силачей, на мой взгляд, ни одна не является универсальной таблеткой для всех случаев:

  • если нужно сделать пару маленьких экранов со статическим набором данных, то вводить полноценный VIPER довольно затратно;
  • если не нравится реактивный подход, то MVVM с большой долей вероятности пройдет мимо;
  • если столкнулся с проблемой Massive в большом проекте, то MVC наверняка уже не подходит.

Есть вариант использовать несколько архитектур, ибо многие позволяют в той или иной степени сочетать себя с другими, но это тоже не слишком удобно как минимум по трем причинам:

  • по мере роста модуля может возникнуть надобность конвертировать его в другую архитектуру;
  • при внесении изменений в модуль надо сначала сообразить, какая архитектура использована для него, и как именно надо вносить туда изменения;
  • надобность добавлять код-адаптер, чтобы совместно использовать модули разных архитектур, ибо на пустом месте код вряд ли получится нативным одновременно для них обеих.

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

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

Читать полностью »

Три ошибки iOS-разработчика, которые могут дорого стоить - 1
 
Создание iOS-приложения – непростая задача. Разработчикам хочется как можно быстрее завершить этот процесс и наконец запуститься в AppStore. Но на этом все не заканчивается: впереди у создателей долгие годы исправления ошибок, улучшения функций и совместной работы с другими разработчиками. Мы бы хотели немного облегчить им жизнь и для этого решили разобрать три вещи, которые нужно избегать при iOS-разработке (спасибо Envato Tuts+ за информацию).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js