Как стать автором
Обновить
Roman Naumov @sithread⁠-⁠only

Software Engineer

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

DevDocs: вся документация разработчика в одном месте, с быстрым и удобным интерфейсом

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


Сайт devdocs.io — проект французского программиста Тибо Курубля. Здесь собрана и упорядочена документация по наиболее популярным веб-технологиям, фреймворкам и API, и многим другим средствам разработки. DOM, HTML, JavaScript, jQuery, Node.js, PHP, Ruby, Python, Git, Angular, Backbone, CoffeScript, Less, Sass, Redis и много чего ещё… Всё оформлено в едином стиле, по всей базе документации работает поиск, в том числе нечёткий. Есть возможность выбрать только необходимые технологии, по которым надо искать. Вообще, интерфейс DevDocs радует — ничего лишнего, всё очень понятно и функционально, доступно множество клавиатурных сокращений.
Читать дальше →
Всего голосов 166: ↑156 и ↓10+146
Комментарии31

UICollectionView или танцы с волками

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

The dream


UICollectionView — класс UIKit, появившийся в iOS 6. Строго говоря, это класс, позволяющий показывать на экране коллекцию айтемов. Структура коллекции — абсолютно произвольная, но обычно UICollectionView используется для всяких сетко-подобных контролов с ячейками, хедерами и футерами. Понимая, насколько абстрактен данный класс, разработчики Apple создали мощный механизм для создания любых лейаутов. По большому счету, даже UITableView это конкретная реализация UICollectionView. Возможности данного класса, в каком-то смысле, фантастические. Но в данной статье речь пойдет не об этом.

Ахиллесова пята разработчиков Apple — постоянное стремление делать СДК, которое будет работать «автомагически». Просто сделайте то-то и то-то, и класс «will do the right thing». К сожалению это работает далеко не всегда. И UICollectionView — яркий пример. Начиная с релиза в iOS 6 и по сегодняшний день (iOS 7.0.4) класс содержит довольно большое количество багов, с которыми очень трудно и неприятно иметь дело. Приходится угадывать, что же происходит «под капотом», и методом тыка заставлять UICollectionView работать как надо. Количество приобретенных костылей уже достигло таких размеров, что я решил поделиться известными багами и найденными решениями.

Кому интересно — милости просим под кат.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии25

10 малоизвестных возможностей Objective-C

Время на прочтение7 мин
Количество просмотров46K
Приветствую уважаемых хабражителей!

Objective-C — язык с богатым рантаймом, но в данной статье речь пойдёт не о содержимом хедера <objc/runtime.h>, а о некоторых возможностях самого языка, о которых многие разработчики и не догадываются. Да, на них натыкаешься, читая документацию, отмечаешь про себя «хм, интересно, надо как-нибудь копнуть», но они обычно быстро вылетают из головы. А начинающие разработчики часто вообще читают документацию наискосок.

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

Итак, начну с самого «вкусного» на мой взгляд: безымянные методы.

1. Безымянные методы


Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии68

Паттерны ООП в примерах для iOS

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

От переводчика


Искали тут двух русскоязычных разработчиков — на iOS и на C++ под Windows. Видел десятки выполненных тестов. Разница в знании ООП между представителями двух платформ — огромная. На C++ обычно красивый расширяемый код, как само собой разумеющееся. На Objective C картина удручающая. Почти все iOS-кандидаты не знали ООП дальше своего носа NSString'ов и AppDelegate'ов.

Понятно, что плюсы учат по Страуструпу и «банде четырёх», а Objective C — больше по туториалам и Stack Overflow. Фастфуд-обучение не оставляет места на фундаментальные вопросы… Но такой разницы я не ожидал.

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

Качественная разработка ПО — творческий процесс, уникальный для каждой конкретной головы. Поэтому не существует общей инструкции: if (A and (B or C)) then use Pattern_N;
Как это нет инструкции? Что же делать?
Всего голосов 77: ↑71 и ↓6+65
Комментарии50

Можно ли нажиться на пользователях? 3 простых способа поднять монетизацию приложения

Время на прочтение3 мин
Количество просмотров29K
— Нюхни, нюхни, у тебя денежки есть?
— Нет…
— Вынюхни, вынюхни!!!


image

В прошлой статье я рассказывал о том, что можно сделать с Appeal. Здесь я бы хотел поделиться некоторыми очень простыми мыслями о монетизации приложений построенных на принципе – «скачай бесплатную версию — купи полный функционал».

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

Итак — три простых шага, которые помогли нам повысить монетизацию приложения в полтора раза.

На раз-два-три
Всего голосов 64: ↑39 и ↓25+14
Комментарии56

Пишем iOS видео-плеер и рекодер за 5 минут

