Pull to refresh
26
0
BiOM @BiOM

User

Send message

iOS. UI. Приëмы. Часть 1

Reading time10 min
Views8.4K

Привет читателям Хабра!

Я iOS-разработчик, и так случилось, что мне приходилось много делать в ui: кастомные view, тени, layout-ы, кнопки и вот это всё. В этой и паре следующих статей хочу поделиться некоторыми приёмами, которые помогали мне добиваться весьма красивых и интересных эффектов в плане рисования компонентов ui. Надеюсь, кому-нибудь это будет полезно. Ну или просто интересно.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments0

Программируемый калькулятор на iOS

Reading time1 min
Views10K


Думаю, у многих увлечения программированием началось с МК. И ещё не забыты времена, когда хабралюди программировали на своих МК по статьям из журнала «Науки и жизнь». А сколько времени было потрачено на игры на этих самых калькуляторах (да, у меня было тяжелое детство).

Вспомнить молодость можно скачав для своего айфона, айпада PrgCalc (бесплатно).
Авторы уверяют нас, что на нём работают практически все программы, расчеты и игры. Дизайн тоже аутентичный.

К черту игры для аппстора, когда можно играть в игры (даже сайт на народе и оформление, как раньше), как в старые добрые времена на мк-61, 52.
Total votes 58: ↑48 and ↓10+38
Comments48

Рассылка пресс-релизов: делюсь опытом на примере Wordrive и prMac

Reading time4 min
Views9.6K
Как говорится, вести бизнес без pr — все равно, что подмигивать девушкам в полной темноте. Какой бы ни был хороший продукт, правильно, когда о нем узнают лишь те, кто эту информацию ищет. Для связи ищущих информацию и её раздающих всегда есть инструменты. И об опыте использования одного из них я сегодня расскажу на примере игры Wordrive, которую я запустил в середине апреля в App Store, и на примере prMac, одного из сервисов рассылки пресс-релизов.

Про другой сервис, iSpreadNews, на Хабре уже подробно писали, да и я упоминал про опыт работы с ними в прошлой статье — «Как продвигать игру в AppStore: делюсь опытом на примере Wordrive».
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments3

Бизнес для программистов. Как начать свое дело

Reading time2 min
Views19K
Многие из читателей Хабрахабра хотели бы открыть свой бизнес и перестать работать на «дядю». Но как это сделать? Какие опасности это таит? Ответы на эти и другие вопросы можно найти в замечательной книге «Бизнес для программистов. Как начать свое дело».

Ее написал Эрик Синк – бывший разработчик Spyglass, основатель и руководитель SourceGear, одного из основных поставщиков ПО в области контроля версий, а также колумнист MSDN.

Основная тема книги – это как стартовать и развить свою маленькую компанию независимого поставщика ПО. Эрик разбивает эту задачу на несколько традиционных компонентов: как стать предпринимателем, люди, маркетинг, продажи. Но каждый из них рассматривает через призму восприятия программиста. Например, приводит следующий совет по поиску идей:
Idea FindGoodProductIdea ()
{
ArrayList candidateList = BrainstormLotsOfIdeas();
return ChooseTheBestIdea(candidateList);
}

Читать дальше →
Total votes 76: ↑61 and ↓15+46
Comments46

«Нам больше не нужны пукающие приложения»

Reading time2 min
Views2.4K
Apple выпустила Review Guidelines для AppStore. Вот выдержка из вступления.

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

В App Store больше 250,000 приложений. Нам больше не нужно пукающих программ. Если ваше приложение не делает нечто полезное или не предоставляет продолжительного развлечения, оно может быть не принято.
Читать дальше →
Total votes 130: ↑114 and ↓16+98
Comments130

Хранимые процедуры и временные таблицы. MySQL для начинающих

Reading time3 min
Views7.6K
Не знаю как кто, а я, если нахожу простое решение к какой-либо задаче, то всегда возникает желание этим решением с кем-нибудь поделиться. Так и сегодня, решив поставленную задачу, хотел бы поделиться ее решением.

Суть задачи проста: есть некий рейтинг пользователей. Необходимо показать пользователю его текущее положение, а также положение его ближайших конкурентов. Проще говоря, показать N-5..N+5 позиций в рейтинге, где N положение пользователя в рейтинге.
Читать дальше →
Total votes 15: ↑8 and ↓7+1
Comments12

10 юзабилити-преступлений, которых вы не должны совершать

Reading time2 min
Views4.4K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →
Total votes 325: ↑289 and ↓36+253
Comments160

Отрисовка шрифтов в Ubuntu Linux (GNOME)

