Why RxJS Is The Hottest Way To Handle Async

Observables. Native To The Web Platform?

One of the common misconceptions in the web world is that RxJS is an “Angular 2 thing”.

What most developers don’t realize is that Observables are on their way to becoming native to the web, and if you aren’t already using them to handle asynchrony, you are not adequately preparing yourself for the future.

The Best Way To Handle Asynchrony

RxJS allows you to solve hard problems with less code, promotes maintainability, readability, flexibility, and composability. These are just some of the reasons RxJS is the hottest way to handle async right now.

Learning how to handle asynchrony the reactive way instead of using promises and callbacks will also greatly reduce the probability that you are leaking resources. And because RxJS works with any framework (angular.js, react.js, ember.js, vue.js), node, and even without frameworks, it’s easy to future proof your applications and have confidence in using this technology.

(more…)

Use Mozilla’s LocalForage For Key-Value Storage In Ionic Framework

A few years ago I wrote an article called Use ngStorage for all Your AngularJS Local Storage Needs, which was intended to be for AngularJS in general.  However, I understand many readers were using it in their hybrid Apache Cordova or Ionic Framework applications.  There is nothing wrong with this.  However, ngStorage is a wrapper for HTML5 local storage which is known to have compatibility issues under certain circumstances.  That said, came across localForage, a library by Mozilla, which claims to be a wrapper for local storage, WebSQL, and IndexedDB, offering maximum compatibility.

We’re going to take a look at including localForage in an Ionic Framework Android and iOS application for storing data.

(more…)

Converting Your Ionic Framework 1 Application To Ionic 2

Ionic Framework has been around for a few years now and has completely changed the way people develop hybrid mobile applications.  With Angular out and Ionic 2 nearing stable release, the Ionic 1 and AngularJS predecessor will be a thing of the past and forgotten.  What if you've gone all in with the first version of Ionic Framework, how do you convert to the latest and greatest?

We're going to see how to take a simple Ionic Framework application and convert it to Ionic 2.  While there will be similarities, the process is manual, but better in the long run.

Send Emails In Ionic Framework Via The Rackspace Mailgun API

A few years ago a wrote a tutorial for sending emails in an Ionic Framework Android and iOS application.  The tutorial works great, but it requires that a mail application be used to finalize the send.  In other words, you can set default values for email fields, but you still need to select Gmail or similar to actually send the email.

A popular question I receive is how to send emails without launching an email application.  There are a few solutions to this.  You could either set up your own server that sends emails and access it via an API, or you can use a service like Rackspace’s Mailgun.

We’re going to see how to send emails using the Rackspace Mailgun API service.

(more…)

Using The Onymos Media Component In Your Ionic Framework App

A few years back I demonstrated how to use the device camera in an Android and iOS application developed with Ionic Framework.  Being able to take photos wasn’t particularly difficult, but it left a lot to be desired.  This is where the Media component by Onymos comes into play.

So what is the Onymos Media component?

The Onymos Media component extends the media features offered by the Apache Cordova camera plugin.  It will correct common orientation issues for photos and videos captured from the various platforms and devices, it allows access to the various internal directories on Android, and it offers advanced compression features.  The component also offers tight integration with Amazon S3 for storing media online.

Per the Onymos website, the Media component reduces the time it takes to get an application released to the market and in turn saves in development costs.  Paired with the component’s continuous updates, your application will always be functional.

We’re going to see how to take pictures within our application using the Onymos Media component and upload them to Amazon S3 with ease.  Everything you see below can easily be expanded to videos as the Onymos Media component can accomplish the same tasks with video as well.

(more…)

Create A Full Stack App Using Java & Couchbase Server

Full stack development is all the rage right now.  Knowing how all the bits and pieces of an application works is a necessity in modern development.  Previously I demonstrated how easy it was to create a full stack application using the Couchbase, Express, AngularJS, and Node.js (CEAN) stack, but this time we’re going to be swapping out Node.js for Java.

We’re going to look at creating a full stack application where Java and Couchbase Server acts as our back-end and AngularJS, HTML, and CSS acts as our front-end.

(more…)

Couchbase, ExpressJS, AngularJS, Node.js (CEAN) Stack

Create A Full Stack App Using Node.js & Couchbase Server

Previously I wrote about how to create an AngularJS application with PouchDB and Couchbase.  The way I demonstrated is of course one way to accomplish the job of using Couchbase in a web application.  This time around we’re going to take a look at creating a full stack application using the Couchbase, ExpressJS, AngularJS, and Node.js (CEAN) stack.

You might be familiar with the MongoDB, ExpressJS, AngularJS, and Node.js (MEAN) stack, but I’m going to show you that this is just as possible with Couchbase and even easier to do.

We’re going to see how to install and configure all four of the CEAN stack services as well as make a very simple application out of them.

(more…)

Support iBeacons In Your Ionic Framework Mobile App

I recently picked up some Estimote iBeacons to play around with and figured I’d try to get them working in an Ionic Framework Android and iOS application.

If you’re unfamiliar with iBeacons, they are small bluetooth proximity devices.  There are many different manufacturers, but Estimote appears to have the best advertised battery life and durability.  iBeacons generally broadcast a signal every 100ms to 1000ms depending on the configuration or brand.  The broadcast signal contains a UUID and two numeric identifiers which are a major and minor version.

Before I get into the code I’ll share a few possible use cases for iBeacons:

  1. Triggering some literature or audio when your device detects that you’re near a particular iBeacon in a museum.  Put one near The Statue of David in Italy and bam, you could have information about it when you approach it.
  2. Tracking foot traffic in your store.  Maybe you have a large store like Walmart with iBeacons in every department.  You can see which department gets the most traffic.
  3. Calculating how long time-wise a queue / line is for a particular ride at an amusement park based on device to beacon discovery.

There are endless other useful scenarios.

(more…)

AngularJS Form Validation In Your Ionic Framework App

When developing mobile Android and iOS applications, the user experience is often more important than what your application actually offers.

A quick and very easy enhancement you can implement in your application is in the realm of form validation.  Best practice says that you should always validate user inputted data via the back-end and I agree.  However, by validating via the front-end as well, it can make improvements to your user experience.

Validating your Ionic Framework forms with HTML5 validators, however, is a terrible idea.  It will make your user experience worse that if you had left them out.  Instead, AngularJS ships with its own validators that work great in Ionic Framework mobile apps.

(more…)