2014 iOS development trends
The year 2014 is coming to an end, and now is the time to take stock and highlight the 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, event-oriented and scalability are the four principles of reactive programming. You can find out details in the reactive manifest ( translation on Habré ).
For myself, I highlighted the following advantages of a reactive approach:
- loose coupling - event streams can reduce the connectivity 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 CollapsingFutures
Model-View-ViewModel (MVVM) is a UI design pattern and is designed to replace the usual MVC for everyone. Thanks to ReactiveCocoa, MVVM began to ramp up. You can start your introduction to MVVM with this tutorial .
The emergence of a new language shocked and at the same time delighted many developers.
Everyone immediately rushed to learn a new language, and like mushrooms after rain, various Swift libraries began to appear.
So far, due to the damp 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 AppCode .
Realm is a database for mobile devices and is a replacement for SQLite and CoreData.
Key features of Realm:
- low entry threshold
- high speed
- efficient memory usage
- 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 be sure to pay attention to it.
As always, the release of the new version of iOS can be called the main event of the year. New features have become available to developers, of which I want to highlight the following:
- Handoff - integration of mobile and desktop applications;
- HealthKit - all information about the user's health in one place;
- App Extensions - an opportunity to expand the functionality of the system with the help of extensions. Now you can make custom keyboards, widgets for Today;
- TouchID - finally there is an opportunity to work with TouchID;
- Metal - a new low-level graphics framework;
- Size Classes - a new approach to building an interface for devices with different screen sizes;
- WKWebView is the new WebView with improved performance. Hybrid apps get another chance.
In general, be sure to read What's New in iOS 8 and play around with the new API. This information will help make your applications much more attractive.
Starting with iOS 8.2, an API appeared for pairing Apple's phone and watch. In fact, the Apple Watch can be considered the second screen of the phone, since without a nearby phone, this device is useless.
Briefly about the Apple Watch:
- there are two sets of resolutions 38mm (136w x 170h) and 42mm (156w x 195h) or in pixels 272x340 and 312x390
- I need iOS 8.2;
- There are three types of display: standard (launching the application from the clock), glance (analogue of the widget, i.e. a brief presentation of the application data), custom UI for notifications;
- the watch application is an extension of the application for iOS, that is, without using the iPhone, nothing can be installed on the watch;
- 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 watch;
- only storyboard can be used;
- Animations can only be done with a set of pictures.
The simulator for Apple Watch has long been available, so you can start embedding support for this device in your application.
What to expect in 2015
Regarding development, everything should stay the same. The popularity of Swift, MVVM and ReactiveCocoa will continue to grow, new frameworks will be created.
As for the application market, the situation is ambiguous for Russia. On the one hand, applications and devices have become much more expensive, and on the other, 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.
What trends would you highlight?