В предыдущей статье цикла мы кратко рассмотрели основные принципы устройства и функционирования Typhoon Framework — Dependency Injection контейнера для iOS. Тем не менее, мало понимать, как устроен инструмент — важнее всего правильно его использовать. В первой части мы рассматривали различные примеры настройки конфигураций создаваемых зависимостей, то теперь разберемся с более высоким уровнем — разбитием на модули самих TyphoonAssembly и их тестированием.
Сегодня в свет вышел отчет группы специалистов по информационной безопасности, посвященный исследованию атак, основанных на способах коммуникации между собой различных приложений на OS X и iOS — (XARA, от Cross-App Resource Access). Для тех, кому лень читать все 26 страниц оригинальной статьи, я решил подготовить ее небольшой обзор.
Для начала, два коротких тезиса:
Во-первых, большая часть обнародованных уязвимостей касается OS X. В iOS все намного спокойнее.
В прошлой части цикла мы познакомились с Dependency Injection фреймворком для iOS — Typhoon, и рассмотрели базовые примеры его использования в проекте Рамблер.Почта. В этот раз мы углубимся в изучение его внутреннего устройства.
В рамках этого цикла статей я не буду углубляться в теорию, рассматривать Dependency Inversion Principle или паттерны Dependency Injection — примем за данность, что читатель уже достаточно подготовлен к тому, чтобы познать дзен, и перейдем сразу к практике (ссылки для знакомства с теорией даны в самом конце поста).
Typhoon Framework — это самая известная и популярная реализация DI-контейнера для Objective-C и Swift приложений. Проект достаточно молодой — первый коммит был сделан в самом конце 2012 года, но уже обзавелся большим количеством поклонников. Отдельного упоминания заслуживает активная поддержка проекта его создателями (один из которых, между прочим, живет и работает в Омске) — на большинство создаваемых Issue отвечают в течение десяти минут, а уже через несколько часов к обсуждению присоединяется вся команда.
В настоящее время департамент мобильной разработки Rambler&Co активно расширяется, в том числе и в плане iOS-разработчиков и UX дизайнеров. Большое количество людей и проектов, ведущихся ими, усложняет и без того непростой процесс передачи дизайна разработчикам. Всем, так или иначе связанным с мобильной разработкой, знакомы проблемы и разногласия, возникающие на стыке интересов программиста и дизайнера — начиная тем, в каких единицах измерять расстояния, и заканчивая тем, кто должен нарезать элементы экранов в различных разрешениях. Чтобы окончательно решить проблему в рамках нашей компании, мы решили подготовить подробные гайдлайны по этому взаимодействию.
Parse — прекраснейший BaaS, позволяющий в кратчайшее время поднять полноценную серверную инфраструктуру для мобильного приложения. Возможно, именно из-за этой простоты многие разработчики и забывают о появляющихся проблемах безопасности и открывающихся уязвимостях.
Что в первую очередь сделает iOS разработчик, если перед ним встанет задача спрятать пользовательские данные от любопытных глаз? Конечно же, встроит экран парольной защиты. Особо хитрый разработчик даже не будет хранить установленный пользователем пароль в NSUserDefaults, а аккуратно спрячет его в связку ключей — в этом случае приложение в глазах как его, так и заказчика, сразу же перемещается в разряд «сверхзащищенных».
Мы не будем углубляться в описание опасностей хранения ключа в открытом доступе — ведь есть гораздо более интересный способ обхода такой защиты.
Какой бы необычной и удобной для пользователя не была новая операционная система, главное, что его может привлечь — это насыщенный рынок приложений. Для решения этой ситуации Amazon запустили программу Developer Select — разработчики получают по 500,000 Amazon Coins за каждое выпущенное ими приложение, адаптированное под устройства компании.
Уязвимость информации, хранимой в базах данных, является одной из самых распространенных проблем безопасности iOS приложений. Многие программы предлагают пользователю использовать пароль для доступа к данным — но в большинстве случаев это никаким образом не влияет на то, в каком виде хранится сама информация. Таким образом, к данным таких приложений, как менеджеры паролей, блокноты, органайзеры, трекеры финансов, может получить доступ практически любой посторонний, в руках у которого окажется ваше устройство.
27 февраля в Стэнфорде состоялся второй по счету конкурс поэтов, пишущих стихи на различных языках программирования — Code Poetry Slam 1.1. В отличии от стихотворений, упоминавшихся в прошлой заметке, конкурс не зацикливается на стихах в общепринятом смысле этого слова, во главу угла ставится само выступление автора, то, как он преподносит свою историю.
Элементы управления — одна из самых важных составляющих любого приложения. По сути они являются графическими компонентами, которые позволяют пользователям тем или иным образом взаимодействовать с приложением и его данными. Этот урок посвящен созданию кастомного элемента управления, который в дальнейшем можно будет использовать в любом приложении.
Недавно появилась задача — встроить в приложение динамический поиск информации, то есть выдача должна генерироваться параллельно вводу пользователем символов. Вся информация хранится в SQLite базе данных. Все бы ничего, но в каждом слове выдачи искомые символы должны подсвечиваться.
Было принято волевое решение не использовать внешние библиотеки, а попробовать обойтись своими силами.
На хабре каждую неделю загораются споры о том, как должен выглядеть идеальный код, нужно ли его комментировать, как правильно именовать переменные. А что насчет самой высокой формы любого языка — поэзии?
Приветствую все хабра-сообщество и поздравляю с очередным выпуском журнала More Than One Game. В этом номере вас ждет эксклюзивное превью нового аддона для Gish: Mobile, первые скриншоты High Speed на iOS, детальный обзор однозначно лучшего мультиплеерного шутера — Archetype и многое другое. Из нововведений хочется отметить новый раздел с играми под Android, о котором нас просили многие читатели.
Ссылки на J2ME и PDF версии под катом.
Мобильные игры — довольно-таки серьезная ниша в современной индустрии видео-развлечений, особенно учитывая проекты под iOS. Их старшим собратьям, обитающим на консолях и ПК, посвящены десятки журналов, как печатающихся, так и онлайн, в то время как портативным развлечениям — практически ни одного. Эту несправедливость было решено исправить в феврале 2009 года, когда и появился на свет первый выпуск журнала More Than One Game (сокращенно — MTOG).
Одной из причин покупки iPhone для меня стала возможность комфортного чтения электронных книг. Родная читалка iBooks появилась только в OS 4.0, поэтому пока что приходится пользоваться сторонними программами, самые интересные из которых я в этой статье и рассмотрю.