Single-Page Application Consulting

Introduction to Single-Page Applications (SPA)

Single-Page Applications (SPA) allow the enterprise to provide users with rich, responsive applications through the browser. This creates extensive cost savings; gone is the necessity to develop for multiple platforms to reach users on multiple operating systems.

JavaScript is immensely important in SPAs, replacing static pages with dynamic and real-time interfaces. It is considered the future of web-based applications across mobile, tablet, and desktop platforms.

SPA provides the following benefits:
  • Mobility support
  • Plugins eliminated
  • Cross-browser support
  • Rich, responsive user experience leveraging the benefits of HTML5
Common Frameworks Include:
  • Angular
  • Backbone.js
  • Ember
  • React
  • ExtJS

Enterprise SPA Adoption Considerations

SPA JavaScript MV* Selection and Adoption

There are many viable MV* frameworks and all have their strengths. Deciding which framework suits your enterprise is a function of leveraging application UI requirements and existing developers’ competency in JavaScript. We at Keyhole Software have our lineage in classical-based object-oriented development and have helped enterprises successfully transition to many MV* JavaScript frameworks.

Patterns To Implement

Here are a few mechanisms and patterns we can help put in place, no matter what the chosen MV* framework is:

  • Sharing common vendor JS libraries
  • Project Structure / Modularity / Namespace conventions
  • Transparent API Mocking
  • Unit Testing
  • UI Validation, client and server-based
  • Bundling and sharing internal JS libraries
  • Optimizing client side SPA resources
  • Logging / Tracing local and remote for support
  • Reference application and / or usage patterns
  • Authentication and applying of role-based ACLs (Access Control Lists)

Our teams have extensive real-world enterprise development experience with Backbone.js, Angular 2, React, and others, and have successfully implemented these technologies in multiple business domains.

Adapting Server Side Data and Business Logic to RESTful API-based Architecture

SPA requires a fundamental application architecture shift. If existing .NET/Java technology stacks are still viable, they need to be repurposed for a more lightweight API-based access on the client (browser) side.

Enterprises with existing Java EE or .NET infrastructures can easily adapt to SPA support by introducing a RESTful-based API framework to application servers. Java EE can adapt servlet-based frameworks, such as Spring MVC, Jersey, or Sherpa, while .NET can introduce WebAPI, MVC.Net, or WCF.

Change To Support API Development

Here are some patterns and mechanisms that will need to change to support API development for SPAs:

  • RESTful API endpoint implementation
  • Application data access strategy
  • Endpoint authentication and access control mechanism
  • Versioning endpoints
  • Testing endpoints
  • Effective API design
  • Effective API payload design
  • Transactions
  • Data concurrency
  • Validation / Error handling

Keyhole Can Help

Keyhole Software has extensive expertise with development utilizing SPA architectures with JavaScript. From technology selection and adoption, to adapting current data and business logic to this new architectural approach, to teaching your team how to effectively implement these technologies themselves — Keyhole Software has your organization covered.

If you want to use you're covered with Keyhole Software consulting.

Educational Resources


Both JavaScript and HTML5 are important pieces of the SPA puzzle. Developers need a deeper understanding of JavaScript language features and HTML5 capabilities to fully take advantage of SPA. Check out the following Keyhole Software tutorials to get up-to-speed:

White Paper

Not sure where to begin? Check out our free white paper discussing single-page applications.

JavaScript

SPA architectures allow for rich, responsive application UIs. Developers need an understanding of JavaScript language features to take advantage. Learn the JavaScript essentials in this tutorial.

Get More Info: JavaScript Essentials

HTML5Logo

Enterprises have the ability to expand applications to more devices with browser-based SPAs with JavaScript & HTML5. Learn the HTML5 essentials for enterprise SPA development in this tutorial.

Get More Info: HTML5 Essentials for SPA Development in the Enterprise

CoverThis book introduces JavaScript language essentials, HTML5 features, and responsive design concepts to guide you in leveraging these technologies to develop enterprise single page applications.

Get More Info: Modern Web Essentials Using JavaScript and HTML5

Sencha Ext JS iconSix-part video series on guiding principles for writing a maintainable, easy-to-use, and easy-to-code Single Page Application with ExtJS.

Get More Info: ExtJS Single Page Application Tutorial

 

Sencha logoFive-part video series on developing Single Page Applications using the ExtJS framework. SPA architecture, code structure, and debugging with Chrome Developer Tools are focused on.

Get More Info: Developing Single Page Applications with the ExtJS Framework

  • Part 1: validate Your Assumptions, Binary Search, and the debugger statement
  • Part 2: Bottom-Up debugging, Top-Down debugging, and Break on DOM changes
  • Part 3: Chrome-specific debugging techniques
  • Time-Oriented Debugging

Popular Keyhole Software Services

SPA Assessment & Technology Suggestion

An assessment package designed to assess your software systems and provide a strategic roadmap for Single-Page Application adoption. Particular focus on which frameworks to consider based upon application functionality needs.

Modernization Consulting

Keyhole Consultants provided to help your team meet its goals with single-page application adoption.

On-Site, Just-in-Time Education

Our team’s real world, hands-on experience is translated into your custom coursework. Depending on the needs of your business, education can include lecture and lab courses led By Keyhole Sr. Consultants, one-on-one or group mentoring and player/coaching, and post-course support services.