Thursday 26 March 2015

Characteristics of modern web applications.

Characteristics of modern web applications.

• Cross-browser compatibility: The application experience is constant across all modern web browsers, including Google Chrome, Mozilla Firefox, Internet Explorer 9 and 10, Safari, and Opera. 

• Adaptive design: The application automatically adapts to work on many screen resolutions,from huge 30-inch monitors to tiny 3.4-inch cell phones.

• Natural user interfaces: The application accepts input from natural user interfaces (NUI) such as touch, voice, NFC, video cameras, GPS, and other sensors. Meeting this requirement means that you have not only the right software but the hardware to test how the application behaves on these devices.

• Social network integration: The application seamlessly interacts with social networks.

• Cloud-ready: The application can use cloud-based infrastructure and scales on demand,adding new servers when needed and scaling down when traffic slows.

• Resiliency: The application can adapt to challenging network conditions and, in some cases, can work in a disconnected state. The application is designed to tolerate failures of one or more subsystems and still operate at limited but acceptable capacity.

• Extensible: The application is extensible by way of RESTful APIs and its functionality can be augmented by third-party developers.

• Reliable: The application is reliable and supports multiple levels of automated and manual testing before being deployed. 

• Maintainable: The application is easy to maintain and can be upgraded frequently and seamlessly with minimal disruption of the service. 

• RESTful: The application is built on established standards and protocols, and takes advantage of network optimization appliances, load balancers, and monitoring packages.

• Secure: The application has been designed to protect itself from evolving security threats using a layered system of counter measures. If a breach occurs, only the compromised subsystems will be affected; confidential and personally identifiable information will not be exposed.

• Scalable: The application should be able to support thousands of concurrent users.