Single Page Application (SPA) web development is taking off in large enterprises.
With more mobile devices on the planet today than people, IT needs a way to streamline development of applications for web, mobile web, and native mobile users to realize cost savings and improve customer experience. Technology giants such as Google and Twitter have leveraged what is known as Single Page Application (SPA) web development for more than five years, and now SPA is taking off in large enterprises.
SPA has established itself as a significant trend for efficient web application development as it typically yields a website that feels more like an “app” than a traditional web page, something that users have come to expect.
Popular SPAs include Gmail, Google Maps and Twitter. One of the benefits to the user is seamless drill down without the long pauses associated with classic web application refresh, creating a better user experience. When thoughtfully designed, these pages respond better over low bandwidth connections (after the initial page load) than traditional web pages, providing the user with the “app” type feel that has become the norm.
Additionally, SPAs can offer substantial benefits for organizations who see value in sharing their business logic across multiple channels, including both web and native mobile. SPA’s inherent separation of UI and application logic creates an opportunity to share common application logic and testing assets, allowing an organization to use a single copy of application code on the “back end” to develop a web application that quickly addresses both web and mobile web users.
This allows customers to use mobile devices to access mobile web applications while the native mobile applications work their way through the development, test and app store release processes.
SPA Adoption Considerations
Moving to the SPA architecture does require some changes in process, tooling and skills. One factor that impacts the ROI for SPAs is related to the number of page templates/routes required by the application. Examples of limited screen templates/routes include wizard type applications, where information is collected and validated in chunks rather than in one scrolling form, and variations of master-detail data sets similar to Gmail where emails are listed and details are displayed in an adjacent window. This is particularly effective where the user only needs a small subset of the data at any time. SPAs are very efficient at using AJAX (asynchronous server calls) to dynamically load and seamlessly refresh the data as it is needed, without causing a full-page refresh.
Other development factors to consider when evaluating the impact of SPAs on your organization:
* If users keep the application open for long periods of time, it is possible for memory leaks to develop in the browser. Be prepared to test for, debug and possibly design periodic full-page refreshes to reset the browser.
* Develop client-side debugging skills for event-driven code that requires a different mindset than traditional multi-page applications.
* Understand resource bundling, minification (compressing text based files) and browser caching to reduce initial page load times.
* Consider possible SPA drawbacks for SEO, bookmarking/linking, back-button and opening new browser tabs/windows and accessibility. There are many documented approaches to elegantly deal with these browser issues, but it is important to understand these factors because they are no longer “free” like standard HTML pages.
If you have not already evaluated the SPA architecture’s favorable characteristics for your users’ experience and the inherent support for reuse of a single Web API across both native mobile and web applications, now is the time to check it out. To meet user expectations and reduce cost of dual application logic (backend service) development, SPAs are becoming popular despite some investment associated with learning and institutionalizing a new technology pattern in your enterprise. You can’t ignore the demand for SPA’s “appy” look-and-feel for new websites.
NVISIA is an enterprise software development partner with a 22-year history of developing highly integrated software platforms for market-leading corporations throughout the Midwest. NVISIA excels at creatively connecting people, process and technology to develop long-term business platforms that can be confidently maintained and extended by our clients’ internal IT teams. NVISIA understand the challenges of bringing together business and IT teams to quickly deliver strategic platforms, while giving them comfort and confidence in technology that’s new to their organizations.