Passing Complex Data Through The Angular 2 Router With NativeScript

I recently wrote a tutorial for navigating a NativeScript Angular 2 application using the Angular 2 Router.  In this tutorial I demonstrated how to create a multiple page application, navigate between pages, and even pass simple string parameters between the pages during navigation.  However, what happens when the data you need to pass isn’t so simple?

We’re going to take a look at some of the ways to pass data between routes in a NativeScript application that makes use of Angular 2.


Navigating A NativeScript App With The Angular 2 Router

Unless you want a very boring single page application, you’re going to want some form of page navigation with multiple pages available.  Previously I wrote a tutorial for navigating between routes in a vanilla JavaScript NativeScript application, but with Angular 2 in full force, it probably makes sense to demonstrate navigation with the very different Angular 2 Router component.

Anyone who has been following Angular 2 since beta knows that the navigation components have changed drastically in pretty much every release.  Anyone who has been following NativeScript and Angular 2 knows that Telerik likes to use any and all Angular 2 in its vanilla state.  This means that navigation in NativeScript Angular 2 applications has changed quite a bit over the past year.  However, with Angular 2 now in general availability (GA), the Angular 2 Router is no longer beta and should no longer be changing.

We’re going to take a look at simple navigation between two Angular 2 components in a NativeScript Android and iOS mobile application using the now stable Angular 2 Router.


Upgrading Your Hybrid Apps To Native With NativeScript

As someone who has developed both hybrid web applications and native applications, I understand the differences and advantages each brings to the table.  While I agree that you can do some pretty neat things with a hybrid web application built with frameworks like Ionic, I no longer think it is as great of a solution as it once was.

With hybrid web frameworks like Ionic 2 and native mobile frameworks like NativeScript both using Angular 2, you have to step back and ask yourself what you’re truly getting as an advantage as of now in hybrid.  Performance is one of many reasons why native still makes more sense, and being able to use Angular 2, why wouldn’t you?

This is why I spent a lot of time creating an upgrade guide to demonstrate how to take your hybrid mobile application built with Ionic 2 and Angular 2 to native with NativeScript and Angular 2.


TPDP Episode #10: All About The Google App Engine

There are a few different ways to host applications online.  You can spin up your own VPS or container, but those are not easily scalable.  Instead there is a nifty service called Google App Engine that is designed for scalable web applications at a very cheap price.  In this episode of The Polyglot Developer Podcast, I have guest speaker Terry Ryan from Google to help spread the word on all the things Google App Engine can accomplish and why you should use it.


Build A Time-Based One-Time Password Manager With NativeScript

Not too long ago I released a time-based one-time password manager called OTP Safe to Google Play and iTunes.  That particular application was built with Ionic Framework and I even wrote a tutorial explaining how to make a similar 2FA manager with Ionic 2.  Being a hybrid mobile application, there were some performance limitations that came with the Ionic 2 application.  This inspired me to convert the application to something native and NativeScript seemed like a solid solution.

Let's take time-based one-time password management to the next level and create a native mobile application with NativeScript and Angular 2.

Scan For Bluetooth Enabled iBeacons Via A Raspberry Pi IoT Device

Lately I’ve been working a lot with iBeacons and Raspberry Pi Internet of Things (IoT) devices.  I’ve been building an office monitor for logging foot traffic around the office.  I planted a few Raspberry Pi devices around the office and distributed some Gimbal iBeacons to a few of my coworkers so I could determine what part of the office experiences the most heat.

While Raspberry Pi 3 devices come with integrated bluetooth, Raspbian Linux is not configured to support BLE scanning.  There are a few packages that must be installed to make BLE scanning possible.

We’re going to see what is necessary to scan for BLE iBeacons using a Raspberry Pi with Raspbian Linux installed.


Deploying Docker Containers On A Raspberry Pi Device

Recently I’ve been using a good amount of Docker for various deployment pipelines.  As everyone knows, I’m a huge Raspberry Pi fan, so I figured it would be a cool idea to bring the two together.  After all, Docker was built using Golang which is cross architecture.

We’re going to see how to create Docker containers on a Raspberry Pi and figure out the limitations of using Docker on IoT based architectures.


Record IP Camera Surveillance Video With A Raspberry Pi

As some of you may know, I have wireless surveillance cameras around my home.  Many years back I even released an Android application called SpyFi to be able to view the video feed from these cameras.  Up until recently I would have these cameras upload a sequence of images to a remote FTP server every time there was motion.  The problem with this is that these were only a sequence of still-images rather than video, and the server was not free or necessarily cheap.

Being that I own a few Raspberry Pi computers, I figured it might be a good idea to utilize them for surveillance storage.  The cool thing about this approach is that it is cheaper and that I can record video rather than pictures.

We’re going to take a look at how I’m recording video on a Raspberry Pi device to keep my home safe.


TPDP Episode #9: An Ember In The Land Of Web Frameworks

We’re nearing the end of 2016 and there are many JavaScript frameworks available to choose from, with more on the way.  Each framework offers a unique perspective of front-end development that can be very attractive to solo developers or development teams.  This brings us to a very popular JavaScript framework called Ember.js.  In this episode of The Polyglot Developer Podcast, I have guest speakers Tracy Lee and Taras Mankovski, who are both Ember experts.

Tracy Lee is a very successful JavaScript developer who sold her start-up and now focuses on her web organization Modern Web, which educates people on different development technologies.  Taras Mankovski runs a very popular consulting business called Ember Sherpa which also educates businesses on the Ember.js framework.  In the ninth episode of this podcast, An Ember in the Land of Web Frameworks, we explore Ember and the conveniences it offers in the realm of JavaScript and front-end development.  This exploration includes tooling and comparisons against other popular frameworks like React and Angular.


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.