Рубрика «ios development» - 28

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

Подобно другим небольшим девелоперским компаниям наша столкнулась с банальной нехваткой людей для ручного тестирования написанных приложений. С ростом количества проектов выросло и число неупорядоченных файлов с баг-репортами. Отсутствие нормальной системы управления билдами и сабмита багов стало серьёзной проблемой.
Читать полностью »

Читатели, добрый день!

Сегодня Вашему вниманию хочу представить очередной перевод, не судите строго :) Надеюсь, Вам этот материал пригодится в работе.

В течение многих лет, Core Data была неотъемлемой частью многих OS X и iOS-приложений, обеспечивая сохранение и запрашивая пользовательские данные. Компания Apple тратит много усилий для того, чтобы API Core Data было проще в использовании и облегчала разработчикам процесс интегрирования в приложения.

Этот факт указывает на то, что Core Data является сложно-модифицируемой проектом. Даже если вы знаете как пользоваться Data Core, выполнение простых, ежедневных задач может показаться вам сложной и объемной работой. Хорошо, что существует MagicalRecord – независимая библиотека для Core Data, созданная MagicalPanda. А это учебное пособие научит Вас, как ускорить работу с MagicalRecord быстро и легко.

MagicalRecord – прост в использовании, хорошо разработан и популярен. Авторы проекта заявил, что основная задача MagicalRecord – очистка кода который Вам нужно писать для использования Core Data и с помощью одной простой строки кода сделать выборку данных, одновременно позволяя пользователю оптимизировать производительность. «Как это возможно?» — подумаете Вы. Это возможно благодаря удобной технологии, которая использует один и тот же шаблон для настройки, запросов и обновления Core Data. Особенностью дизайна является влияние Ruby on Rails’ системы хранения данных ActiveRecord.

Читать полностью »

В начале апреля я уволился с работы. От переизбытка свободного времени я решил написать игру для iOS. Игра про бедного кубика, которого постоянно преследуют другие геометрические фигуры. Настоящая драма. Кубику нужно продержаться как можно дольше без столкновений. Прототип игры был написан примерно за 8 часов. Всего разработка игры заняла 3,5 месяца. Чем я занимался все это время можно узнать ниже.

История создания iOS игры о быстрой реакции и стальных нервах
Читать полностью »

Swift это новый язык программирования от компаний Apple, который она презентовала в этом году на WWDC. Вместе с языком программирования, Apple выпустила отличный справочник по языку Swift, который я рекомендую прочитать или ознакомиться с ним. Тем не менее, читать книгу это очень долго! Так что если у Вас нет много времени и Вы просто хотите узнать о новом языке Swift, то эта статья для Вас.

В данной статье я бы хотел поделиться некоторыми размышлениями по поводу перехода от Objective-C к Swift. Я постараюсь дать Вам несколько советов и указать на недостатки при разном подходе к обеим языкам. Поэтому без лишних отступлений, перейдем к самой статье.

Читать полностью »

Xamarin.Forms не готов к боевым условиям? Xamarin — продукт, дающий возможность используя .NET писать приложение сразу под 3 мобильные платформы — Android, iOS и Windows Phone. Не так давно в продукт добавлена новая технология — Xamarin.Forms, позволяющая писать один XML-файл с разметкой на все платформы сразу. Но насколько эта технология готова к использованию в продакшене?
Читать полностью »

Возьмём за основу статью Знакомьтесь, Swift!, где показано как сделать простое приложение на Swift, и добавим туда такие известные и полезные штуки как pull to refresh и infinite scrolling используя встроенные возможности языка. Чтобы было еще интереснее, добавим немного асинхронности, иначе приложение будет каждый раз замирать на время обновления.

Реализуем pull to refresh и infinite scrolling на Swift
Читать полностью »

BDD тестирование в Swift с помощью Sleipnir
Objective-C разработчики могут пользоваться различными фреймворками для BDD тестирования своего кода.
Некоторые из них:

С появлением языка программирования Swift мы решили реализовать фреймворк для тестирования в стиле BDD на чистом Swift, без привязки к Objective-C.
После пары недель имлементации мы выпустили первую публичную версию фреймворка Sleipnir.
Читать полностью »

В Cocoa очень популярен паттерн делегирование. Стандартный способ реализации этого паттерна — добавление к делегатору weak свойства, которое хранит ссылку на делегат.

У делегирования много различных применений. Например, реализация какого-то поведения в другом классе без наследования. Еще делегирование используется как способ передачи уведомлений. Например, UITextField вызывает у делегата метод textFieldDidEndEditing:, который информирует его о том, что редактирование закончено, и т.д.

А теперь представьте задачу: надо сделать так, чтобы делегатор посылал сообщения не одному делегату, а нескольким, причем делегирование реализовано стандартным методом через свойство.
Читать полностью »

Второго июня 2014 года в мире Apple случилось то, чего не ожидал никто. Apple представила новый объектно-ориентированный язык программирования — Swift.

Чем может привлечь Swift?
В отличие от Objective-C, в котором для каждого класса необходимо создавать файлы *.h и *.m с интерфейсом и реализацией соответственно, в Swift нужно создать лишь один файл *.swift, в котором содержатся и интерфейс, и реализация. Это значит, что исходных файлов в проекте будет в 2 раза меньше, что является плюсом. Однако возникает вопрос — как же разделить свойства класса и методы на публичные и приватные? В Objective-C мы привыкли «прятать» приватные свойства и методы в *.m файлы. Сделать это в Swift на данный момент невозможно. Читать полностью »

Следующий четверг, 19 июня будет воистину жарким во многих офисах компании Ciklum. На этот раз мы порадуем днепропетровскую аудиторию, интересующуюся разработкой iOS приложений.
Мы приглашаем всех желающих присоединиться к первой встрече iOS Practice Leaders Community, посвященной модульному тестированию.
image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js