Factors to Consider When Evaluating the Impact of Single Page Apps

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.

Finally, SPAs are relatively easy to understand and are widely supported by a rapidly growing number of reliable JavaScript Libraries and frameworks. Because the separation of concerns between the client and server code is an accepted fundamental best practice, most professional software developers find the SPA architecture both logical and correct.

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.

Because SPAs rely heavily on JavaScript code running in the browser, leveraging JavaScript frameworks and libraries is critical for the efficient adoption of SPA technology. SPA's JavaScript code relies on the ability of each user's web browser to render the JavaScript consistently and correctly. Therefore, the maturity of JavaScript libraries are key, allowing developers to isolate their code from cross-browser variations while leveraging tried-and-true code.

Other development factors to consider when evaluating the impact of SPAs on your organization:

* Be ready to invest more time and tooling in browser compatibility testing to include all supported browser types as well as variations in browser versions. Keep in mind that JavaScript errors can have a much bigger impact on users than standard HTML style sheet bugs.

* 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.

* Educate JavaScript developers on the proper use of scope and careful use of global variables to avoid unintended collisions with other developers' code.

* 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.

NVISIAis 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.A

Read more about software in Network World's Software section.

This story, "Factors to Consider When Evaluating the Impact of Single Page Apps" was originally published by Network World.

To comment on this article and other CIO content, visit us on Facebook, LinkedIn or Twitter.
Download the CIO October 2016 Digital Magazine
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.