[1] Дневник разработки AppleInsider.ru для iOS 7

Приложение AppleInsider.ru давно уже заслужило славу одного из самых лучших информационных приложений, доступных в российском сегменте App Store. Этому стандарту стараются соответствовать разработчики аналогичных программ, и за это мы очень благодарны нашим друзьям из студии разработки мобильных приложений Unreal Mojo. Сегодня мы стоим у порога серьезных изменений: чтобы остаться законодателями тенденций, нам необходимо представить миру радикально обновленную версию приложения AppleInsider.ru, адаптированную под iOS 7. На этот раз мы решили впустить своих читателей за кулисы процесса разработки.

Дневник разработки AppleInsider.ru

Начиная с сегодняшнего дня, мы будем публиковать дневник директора Unreal Mojo Славы Карпенко, в котором он будет рассказывать о стадиях создания приложения. Так как помимо нас у Славы имеется большое количество других клиентов, и каждый день его расписан по минутам, вряд ли новые записи дневника будут появляться ежедневно. Но надеемся, что это будет происходить максимально регулярно. Итак, день первый.

Поехали!

Начнём, пожалуй.

Итак, прошло довольно много времени, в течение которого ребята из AppleInsider.ru утверждали дизайн будущего приложения. О том, как оно менялось, они, наверное, расскажут сами, а я же приступлю непосредственно к разработке самого приложения.

Надо сказать, что у меня помимо непосредственно программирования есть множество других задач, ведь я — директор Unreal Mojo, и потому не могу посвятить всё своё время непосредственно разработке, так что на программирование будет отведено по несколько часов (и то не каждый день, увы). То, как происходит эта разработка, я буду рассказывать тут. Может быть, кому-то будет интересно.

Итак, приступим. Новая версия приложения будет работать только на устройствах с iOS 7.0 и выше, потому было принято решение выкинуть большинство старого кода в помойку и заняться разработкой практически «с нуля», используя самые последние, рекомендованные Apple технологии (заодно и научусь тому, с чем ещё толком не работал).

Несмотря на то, что я только сегодня приступаю непосредственно к написанию кода, прошедшие месяц или полтора прошли в раздумьях, решениях и экспериментах — какой «движок» использовать для хранения данных и через что получать данные от сервера по сети.

В целях реализации первой задачи я купил и прочитал книжку «Core Data (2nd edition): Data Storage and Management for iOS, OS X, and iCloud» от Pragmatic Programmer. В предыдущей версии AI.ru app использовался «чистый» sqlite3, и мне стало интересно, можно ли без значительной потери производительности перейти на Core Data, тем более что было сильное искушение построить списки новостей на базе NSFetchedResultsController.

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

В качестве сетевой прослойки я решил отказаться от ASIHTTPRequest, на котором была построена предыдущая версия (тем более что от поддержки этой библиотеки её авторы отказались уже пару лет назад), и построить всё на NSURLSession, благо он появился как раз в iOS 7.

В итоге сегодня вечером, после дел домашних и перед ужином, решил начать — создал новый проект в Xcode, набросал черновую модель данных для Core Data и написал первые строчки кода, которые загружают базу данных, в которой потом будут храниться статьи, полученные с сервера.

AppleInsider.ru

Потрачено сегодня времени: 55 минут.

Следующая запись >

iOS 7Обзоры приложений для iOS и MacРазработка приложений для iOS