Програмирование

02 Май 2012

10 проектов упрощающих жизнь iOS разработчику

Опубликовано в Молескин, Блог, tutOrials, Програмирование

DevLinks 2012: Аналитика и бекэнд

PPL <3 PRS

Начнем с самого интересного, Parse — отличная реализация бекэнда для приложений и вкусной бесплатной версией и поддержкой пуш-уведомлений. Обязательно использую его в своих будущих программах.

CRM система для более тесной интеграции с пользователем: Appboy. Если ты профессионал SMM она должна быть интегрирована в твою аппу.

Google Analytics для iOS — незаменимый и высоконадежный пакет от Гугла. Легок в установке и настройке. Все данные об использовании приложения появляются на уже давно знакомом сайте.

Простенькая платненькая аналитика Mixpanel, которой пользуется Air b’n’b. Есть бесплатная (урезанная) подписка. Для микро проекта сойдет.

Кросплатформенный игровой SDK для твоей следующей игры: Scoreloop, с возможностью работы с виртуальной валютой и прочими плюшками. Используется Zeptolab’ом для Cut The Rope!

Real time аналитика для мобильных сайтов и приложений Kontagent. То же самое, что и GA, только корпоративное, т. е. только для вас, а не для большого брата.

Вот еще Kendo UI Mobile. Приложения будут «очень похожи» на оригинальные, с помощью HTML5. Например, пригодится если нужно сделать Андроид версию приложения, а ты в нем не разбираешься. Платная, зато работает. Или есть бесплатная Sencha.

Простенькие пуш-уведомления можно добавить с помощью Appoxee. Очень простая интеграция и работает.

Особого внимания заслуживает очень интересный проект GENWI, CMS с возможностью создания приложений-журналов, чьими услугами пользуется издательский дом Condé Nast.

PS А вот еще Aviary – супер SDK для редактирования фотографий. Поддерживает iOS, Android и Web.

12 Март 2012

AppOlympics 2012 Day 3

Опубликовано в Молескин, Блог, Путешествия, Конкурсы, Програмирование

Как это было. День третий.

Проснулся в 7. Сил нет. Надо вставать. Встал. Как будто и не спал. Все в тумане. Пошел в душ, задумался о прозрачном таббаре. Вышел из душа, достал ноутбук, начал писать.

Суть идеи в том, что бы добавить свои кнопки поверх таббара, таббар сдвинуть вниз, вне поля видимости, кнопки наверх. А кнопкам приписать селекторы, которые будут переключать соответствующие табы. Понял, что очень хочу кушать и пошел в ставший нам вторым домом Ко-воркинг спэйс. Пришел первым, после Дэвида, организатора. Буквально через 15–20 минут пришла моя команда, соперников еще не было.

Крис радостно сообщил, что сервер готов и что сегодня мы даже перельем все на сайт. Я продолжил допиливать прозрачный таббар, Джон и Дэнни вносили последние штрихи в макеты для iPhone.

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

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

Я уперся и кодил, что есть сил. Нарезал объекты пачками со скоростью света. Приблизительно за 3 часа до конца залил всем ребятам на телефоны на 75% написанное приложение. Еще через час доделал стрим потерь и находок, еще через полчаса кое-как сделал страницу описания находки. Не мог победить загрузку фотографии, но не было времени.

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

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

Организаторы объяснили правила презентации. Сказали, что презентация пройдет в кинотеатре, который находится в соседнем доме. Мы успокоились, взяли побольше пива и направились туда.

В кинотеатре все расселись по местам, организаторы объявили, что до финиша добрались 9 команд. Мы вышли презентовать наше приложение третьими. У микрофона Крис. Рассказал концепцию. Показали на большом экране оба случая — потери и находки. Не обошлось без накладки, из-за плохого сигнала не подгружались данные из форскверика, но со второго раза все получилось. Потом были вопросы жюри: как выбудете защищать персональные данные, как монетизировать, как привлечь много людей?

Из остальных команд, запомнились ТрампМэйтс и ТууфБраши (видео). Если их приложения появятся в Эпп Сторе, обязательно добавлю на них линки.
Жюри удалилось на голосование. Мы пофоткались и пошли пить пиво и играть в настольный теннис.

Спустя 30–40 минут жюри огласило свое решение. Мы не выиграли. Мы даже не стали одним из 5-ти лучших приложений. Было очень неприятно. Я немного поругался, но потом пришел в норму, ведь самое важное, что я встретил самых талантливых ребят на этом конкурсе.

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

PSS Было круто!

11 Март 2012

AppOlympics 2012 Day 2

Опубликовано в Молескин, Блог, Путешествия, Конкурсы, Програмирование

Как это было. День второй.

Кое-как проснулся в 7 утра, душ, кофе из пакетика, дорога до АхойБерлина. Было солнечно и холодно. Когда я пришел Кай уже седел, что-то кодил. Я подкрепился и сел постигать особенности API foursquare. Оказалось все очень просто. Регистрируешь свое приложение, получаешь два токена, оба их вставляешь в GET запрос, добавляешь к нему координаты места и если есть, запрос, например, KaDeWe. В ответ получаешь JSON-словарь, с результатами запроса.

