Stumbled recently over The Reactive Manifesto which nicely describes the principles of the new application architecture style, which emerged in the last years, due to the exponential growth of mobile internet usage.
… a new architecture has evolved to let developers conceptualize and build applications that satisfy today’s demands. We call these Reactive Applications. This architecture allows developers to build systems that are event-driven, scalable, resilient and interactive: delivering highly interactive user experiences with a real-time feel, backed by a scalable and resilient application stack, ready to be deployed on multicore and cloud computing architectures. The Reactive Manifesto describes these critical traits which are needed for going reactive.
The Manifesto is maintained and managed in github and can be found here