As per our post on , we’ve created this matrix so you can compare and contrast components more easily.

Component Matrix

Component Considerations Strategy
UI Framework
  • A lot out there already.
  • A lot emerging too: next-generation web-app/multi-channel/mobile.
  • Enterprises typically have already standardized or adopted something for web.
  • Enterprises may or may not be open to a new UI even for bridging into mobile.
Have something as a reference for folks who don’t have anything or are open to something new.

Make the UI framework portion of our front end mobile development framework pluggable for flexibility.Client MVC FrameworkThis is a relatively new component in the enterprise. The term “front end” used to still mean something that was served up entirely server side. With the rise of single page applications, the client has become thicker and more responsive to perform routing, presentation, logic, and state modification. For purposes of mobile “packaging,” this also enables the client to be more self-contained to support offline use.Appeal to different development approaches:

  • Unopinonated – favors control and flexibility over convention and assumption for use cases.
  • Opinionated – favors convention and assumption for speed and productivity over control and flexibility for use cases.

Build reference implementations for BackboneJS (un-opnionated) and AngularJS (opinionated)Native Device BridgeOnly two have been generally “accepted’ or adopted in the enterprise – PhoneGap and Apache Cordova. However, there are other contenders such as Trigger.io.Start with Cordova and assess compilation and build challenges to maintain “build” independence. Fallback would be PhoneGap or Trigger.ioNode/LoopBackNode is the ultimate API glue especially for Javascript-based hybrid or mobile web apps because it’s:

  • Javascript for both front end and back end. Using one language means potentially one developer, which means increased efficiency and productivity.
  • Able to handle multiple connections gracefully. Because it’s asynchronous, it doesn’t have to wait for a downstream response: it can serve the next incoming request.
  • Event driven and reactive. It does something only when it needs to, rather than run logic continuously and synchronously pile up resources.
  • Easy to orchestrate, aggregate, and perform simple operations to send back a modified response as an API.

 

 

  • Build and support LoopBack as an open-source framework that is extensible because it’s based on Node.
  • Offer the most common mobile services used in many apps such as push notifications, user registration, and file storage.
  • Build and evolve client SDKs that make it even easier to take advantage of the backend without having to delve into it.
  • Play nicely and integrate well with legacy resources to leverage existing data and services