Для работы с JSON я выбрал TouchJSON, т. к. уже давно пользуюсь похожей разработкой TouchXML. Но, т. к. JSON структура сходна со структурой NSDictionary, библиотека умеет делать и обратные преобразования (в отличие от TouchXML).

Через час приложение начало работать с объектами полученными от foursquare. Дизайнеры Дэнни и Джон уже во всю трудились над структурой приложения, а веб-разработчик Крис начал собирать сервер на Бутстрапе.

Я начал собирать структуру, получилось около 10 вью разной степени сложности плюс класс для работы с сайтом. Еще в пятницу вечером мы выбрали название для сайта и приложения: givebackapp.com, но пока писалась серверная часть, делать с ним мне было нечего, по-этому я углубился во внешний вид приложения.

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

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

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

Был час ночи, за день была съедена тарелка макарон с мясом, выпито чашек 6 кофе и неимоверное кол-во разных газировок. Еще, я никогда в жизни не писал так много за один день. Но впереди была ночь, а за ней последние 10 часов на реализацию поставленной задачи.

Крис остался дописывать серверную часть, т. к. совсем не успевал, а мы с Джоном и Дэнни поехали по домам, что бы вернуться завтра и написать самую классную аппу!

15 Январь 2012

Поиск и загрузка торрентов с rutracker.org на Synology DS

Опубликовано в Блог, Програмирование

Torrents
Качаем архивчик

  1. Устанавливаем rutrackerorg.dlm: Download Station → Settings → BT Search → Add. И включаем его;
  2. Включаем Web Station (если он еще не включен): Control Panel → Web Services → Web Applications → Enable Web Station;
  3. Открываем корневой каталог Synology DS, находим в нем каталог web и создаем папку /ds/rutracker.org;
  4. Копируем туда файлы torrent.php, search.php и config.php. Прописываем в файле config.php логин и пароль для входа в трекер;
  5. Идем в Download Station и вводим в поле поиска название интересующего нас фильма/сериала/еще чего-нибудь. Выбираем из списка нужный файл. Нажимаем Download Immediately.

08 Январь 2012

Хостинг на дому. Часть четвертая. VPN

Опубликовано в Блог, Молескин, Програмирование

Настройка VPN на NAS

  1. Идем в Start → Package Center → Available и устанавливаем VPN Center. Включаем его.
  2. Идем в Start → VPN Center.
  3. Затем в Settings → PPTP указываем (для iOS устройств):
    • Enable PPTP VPN server
    • Dynamic IP address: 10.0.7.0
    • Maximum connection number: 5
    • Authentication: MS-CHAP v2
    • Encryption: Require MMPE (40/128 bit)
    • MTU: 1400
  4. Затем в Settings → OpenVPN указываем (для десктопных клиентов):
    • Enable Open VPN server
    • Dynamic IP address: 10.0.8.0
    • Maximum connection number: 5
    • Enable compression on VPN link
    • И нажимаем кнопку «Export configuration», скачиваем полученный архив.
    • Жмем OK.
  5. Идем в настройки роутера и прокидываем порты (TCP:1723 и UDP:1194) с роутера на DS, как в настройке веб-хостинга.

В скаченном архиве в файле readme.txt есть вся необходимая информация по настройке VPN клиентов под тремя основными системами.
Для Mac настройка выглядит так:

Устанавливаем OpenVPN клиент для Mac

  1. OpenVPN клиент для OS X называется Tunnelblick. Скачиваем отсюда http://code.google.com/p/tunnelblick/ и устанавливаем.
  2. Запускаем Tunnelblick.
  3. Нажимаем Create and open configuration folder; откроется окно Finder’а с папкой конфигурации (оставляем папку открытой).
  4. Открываем openvpn.ovpn с помощью какого-нибудь редактора (например, TextMate) и заменяем YOUR_SERVER_IP на публичный IP DiskStation (например, 74.125.224.72).
    • Если ты используешь роутер, то укажи IP роутера.
    • Убери # перед «redirect-gateway» что бы направить весь клиентский трафик (включая веб трафик) через VPN сервер.
  5. Скопируй файлы openvpn.ovpn и ca.crt в папку конфигурации Tunnelblick.
  6. Нажимаем на иконку тоннеля в менюбаре и выбираем Connect VPN.
  7. Теперь мы в любой сети, как у себя дома.
  8. В Finder → Go → Connect to Server. Вводим адрес сервера, например: afp://10.0.1.111 и выбираем нужную сетевую папку.

Настройка iOS устройств.

  1. Settings → General → Network → VPN → Add VPN Configuration…
  2. Выбираем:
    • PPTP
    • Description: DS
    • Server: внешний IP адрес или домен, подключеный к DS
    • Account: admin, например
    • RSA SecurID: OFF
    • Password: пароль от аккаунта
    • Encription Level: Auto
    • Send All Traffic: OFF
  3. Включаем VPN.
<<  1 [23 4 5  >>