In fact, we so strongly believe so that we’re either already planning or continually evaluating multiple permutations of these frameworks – effectively front end “Scrabble” where BACN becomes :
- TACN (Topcoat, AngularJS, Cordova, Node /LoopBack)
- or BMCN (Bootstrap, Marionette / BackboneJS, Cordova, Node / LoopBack),
- or even IAPN (Ionic, AngularJS, PhoneGap / Cordova, Node / LoopBack).
We’ve heard interesting and also very credible “substitutions” from the community as well – like Canadian BACN (the Canadian version being CouchDB), BACWN (with WebKit), and others that are derived from other use cases.
Going down the stack, here’s a breakdown of the various components.
- 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 Framework
This 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-opinionated) and AngularJS (opinionated)
Native Device Bridge
- 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
If you’d like to compare these components, check out our component matrix.
What does this all mean? It means “BACN’ or any combination acronym is a pattern or idea of fusing together a client MVC framework, native device bridge, and a UI framework to better meet the needs of mobile or multi-device channel with a hybrid mobile app. It’s not necessarily one implementation. There are many combinations that could meet this criteria and associated use cases and we here at StrongLoop encourage such exploration and discovery.
- Learn more about LoopBack, the open-source mobile backend built with Node
- Get our “Mobilizing Enterprise Data with LoopBack Models” whitepaper.
- Ready to build your next mobile app with a Node backend? We’ve made it easy to get started either locally or on your favorite cloud, with a simple npm install.