Search
Write a publication
Pull to refresh
0
0
Женя Баталин @batal

User

Send message

Pocket Lists. Чеклисты для iPhone

Reading time3 min
Views3K


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

Однако, попробовав несколько десятков чеклист-приложений из App Store, я понял, что загромождать App Store еще одним приложением-упражнением бессмысленно и глупо. Почти все приложения, которые я пробовал, было мучительно тяжело использовать. Очень много халтуры и нелепых поделок. Такое ощущение, что все они сделаны в качестве упражнения. Стоящие приложения можно пересчитать по пальцам.

Итак, я решил, что не нужно делать небольшое приложение, а нужно поменять приоритеты и выпустить настолько хорошее приложение, насколько смогу. Чтобы когда-нибудь стать App of the Week и побороться за разные награды вплоть до Apple Design Award. Задача поставлена понятно, но ее выполнение — выбор нужного функционала, дизайн, стремление к перфекционизму — оказалось мучительным.

Пусть и не за два месяца, как хотелось изначально, а за десять, так получилось приложение для организации дел Pocket Lists, и я хотел бы представить его хабрасообществу.



Немного о приложении и об опыте разработки...

Работа с Vkontakte.ru API в iOS приложении

Reading time12 min
Views50K
В этой небольшой статье я хотел бы поделиться способами интеграции Вконтакте API в проект IOS.
По этой теме сейчас в интернете мало информации и возможно мои советы кому-то помогут. Я покажу как можно не только получить данные пользователя, но и разместить на стене фотографию, текст и ссылку, а так же случай с вводом капчи.
Читать дальше →

Бета-тестирование iPhone-приложений

Reading time3 min
Views22K
logo В этой статье я хотел бы рассказать читателям про бета-тестирование приложений, сложностях, которые возникают на этом пути, а также о максимальной выгоде, получаемой из этого.

Ни для кого не секрет, что бета-тестирование на смартфонах — довольно трудоемкий процесс, а уж на iPhone — и подавно. Все дело в его многоступенчатости: сперва пользователю нужно найти UDID своего устройства, затем отправить его разработчикам. Только после этих действий со стороны юзера его аппарат вносится в список зарегистрированных девайсов, а уж потом собирается рабочая версия и отсылается ему на почту письмо с просьбой об установке.
Читать дальше →

Стилизация приложений часть первая

Reading time4 min
Views79K
Coloroid
Все идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…

Ну или пойдем по другому пути — у вас имеется своя контора Васей Пупкиных с некой деятельностью в мировой сети (допустим продажа хомячков), и (о ужас!) у вас есть целый сайт. Сайт, ага, сайт то у нас красивый, зелененький/красненький/желтенький ну и т.д. и есть программа-клиент для этого сайта, и мы хотим раскрасить свое приложение в цвета сайта.

Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
Поехали

Coin Keeper. iPhone приложение на C#

Reading time5 min
Views22K

Вчера разработанное нами приложение Coin Keeper заняло третье место в топе платных приложений русского AppStore.

Интересно то, что мы разрабатывали его не на привычном Objective C, а на C#, используя фреймворки Monotouch и Monodroid.

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

технические подробности проекта...

Hifidiy A20. Собираем усилитель мощности

Reading time4 min
Views128K

*Местами используются стоковые фото, по причине отсутствия своих в надлежащем качестве. Осторожно! На фото присутствует ковер, коврофобам не смотреть :) Очень много больших фото, трафик!

Приветствую! Как и обещал, расскажу о том как я мощник для акустики собирал. Так как промышленные варианты меня не устраивали, я нацелил свой выбор на diy варианты. Усилитель будет использоваться с полочной высокочувствительной акустикой, я решил что буду собирать усилитель мощностью 15-30 ватт, обязательно в A классе ( Да, да, вместо обогревателя ). Перебрал очень много проектов, остановился на клоне Krell KSA 50 — HifiDIY A20. Он полностью меня устроил, мощностью, габаритами, комплектующими. И я принялся за сборку.

Читать дальше →

Несколько полезных сервисов

Reading time2 min
Views126K
Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)

Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
Читать дальше →

CiEx подскажет какой фильм посмотреть — часть 2

Reading time1 min
Views958
image

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

Читать дальше →

Как я заработал $200K на рынке образовательных приложений iOS