Reading time1 min
Views1.5K
Отображение шрифтов можно регулировать — изменять, улучшать. Для этого следует создать файл ~/.fonts.conf следующего содержания:

pastebin.com/f31712814

Для того, чтобы изменения вступили в силу, теоретически необходимо перезайти в систему, но у меня качество отображения шрифтов стало улучшаться и без этого, в процессе работы, по мере обновления отрисовки окон приложений (при активном Compiz Fusion).

Следует отметить, что данный метод более детальный. Базовую настройку можно произвести стандартными средствами GNOME (System → Preferences → Appearance, ярлык Fonts) установив, например, режим сглаживания для LCD. Кроме этого можно отрыть окно расширенных возможностей (кнопка Details) для того, чтобы экспериментально изменяя значения параметров, выбрать оптимальную настройку.

Хочу сказать, что создание вышеописанного файла с соответствующим содержанием довольно ощутимо улучшило визуальное отображение шрифтов. В сочетании с режимом LCD (см. выше) да еще и шрифтами TTF, если позволяют лицензионные соображения, можно добиться потрясающего результата! Сам файл .fonts.conf представляет богатые возможности тонкой подстройки. В этом сообщении форума сказано как активировать сглаживание, которое обычно отключают из-за патентных разногласий с Apple.

Оригинал в блоге Tombuntu.
Total votes 14: ↑8 and ↓6+2
Comments18

Мошеннические методы монетизации в free-to-play играх

Reading time11 min
Views136K
Примечание переводчика: После публикации статьи с автором связался коммерческий директор из King.com, создателя Candy Crush Saga, и прояснил несколько моментов, после чего автор добавил пару замечаний. Добавленные абзацы отмечены курсивом.

Принудительная монетизация


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

Согласно исследованиям, добавление даже одной промежуточной валюты между потребителем и реальными деньгами, например «игровых самоцветов» (премиальная валюта), делает потребителя гораздо менее подготовленными к оценке стоимости сделки. Лишние промежуточные предметы, я называю их «наслоения», делают для мозга оценку ситуации очень сложной, особенно под напряжением.

Этот дополнительный стресс часто подаётся в форме того, что Роджер Дики из Zynga называет «весёлыми мучениями». Приём заключается в том, чтобы поставить потребителя в очень неудобное или неприятное положение в игре, а потом предложить ему убрать эти «мучения» в обмен на деньги. Эти деньги всегда замаскированы в слоях принудительной монетизации, поскольку потребитель, столкнувшийся с «реальной» покупкой, скорее всего не поведётся на трюк.
Читать дальше →
Total votes 138: ↑131 and ↓7+124
Comments76

Google выпустила парсер HTML5 на чистом Си

Reading time1 min
Views67K
Удачная возможность для веб-разработчиков выучить язык программирования Си — HTML5-парсер Gumbo, реализованный в виде небольшой библиотеки C99 без внешних зависимостей. Парсер создан как строительный блок для создания других инструментов и библиотек, таких как валидаторы, языки шаблонов, инструменты рефакторинга и анализа кода.

Особенности:
  • Полная совместимость со спецификациями HTML5.
  • Устойчивость к некачественным входным данным.
  • Простые API, которые могут быть легко обработаны программами на других ЯП.
  • Поддержка исходных позиций и указателей в оригинальном коде, при навигации по дереву зависимостей.
  • Проходит все тесты html5lib-0.95.
  • Проверен на более чем 2,5 млрд страниц в индексе Google.
Читать дальше →
Total votes 139: ↑134 and ↓5+129
Comments38

PhoneJS — Новый HTML5-фреймворк для мобильных приложений

Reading time8 min
Views66K
Новые инструменты для разработки под мобильные устройства появляются сегодня чуть ли не каждый день. Большая часть из них — это HTML5-фреймворки, с помощью которых, обладая навыками веб-программиста, можно создавать приложения для смартфонов и планшетов, не углубляясь в изучение платформенных SDK и других языков.

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



В настоящее время веб-технологии и JavaScript, в частности — это очень либеральная среда, не привязанная к конкретным средствам и методологиям разработки. Как в любой подобной ситуации, с одной стороны это дает свободу, с другой стороны вносит долю хаоса.

Мы в DevExpress организовали небольшую команду, которая на протяжении нескольких месяцев анализировала и пробовала различные существующие средства и подходы. Результат полученного опыта — PhoneJS — наше комплексное решение для создания кросс-платформенных мобильных приложений на HTML5.

Встречайте PhoneJS
Total votes 133: ↑110 and ↓23+87
Comments71

Как доделать игру

Reading time9 min
Views27K
На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.
image
Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.
Читать дальше →
Total votes 142: ↑135 and ↓7+128
Comments54

