Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Building a Hybrid Mobile app? Avoid Using CDNs for Your Libraries

DZone's Guide to

Building a Hybrid Mobile app? Avoid Using CDNs for Your Libraries

In a world where functioning offline is critical for most apps, you should question your use of CDNs.

· Mobile Zone ·
Free Resource

Discover how you can help protect your mobile, web-based and cloud applications with IBM Application Security on Cloud.

I’m reading an (otherwise fascinating) article now on Ionic and came across this snippet of code:

<script type="text/javascript" src="//code.angularjs.org/1.4.3/angular.js"></script>
<script type="text/javascript" src="//code.angularjs.org/1.4.3/angular-resource.js"></script>
<script type="text/javascript" src="js/services.js"></script>
<script type="text/javascript" src="js/index.js"></script>

What’s wrong with the above code? (And yes, the title mostly gives it away.)

By using a CDN for libraries in your hybrid mobile app, you’ve essentially ensured the application will be completely broken when offline. This is obvious, but like most of us doing client-side work, we’ve become accustomed to using CDNs for libraries.

Now–you may ask–what if the core functionality of the application requires you to be online? In that scenario, you still want to ensure you gracefully handle the user being offline. If your CDN libraries fail to load, most likely your application is going to crap the bed. If those libraries were stored locally within the application, you can at least still load up, detect the offline state, and then tell the user they can’t do anything while offline.

Even better, you can add a simple event listener for when they get back online and then start the application up again. (And of course, you’ll have an event listener for when they go back offline. Because that happens. A lot.)

For an example of this in action, see my earlier blog posts: PhoneGap Online/Offline Tip and PhoneGap Online/Offline Tip (2).

Rapidly detect security vulnerabilities in your web, mobile and desktop applications with IBM Application Security on Cloud. Register for your complimentary 30-day trial now.

Topics:
cdn ,hybrid ,offline

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}