Reading time12 min
Views23K
Данную статью хочу приурочить к одновременно выходу второй версии моего приложения Word Wizard и взятию новой отметки в $200 000 в Apple AppStore. Далее я постараюсь поделиться своим опытом и мыслями об образовательном рынке, а также рассказать свою историю успеха. Надеюсь что эта информация будет полезна многим независимым разработчикам. Для тех же кто создает образовательные продукты на платформе iOS моя статья даст возможность оценить рынок приложений в этой сфере.



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

DIY предусилитель в A классе. Клон Lehmann BCL

Reading time3 min
Views72K
image

Приветствую! После покупки наушников стал назревать вопрос о качественном усилении для них и я стал выбирать подходящие варианты, заводские решения отбросил сразу, по причине завышенной цены и достаточно дешевой элементной базы. Выбор пал на DIY варианты. Потом стал необходим предусилитель для усилителя мощности и я принялся за сборку. Мой выбор остановился на клоне Lehmann BCL, оригинальная версия достаточно известна, обладает достойным звуком, большое количество людей на заграничных форумах повторили эту конструкцию. Но усилитель очень чувствителен к качеству элементной базы, поэтому компоненты были использованы самые лучшие, до каких только смог дотянуться. Весь усилитель собран из деталей купленных на ebay. Прошу меня простить, но некоторые фото немного устарели, под ними я напишу что изменилось на сегодняшний день, начнем!
Читать дальше →

12+ полезных Google Chrome chrome:// команд

Reading time2 min
Views400K
Все знают, что для того чтобы попасть в меню у Хрома, нужно нажать на Гаечный ключ в правом верхнем углу.

Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.

Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
Читать дальше →

Automatic Reference Counting: часть 1

Reading time7 min
Views32K
Здравствуйте, коллеги.

Давно читаю блоги и статьи зарубежных разработчиков под iOS. И на днях попалась любопытная, довольно подробная статья об Automatic Reference Counting от разработчика по имени Mike Ash.
Статья довольно большая, потому перевод, сделанный мною, рискну разбить на несколько частей. Надеюсь, что уложусь в 2 части.
Часть первая

Жизненный цикл UIViewController'a

Reading time10 min
Views157K
Большинство прикладных приложения под iOS таким или иным образом используют UIViewController'ы. Там где UIKit фрэймворк — там и UIViewController'ы. Их много, они повсюду, они сидят в засадах и выглядывают из-за каждого угла. Поэтому, любой программист под iOS — будь он зеленым новичком, едва ступившим на тропу программирования, либо матерым профессионалом своего дела, должны знать о UIViewController'aх все.

Причиной написания данной поста является то, что, как оказалось, можно преспокойно программировать под iOS полгода, и не знать полностью о жизненном цикле UIViewcontroller'ов. И на небольших проектах это даже получается. Однако, когда приходится иметь дело с серьезным, достаточно большим проектом, то появляются определенные проблемы с нехваткой памяти, «неправильной» и «непонятной» работой контроллеров, пропажей данных, и еще со многими типичными проблемами, о которых будет написано ниже.

Так вот. В данном посте, я еще раз расскажу о жизненном цикле UIViewController'ов, расскажу о том, что и где стоит делать, и в каком случае. Пост ориентирован на разработчиков разных уровней, так что кто-то узнает для себя что-то новое, а кто-то найдет повод отпинать моменты, на которые стоит обратить внимание Junior'ов в команде.

Всех заинтересовавшихся, прошу
под кат

Асинхронная загрузка в iOS

Reading time3 min
Views8.4K
Наверное на эту тему есть достаточно материалов, в том числе и у Apple, но я опишу свой опыт и приведу свой код.

Задача следующая: для некоторого View, имеющего определенное количество subview в которые можно грузить изображения (UIImageView к примеру), нужно асинхронно загрузить некоторое количество изображений без блокировки основного UI.
Читать дальше →

20 бесплатных дополнений для Visual Studio

Reading time4 min
Views39K
Для Visual Studio 2010 создано уже около 900 дополнений. Многие из них позволяют облегчить решение рутинных задач, добавить удобства. Ниже представлено двадцать популярных дополнений, которые вы возможно найдете полезными для вашей работы.
Читать дальше →

iOs-разработчик берется за Android

Reading time8 min
Views20K
Недавно мы выпустили Android-версию для нашей платформы для создания приложений, использующих определение местоположения — Meridian.



Не став использовать один из кросс-платформенных инструментов, подобных Titanium, мы написали ее с нуля на Java.