Время на прочтение5 мин
Количество просмотров23K
Привет хабра-люди,

Под катом пошаговая инструкция как создать свое приложение с потоковым видео под iOS. Понадобится XCode, СДК с клиентским АПИ, ровные руки (в принципе необязательно) и чашечка кофе.


Поехали
Всего голосов 37: ↑33 и ↓4+29
Комментарии10

Памятка UX / UI дизайнеру. 19 принципов построения интерфейсов

Время на прочтение3 мин
Количество просмотров199K
Мы продолжаем писать про проектирование сайтов и разработку интерфейсов. На этот раз выделили сразу 19 принципов построения интерфейсов. Эти принципы мы по крупицам собирали на протяжении последних 3х лет работы из разных книг, статей, исследований и, конечно, собственного опыта разработки интерфейсов.

Создание интерфейсов в проектировании больших сайтов – это самый объемный и один из самых важных этапов. Поэтому я отдельно решил выделить принципы и законы проектирования интерфейсов.

  • Принцип KISS. От англ. «keep it short and simple». Интерфейс должен быть простой и понятный, задачи должны решаться минимальным числом действий, все должно быть понятно и очевидно.
  • Не заставляйте думать. Нужно избегать сложных действий, которые заставляют пользователей думать.
  • Убираем очевидное. Не стоит показывать очевидные элементы интерфейса, нужно сосредоточиться только на действительно необходимых вещах.
  • Соотношение сигнал / шум. В каждом интерфейсе есть важные элементы (сигналы) и маловажные или даже бессмысленные для определенной части системы (шум), естественно, нужно концентрироваться на сигналах и избегать шума.
  • Проверенное лучше модного. Не стоит цепляться за моду и делать что-то только потому, что так делают другие, лучше отдать предпочтение проверенным элементам интерфейса.

Читать дальше →
Всего голосов 86: ↑59 и ↓27+32
Комментарии63

HackStore — Альтернативный магазин приложений для Mac OS

Время на прочтение4 мин
Количество просмотров18K
Всем привет! Сегодня я бы хотел рассказать про свой проект HackStore — альтернативный магазин приложений для Mac OSX.



Предыстория



В январе 2011 года Apple запустила Mac App Store, по аналогии с подобным магазином приложений для iOS.
Оставаясь верной своим традициям, Apple установила жесткие проприетарные условия для разработчиков. И если iOS с самого рождения была закрытой системой, то Mac OS напротив, всегда являлась открытой платформой по отношению к сторонним разработчикам. С момента появления первой OS X разработчики успели создать огромное количество как платных, так и бесплатных утилит, игр и приложений.
В момент открытия Mac App Store многие разработчики оказались перед сложным выбором. Чтобы попасть в App Store, им необходимо было изменять приложение, урезать часть функционала, менять лицензию, покупать Mac Developer Program. В противном случае им оставалось продолжать распространять свое приложение как раньше, при этом рискуя потерять пользователей.
При этом, из-за жестких требований AppStore, многие популярные и известные приложения вообще не имеют шанса туда попасть. Так, к примеру, App Store закрыт для приложений, которые распространяются с лицензиями Open Source, MIT или CCL, а также тем, которые даже незначительно меняют системные функции или оформление. Доступ к магазину приложений также закрыт для множества популярных утилит и твиков, таких как CleanMyMac, MacHider, Magician, Adium, Skype и для многих других не менее удобных и полезных приложений.
Читать дальше →
Всего голосов 123: ↑105 и ↓18+87
Комментарии117

Алгоритм поиска пути Jump Point Search

Время на прочтение6 мин
Количество просмотров124K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →
Всего голосов 110: ↑108 и ↓2+106
Комментарии37

Как зарегистрировать домен бесплатно

Время на прочтение2 мин
Количество просмотров149K
image
На удивление оказывается, что многие незнают о существовании зон, свободных для регистрации. Более того, многие платят за регистрацию доменов в этой зоне деньги — стандартная цена у известных регистраторов от 5 до 15 у.е. за то, что можно сделать самому бесплатно.

Вот какие домены можно зарегистрировать абсолютно бесплатно:
Украина
.net.ua, .od.ua, .org.ua, и множество вида регион.ua
Россия
.com.ru, .net.ru, org.ru, pp.ru, .msk.ru, spb.ru и множество остальных типа регион.ru

Ниже инструкция типа «домен бесплатно для чайников»

Читать дальше →
Всего голосов 231: ↑214 и ↓17+197
Комментарии97
12 ...
7

Информация

В рейтинге
Не участвует
Откуда
Victoria, British Columbia, Канада
Дата рождения
Зарегистрирован
Активность

Специализация

Mobile Application Developer, Game Developer
Lead
Unity3d
Unreal Engine
AR and VR development
C++
C#
Game Development