Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Ciklum Mobile Saturday скоро в Днепропетровске

Блог компании Ciklum
23 апреля, уже в «штатном» режиме мы проводим очередной мобильный субботник (Ciklum Mobile Saturday) — теперь и в Днепропетровске.

На эту встречу компания Ciklum приглашает разработчиков приложений под мобильные платформы (iOS, Android, OS Symbian, Blackberry Tablet OS, etc.). Вход на мобильный субботник свободный для зарегистрированных участников.

Сiklum Saturdays — это мероприятия, созданные специально для того, чтобы разработчики смогли познакомиться с ведущими специалистами в области создания ПО для мобильных платформ и друг с другом. Субботники обычно проходят в неформальной обстановке и дают возможность обменяться опытом, поделиться идеями, почерпнуть для себя что-то новое и пообщаться лично в дружеской атмосфере.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Просмотры1.9K
Комментарии 6

Ciklum Mobile Saturday (iOS edition) в Минске, 18 июня

Блог компании Ciklum
18 июня компания Ciklum при поддержке портала TUT.by приглашает всех iOS разработчиков на Ciklum Mobile Saturday (iOS edition).

Для нашей компании организовывать и поддерживать встречи различных сообществ разработчиков (.NET, PHP, Mobile) уже стало традицией. Этот субботник будет первым в Минске мероприятием, которое полностью посвящено разработке ПО под iOS.

Мы постарались сделать его еще более интересным и на этот раз к нам приедут известные спикеры и опытные технические специалисты, многие из которых впервые посетят Беларусь

Подробности под хабракатом
Читать дальше →
Рейтинг0
Просмотры843
Комментарии 0

Pdef — компилятор и язык описания интерфейсов для веба

Разработка веб-сайтовПрограммирование
В начале прошлого года мне пришла в голову идея написать собственный язык интерфейсов (IDL), который был бы похож на Protobuf или Thrift, но предназначался бы для веба. Я надеялся закончить его где-нибудь месяца за три. До первой стабильной версии прошло чуть больше года.

Pdef (пидеф, protocol definition language) — это статически типизированный язык описания интерфейсов, который поддерживает JSON и HTTP RPC. Он позволяет один раз описать интерфейсы и структуры данных, а потом сгенерировать код для конкретных языков программирования. Пидеф подходит для публичных апи, внутренних сервисов, распределенных систем, конфигурационных файлов, как формат для хранения данных, кеша и очередей сообщений.

Основная функциональность:

  • Развитая система пакетов, модулей и пространств имен.
  • Поддержка циклических импортов и зависимостей типов (с некоторыми ограничениями).
  • Простая система типов, основанная на четком разделении интерфейсов и структур данных.
  • Наследование сообщений (аналог struct'ов) и интерфейсов.
  • Поддержка цепочек вызовов, например, github.user(1).repos().all().
  • JSON как формат данных и HTTP RPC для передачи данных.
  • Возможность использовать другие форматы и RPC.
  • Подключаемые кодогенераторы (официально поддерживаются Java, Python и Objective-C).
  • Опциональность кодогенерации, т.е. Пидеф позволяет сериализовать данные и отправлять запросы руками.

Зачем нужен Пидеф? В первую очередь для повышения производительности труда и упрощения разработки и поддержки клиент-серверного, сервисно-ориентированного и распределенного кода. Но он также объединяет документацию и описание апи и позволяет строить вертикально-интегрированные системы, в которых снижены накладные расходы на взаимодествие отдельных компонентов.

Пример описания сообщения:
message Human {
    id          int64;
    name        string;
    birthday    datetime;
    sex         Sex;
    continent   ContinentName;
}

Примеры использования (примеры сгенерированного кода):
Json
{
    "id": 1,
    "name": "Ivan Korobkov",
    "birthday": "1987-08-07T00:00Z",
    "sex": "male",
    "continent": "europe"
}

Java
Human human = new Human()
    .setId(1)
    .setName("John")
    .setSex(Sex.MALE)
    .setContinent(ContinentName.ASIA)

String json = human.toJson();
Human another = Human.fromJson(json);

Python
human = Human(id=1, name="John")
human.birthday = datetime.datetime(1900, 1, 2)

s = human.to_json()
another = Human.from_json(s)

Objective-C
Human *human = [[Human alloc]init];
human.id = 1;
human.name = @"John";
human.sex = Sex_MALE;
human.continent = ContinentName_EUROPE;

NSError *error = nil;
NSData *data = [human toJsonError:&error];
Human *another = [Human messageWithData:data error:&error];


Установка, использование и руководство по языку
Всего голосов 50: ↑48 и ↓2+46
Просмотры9.8K
Комментарии 12

От прототипа до прототипа, от прототипа до прототипа, от прототипа до… мусорки

Разработка под iOSSwift
Захотел разработать небольшое приложение — Qtty. Приложение должно уметь делать снимок и применять набор фильтров к нему, после чего публиковать этот самый снимок в качестве основной фотографии в профиле ВКонтакте.
Автор будет пробовать делать всё через прототипы, так как это делали в 223 сессии WWDC 2014.

Много картинок. Осторожно!
Всего голосов 26: ↑15 и ↓11+4
Просмотры9.7K
Комментарии 18

Переходы при помощи CoreAnimation: анимируем появление изображения

Разработка под iOSРазработка мобильных приложенийObjective C
Перевод
Tutorial
Недавно я наткнулся на интересный концепт банковского приложения. Интересен он не только лишь тем, что выглядит значительно удобнее мобильного приложения любого банка, но и своими невероятными анимациями. Некоторые мне так понравились, что я решил незамедлительно их где-нибудь применить. В частности, мне показалась очень интересной анимация появления на экране фотографии пользователя и иконок управления его картой.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Просмотры11K
Комментарии 1

Core Data в деталях

Разработка под iOSSwift
Недавно я начала работать над большим проектом с использованием Core Data. Обычное дело, что люди на проектах меняются, опыт теряется, а нюансы забываются. Углубить всех в изучение конкретного фреймворка невозможно — у всех полно своих рабочих проблем. Поэтому я подготовила небольшую презентацию, из тех пунктов, которые считаю важными или недостаточно освещенными в туториалах. Делюсь со всеми и надеюсь, что это поможет писать эффективный код и не делать ошибок. Предполагается, что вы уже немного в теме.

Начну с банального.

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

Объекты Core Data


image
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Просмотры39K
Комментарии 6