
2014 is coming to an end, and now is the time to take stock and highlight key trends in iOS development.
Functional Reactive Programming
Thanks to the
ReactiveCocoa framework
, a new programming paradigm is increasingly being used among iOS developers.
Fault tolerance, responsiveness, focus on events and scalability - these are the four principles of reactive programming. Details can be found in the
jet manifest (
transfer to Habré ).
')
For myself, I highlighted the following advantages of the reactive approach:
- loose coupling - event flows help reduce coupling between different parts of the code;
- explicit state - the state of the program is determined by a set of events, and therefore it becomes easy to manage.
As an alternative to the reactive approach, I recommend looking at
Futures . There are at least two interesting frameworks:
PromiseKit and
CollapsingFuturesMVVM
Model-View-ViewModel (MVVM) is a UI design pattern and is intended to replace the usual MVC. Thanks to ReactiveCocoa, MVVM began to rapidly gain momentum. You can start your acquaintance with MVVM with
this tutorial .
Swift
The emergence of a new language shocked and simultaneously delighted many developers.
All at once they rushed to learn a new language, and like mushrooms after the rain, various Swift libraries began to appear.
So far, due to the dampness of the development environment, the language is considered unsuitable for production. But this does not mean that it should be ignored. By the way, not so long ago, Swift support appeared in the
AppCode .
Realm
Realm is a mobile database and is a replacement for SQLite and CoreData.
Key features of Realm:
- low threshold of entry
- high speed
- efficient memory usage
- a large set of platforms (available for Android, iOS, OSX)
Due to these features and the fact that everyone is too lazy to read the documentation on CoreData, Realm has become very popular, so by all means pay your attention to it.
iOS 8
As always, the release of the new version of iOS can be called the main event of the year. Developers have become available new features, of which I want to highlight the following:
- Handoff - integration of mobile and desktop applications;
- HealthKit - all information about the health of the user in one place;
- App Extensions - an opportunity to expand the functionality of the system using extensions. Now you can make custom keyboards, widgets for Today;
- TouchID - finally the opportunity to work with TouchID has appeared;
- Metal - a new low-level framework for working with graphics;
- Size Classes - a new approach to building an interface for devices with different screen sizes;
- WKWebView is a new WebView with improved performance. Hybrid apps get another chance.
In general, be sure to read
What's New in iOS 8 and play with the new API. This information will help to make your applications much more attractive.
Apple Watch
Starting with iOS 8.2, an API for pairing the phone and Apple watches has appeared. In fact, Apple Watch can be considered the second screen of the phone, since without a phone located nearby, this device is useless.
Briefly about Apple Watch:
- There are two sets of resolutions 38mm (136w x 170h) and 42mm (156w x 195h) or in pixels 272x340 and 312x390
- iOS 8.2 needed;
- There are three types of display: standard (launching the application from the clock), glance (analog of the widget, that is, a brief presentation of the application data), custom UI for notifications;
- The clock application is an extension of the iOS application, that is, without using the iPhone, nothing can be installed on the clock;
- maps are shown as screenshots. those. scroll and zoom will not work;
- All code is executed on the phone, and this means that there is no need to update the firmware on the clock;
- you can only use the storyboard;
- animations can be done only with a set of pictures.
The simulator for Apple Watch has long been available, so you can start to build support for this device in your application.
What to expect in 2015
With regards to development, everything should remain the same. The popularity of Swift, MVVM and ReactiveCocoa will continue to grow, new frameworks will be created.
As for the application market, for Russia the situation is ambiguous. On the one hand, applications and devices have become much more expensive, but on the other hand, many have already acquired devices and will not part with them. But one thing is certain: the number of outsourcers working for Western clients will increase significantly.
And what trends would you highlight?