- PVSM.RU - https://www.pvsm.ru -

Тренды iOS–разработки 2014 года

Тренды iOS–разработки 2014 года - 1
Подходит к концу 2014 год, и сейчас самое время подвести итоги и выделить ключевые тренды в iOS разработке.

Functional Reactive Programming

Благодаря фреймворку ReactiveCocoa, [1] новая парадигма программирования все чаще используется среди iOS разработчиков.

Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования. Подробности можете узнать в реактивном манифесте [2] (перевод на Хабре [3]).

Для себя я выделил следующие преимущества реактивного подхода:

  • loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
  • explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.

В качестве альтернативы реактивному подходу рекомендую посмотреть на Futures [4]. Есть как минимум два интересных фреймворка: PromiseKit [5] и CollapsingFutures [6]

MVVM

Model-View-ViewModel (MVVM) [7] представляет из себя UI design pattern и призван заменить привычный всем MVC. Благодаря ReactiveCocoa, MVVM начал бурно набирать обороты. Вы можете начать свое знакомство с MVVM с этого туториала [8].

Swift

Появление нового языка шокировало и одновременно обрадовало многих разработчиков.
Все мигом кинулись осваивать новый язык, и как грибы после дождя, стали появляться различные Swift библиотеки.
Пока что, из-за сырости среды разработки, язык считается непригодным для продакшн. Но это не значит, что его стоит игнорировать. Кстати, не так давно поддержка Swift появилась в AppCode [9].

Realm

Realm [10] представляет из себя базу данный для мобильных устройств и является заменой SQLite и CoreData.

Ключевые особенности Realm:

  • низкий порог вхождения
  • высокая скорость
  • эффективное использование памяти
  • большой набор платформ (доступна под Android, iOS, OSX)

Благодаря этим особенностям и тому, что всем лень читать документацию по CoreData, Realm стал очень популярен, поэтому непременно обратите на него свое внимание.

iOS 8

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

  • Handoff — интеграция мобильного и desktop приложений;
  • HealthKit — вся информация о здоровье пользователя в одном месте;
  • App Extensions — появилась возможность расширять функциональность системы при помощи расширений. Теперь можно делать кастомные клавиатуры, виджеты для Today;
  • TouchID — наконец-то появилась возможность для работы с TouchID;
  • Metal — новый низкоуровневый фреймворк для работы с графикой;
  • Size Classes — новый подход к построению интерфейса для устройств с разной диагональю экрана;
  • WKWebView — новый WebView с улучшенной производительностью. Гибридные приложения получают еще один шанс.

В общем, обязательно почитайте What's New in iOS 8 [11] и поиграйтесь с новым API. Эта информация поможет сделать ваши приложения намного привлекательнее.

Apple Watch

Начиная с iOS 8.2 появилось API для сопряжения телефона и часов от Apple. По сути Apple Watch можно считать вторым экраном телефона, так как без находящегося рядом телефона данное устройство бесполезно.

Коротко про Apple Watch:

  • есть два набора разрешений 38mm (136w x 170h) и 42mm(156w x 195h) или в пикселях 272x340 and 312x390
  • нужнен iOS 8.2;
  • есть три вида отображения: стандартный (запуск приложения с часов), glance (аналог виджета, т.е краткое представление данных приложения), кастомный UI для уведомлений;
  • приложение для часов является расширением приложения для iOS, то есть без использования iPhone на часы ничего не установить;
  • карты показываются в виде скриншота. т.е. скролить и зумить не выйдет;
  • весь код выполняется на телефоне, и это значит, что нет необходимости апдейтить firmware на часах;
  • можно использовать только storyboard;
  • анимации можно делать только при помощи набора картинок.

Симулятор для Apple Watch уже давно доступен, так что можете начинать встраивать поддержку данного девайса в свое приложение.

Чего ожидать в 2015 году

Касаемо разработки, все должно остаться так же. Популярность Swift, MVVM и ReactiveCocoa продолжит расти, будут создаваться новые фреймворки.

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

А какие тренды выделили бы вы?

Автор: Fanruten

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios-development/78057

Ссылки в тексте:

[1] ReactiveCocoa,: https://github.com/ReactiveCocoa/ReactiveCocoa

[2] реактивном манифесте: http://www.reactivemanifesto.org/

[3] перевод на Хабре: http://habrahabr.ru/post/195562/

[4] Futures: https://en.wikipedia.org/wiki/Futures_and_promises

[5] PromiseKit: http://promisekit.org/

[6] CollapsingFutures: https://github.com/Strilanc/ObjC-CollapsingFutures

[7] Model-View-ViewModel (MVVM): https://en.wikipedia.org/wiki/Model_View_ViewModel

[8] этого туториала: http://www.raywenderlich.com/74106/mvvm-tutorial-with-reactivecocoa-part-1

[9] AppCode: http://habrahabr.ru/company/JetBrains/blog/245907/

[10] Realm: http://realm.io/

[11] What's New in iOS 8: https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html

[12] Источник: http://habrahabr.ru/post/246533/