Мы решили, что важно сохранить родной материал родным и максимально уважать особенности каждой платформы. Некоторым таким особенностям легко следовать, например, добавлению верхних закладок в окно интерфейса. Другие свойственны только для Android, например: обработка Intents, завершение работы старых Activities, реализация Search Providers, а также строгость к ссылкам с целью помощи сборщику мусора.

Теперь наша платформа использует HTML5 для брендинга и отображения контента, отсюда мы получили большую часть интерфейса совершенно бесплатно. Но множество кода, написанного на Objective-C, потребовалось перевести в Java, например: навигацию по карте, направление, и изменение местоположения.

Итак, мы засучили рукава, установили Android SDK и принялись за работу.
Читать дальше →

Как начать работать с GitHub: быстрый старт

Reading time6 min
Views1.3M


Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
Читать дальше →

Путь новичков-оптимистов в лабиринте iOs разработки. Дорогу осилит идущий

Reading time10 min
Views17K
image
15 июля 2010 года. За утренним чаем весь коллектив нашей конторы с восторгом рассматривал интерактивную книгу “Alice in Wonderland” от Atomic Antelope на iPad'е.

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

  • детский писатель;
  • художник;
  • программист;
  • переводчики (мы сразу решили делать английскую и испанскую версии нашей книги).


Техническая база у нас на работе и дома уже была — техника Apple в наличии имелась.

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

Windows Workflow Foundation – для чего и в каких случаях применять

Reading time8 min
Views23K

Базовое понимание
 
Помню, еще в университете перед реализацией любого алгоритма мы описывали его в виде блок схемы, и только после этого переходили непосредственно к кодированию. Workflow, как одна из парадигм программирования, на ряду с процедурным и объектно ориентированным подходами, как раз и позволяет нам визуально реализовать любой процесс, используя набор предопределенных функциональных блоков (Activity), при этом, избавляя от его последующего кодирования.

Библиотека WF, являясь одной из реализаций парадигмы Workflow, предоставляет следующие основные возможности:

— богатый набор функциональных блоков;
— расширение набора стандартных функциональных блоков пользовательскими;
— сохранение и возобновление экземпляров Workflow в процессе их исполнения;
— использование Workflow дизайнера в вашем приложении;
— интеграция с WCF;
— пошаговая диагностика непосредственно в Workflow дизайнере;
— и многое другое.

Критерии применения

Как известно, каждой технологии своя область применения. Для определения необходимости использования WF при реализации конкретного алгоритма/процесса я применяю 3 критерия:

1. Реализация алгоритма/процесса постоянно меняется.

В нашей компании мы разработали подсистему Workflow, которая является ядром всех продуктов. Имея, к примеру, десятки клиентов наших продуктов, у которых десятки процессов, получаем сотни разных изменяющихся процессов.

2. Процесс/алгоритм имеет длительный срок выполнения.

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

3. Нужно предоставить возможность изменения алгоритма/процесса конечному пользователю без вмешательства программиста.

Мы разработали свой собственный дизайнер, чтобы максимально упростить и облегчить редактирование процессов конечному пользователю (бизнес-аналитику). Это позволяет снять нагрузку с разработчиков. А возможность видеть и самим с легкостью менять свои процессы очень привлекательна для клиентов.
Читать дальше →

Об утечках памяти в iOS и методах борьбы с ними

Reading time3 min
Views7.1K
Среди проектов, над которыми мы работаем, пожалуй, нет ни одного, в котором было бы всё в порядке с памятью. Этот пост я посвящу рассказу о том, как бороться с данным видом проблем.

К проблемам с памятью можно отнести утечки и так называемых «зомби». Приложение, в котором творится бардак с памятью, становится нестабильным, в нём появляется целый букет странностей, начинаяя с пропадания некоторых элементов интерфейса и заканчивая падениями.

Для начала давайте определимся, что такое утечки. Утечки — выделенные, но не освобождённые области памяти, на которые нет указателя. Всё это выглядит достаточно несерьёзно, у iPhone куча оперативной памяти, а обычное приложение занимает в лучшем случае 2 Мб. На деле всё не так радужно: приложение может использовать до 3мб, а дальше начинают возникать memory warning, соответственно, ОС пытается освободить те области, которые считает «ненужными». Попросту говоря, удаляет невидимые в данный момент элементы интерфейса, а это не только некрасиво, но и может привести к падению приложения. «Зомби» — уже освобождённые (убитые) области памяти, к которым пытается обратиться программа, что также приводит к падению приложения.
Читать дальше →

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity