What is BACN?
At the Google Developer Live Presentation in October, we introduced BACN as an extension of MEAN (MongoDB, Express, AngularJS, and Node) for enterprise mobile app development. The developer community is increasingly adopting MEAN for building rich web applications because of its speed and ease of use. We are introducing a similar stack for mobile applications called BACN: Bootstrap, AngularJS, Cordova, and Node.
We chose these components for mobile web and hybrid applications because of their rich feature set and because they are in best-of-breed in:
- Ease of use
- Developer community adoption
- Enterprise familiarity
On the front end, AngularJS provides an MVC (model-view-controller) framework for single-page web applications. Bootstrap as the UI framework adds mobile features such as built-in responsive layouts. Cordova provides native device functionality such as access to contacts list and camera.
On the back end, BACN builds on MEAN by using LoopBack as the Express-based Node framework to connect to enterprise data sources and services beyond MongoDB. LoopBack effectively becomes the API server for “multi-channel” delivery; it gives you a head start in wrangling your back end services as APIs to be consumed by any type of client.
BACN Addressing Mobile Challenges
|COMPONENT||DESCRIPTION||COMMUNITY||EASE OF USE||ENTERPRISE
|Bootstrap||UI framework||Most popular project on GitHub.||Myriad widgets and controls for mobile and browser form factors.||Although often enterprises have legacy UI frameworks, the switch to Bootstrap for mobile look and feel is widely accepted.|
Easy to extend and maintain. Strong unit testing features.
|Client-based MVC frameworks are unfamiliar to enterprises (vs. server-side); however client MVC enables fluid and responsive behavior by limiting roundtrips and also helps to support offline use.|
|Cordova||Primarily for native device bridge||Large community following but somewhat splintered between PhoneGap and Apache Cordova.||Not easy to use and build but provides access to native device functions without writing native device code.||Enterprises recognize Cordova and PhoneGap as standards for developing hybrid mobile apps without having to keep up with hardware changes themselves.|
REST APIs built automatically from models that are used in the mobile client.
Get access to existing data and create new data on the fly.
Extend with the rich ecosystem of Node modules
|Increasingly, enterprises are exploring using Node, especially as API glue and to enable mobile.|
Enterprise mobile developers typically have a web development background. They are currently using everything under the sun to extend their existing infrastructure to meet enterprise mobile requirements. Much of what they are using is based on proprietary code, either code they have written or that of a first generation MEAP/MADP. These developers in transition from web to mobile need a better long-term solution that enables them to:
- Leverage existing skill sets. Native development in Objective C or Android Java has a huge learning curve and resources proficient in these are relatively scarce.
- Code once, run everywhere: the holy grail of being able to develop the mobile application once and have it run on browser, tablet, phone, wearable, etc.
- Access existing data and easily create new data. much of enterprise data already exists in multiple data sources and needs to be exposed, versus creating entirely new data solely for the mobile experience.
- Access existing services. enterprises have key critical business functions that need to be leveraged on the backend to perform functions as they normally would for operations.
- Speed time-to-market. Growth of mobile has put considerable pressure on enterprises to engage with their customers through this new medium; the speed and pace of demands for mobile applications continues to rise.
- Lower total cost of ownership (TCO). Once an application is out in the open, like any other software it needs to be continually monitored and maintained.
To address these challenges, BACN offers an open-source-based integrated platform for mobile application development that is the best-of-breed selection of components for front-to-back end development. LoopBack acts as the cornerstone for this solution and is available now. We are currently integrating the other frameworks that make up the front end framework.
Limitations and Opportunities
At StrongLoop, we would rather find and leverage open-source software with active and supportive communities than reinvent the wheel with a proprietary solution built on closed source. Most of our value added to the solution going forward is spent overcoming the integration of these best-of-breed components to play nicely and seamlessly together and develop tooling so that end to end developer productivity is maximized.
As we mentioned on the webinar, we at StrongLoop have a fantastic opportunity to partner with the Google Angular team to really make AngularJS the de facto choice for hybrid mobile applications that we look forward to. Stay tuned for more exciting announcements concerning BACN!