Верёвка как в “Cut the Rope”

Reading time2 min
Views18K
Почитав интервью создателей знаменитого бестселлера “Cut the Rope”, в котором утверждается, что на создание веревки ими было потрачено больше всего времени, я не поверил, что написать «алгоритм движения тяжелой нити» действительно так сложно, и для этого надо чуть ли не самим писать физический движок. Погуглив, готового ответа я не нашел, и решил попробовать сделать самостоятельно нечто подобное на cocos2D + Box2D.
За основу были взяты правила:
  1. Цепь делать лучше с помощью прямоугольных тел, соединенных Revolute Joint’ами;
  2. Чем тяжелее объекты составляющие цепь – тем она стабильнее;
  3. Количество итераций при шаге – чем больше, тем лучше (мне хватило 3-х);
  4. Очень помогает, если каждый кусочек цепи, помимо Revolute Joint’а соединить Distance Joint’ом.

Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments31

Автоматическое увеличение номера сборки в Xcode

Reading time2 min
Views3.3K
Пользователи и тестировщики могут найти ошибки, которые вы наверняка уже исправили. Иногда пользователи используют старую версию приложения, иногда ваши исправления не так хороши, как вы думали. В обоих случаях небольшой уникальный номер версии, отображаемый в приложении, может сэкономить часы вашей работы.

Это можно сделать
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments15

OpenGL iBooks-like анимация перелистывания

Reading time6 min
Views9.5K
Помню, когда я в первый раз взял в руки iPad, более всего меня поразило приложение iBooks c его натуралистичным перелистыванием страниц. Все остальные «фишки» как-то не особо впечатляли, но это… это показалось воплощением полной интерактивности. По сравнению с обычными графическими интерфейсами, использующими стандартные элементы GUI, интерфейсы с использованием анимации OpenGL это новый шаг в развитии пользовательских интерфейсов.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments24

Линейная алгебра для разработчиков игр

Reading time19 min
Views763K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →
Total votes 314: ↑296 and ↓18+278
Comments61

Face detection в iOS 5 SDK

Reading time3 min
Views2.9K
iOS SDK доступен уже длительное время, но каждый iOS разработчик знает, что использовать новое API в своих приложениях еще очень рано, так как клиент заинтересован в совместимости своих программ со старыми версиями этой ос.

Но все нашлась парочка вкусностей в новом SDK. Первым бросился в глаза метод для UIViewController viewWillUnload, который так был нужен несколько месяцев назад.
Весь перечень нововведений для iOS 5 смотреть здесь.
В списке добаленых фреймворков вызывает интерес CoreImage и в частности CIDetector.h.

Класс CIDetector создан в помощ поиска и определения лиц на изображении, что мы сейчас попробуем вкратце проделать.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments11

Использование Storyboard

Reading time4 min
Views59K

Вступление


В недавно вышедшем iOS 5 появился удобный механизм разработки интерфейса программы — Storyboard. Этот механизм позволяет заметно уменьшить количество кода связанного с переходами между экранами, показами Popover'a и даже с настрокой ячеек в таблице.

Задача: По нажатию на кнопку показать следующий экран поместив его в текущий NavigationController.
Решение без Storyboard:

DDetailViewController* nextController = [DDetailViewController new];
[self.navigationController pushViewController:nextController animated:YES];
[nextController release];

Решение с использованием Storyboard:


Вот и все! Никакого кода!

Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments30

Push уведомления в приложениях для iOS

Reading time3 min
Views12K
Добрый день, Хабражитель.
Все наверное в курсе, что в iOS существует такой полезный сервис как Push уведомления. Я тоже был в курсе, но пока не столкнулся с его реальным использованием, даже не знал, что с ним есть так много нюансов. В этом топике вы узнаете два аспекта об этом сервисе: что нужно делать в xCode, и как отсылать сами пуш сообщения через php сервер.
Под катом описано то, как все это работает.
Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments44

Первые главы «Основы Blender 2.6» готовы

Reading time1 min
Views14K
image
Сегодя завершил оформление первой четверти книги «Основы Blender 2.6».

Книга представляет собой учебное пособие по преподаванию 3D-графики в Школе и ВУЗе. Книгу написал Джеймс Кронистер — преподаватель компьютерной графики из Central Douphile School, США. На протяжении нескольких лет он вел предмет по собственной методике и в конце концов решил собрать все в одном издании.

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

После завершения перевода книга будет отличным пособием для преподавания 3D-графики в школах.

Книга «Основы Blender 2.6»
Читать дальше →
Total votes 80: ↑79 and ↓1+78
Comments77
1

Information

Rating
Does not participate
Registered
Activity