Simple Login And Registration In A NativeScript With Angular Mobile App

July 5, 2017 Nic Raboy

Most, not all, mobile applications have some sense of users having accounts. This means that users need to register and sign into most mobile applications to get all the features the application has to offer. So how do you create an attractive and functional login and registration screen for your Android and iOS application?

We’re going to see how to create a registration and login screen with NativeScript and Angular that will get you to an end result of a protected page within your application.

Read More

Validate Form Submissions In Node.js With Google reCAPTCHA

June 19, 2017 Nic Raboy

Anyone that operates a website or web application with a contact page knows how bad the SPAM problem on the internet is. Spammers, phishers, and other malicious people create bots that will crawl search engines for contact forms and send emails to the hosts, register accounts, or something else. There was a point in time that I was receiving more than ten emails a day from spammers that wanted to redesign my website. This kind of activity is incredibly annoying on my inbox.

This is where CAPTCHA and reCAPTCHA form elements come into play. These elements typically require some interaction such as typing words from an image or solving a math problem. Adding this small amount of form complexity can go a long way towards stopping bots.

We’re going to see how to hook up a Google reCAPTCHA element into a client facing form and validate that element using a Node.js backend.

Read More

TPDP Episode #14: Object Storage for Application Developers

June 14, 2017 Nic Raboy

I am pleased to announce that the latest episode of The Polyglot Developer Podcast is now available to download from all the popular podcasting networks. In this episode titled, Object Storage for Application Developers, I’m joined by Krishna Srinivas from Minio to talk about what object storage is and the various solutions that are available.

Episode #14 can be downloaded for free from iTunes, Pocket Casts, and every other popular network, but it can also be heard below.

Read More

Handle Google Play Services Conflicts In NativeScript Mobile Applications

June 12, 2017 Nic Raboy

I’ve been developing with NativeScript for a few years now, but only recently have I started working with the various services offered by Google Play. Using a single Google Play service such as Google Analytics works great, but as soon as you start adding more, you’ll start noticing Android conflicts during the build process.

Different plugins have different requirements on the underlying library versions. For example, one plugin might expect version 9, while another version 10, creating a versioning conflict.

We’re going to see how to get around these common problems that expand beyond NativeScript and into other development frameworks such as Apache Cordova and Ionic Framework.

Read More

Convert APNS Tokens To FCM Tokens With Simple HTTP APIs

June 9, 2017 Nic Raboy

Not too long ago I wrote a guest post regarding push notifications with the Firebase Cloud Messaging (FCM) service at the Telerik Developer Network. While that previous article was directly related to using FCM within a NativeScript application, it followed all the same rules that are required for any mobile development platform. There is a catch, however. The push notification plugin for NativeScript uses FCM for Android and Apple’s Push Notification Service (APNS) for iOS, which can be confusing as you’re then working with two different services.

It often makes sense to use a service like Firebase Cloud Messaging for both Android and iOS to make the application a little less complex. We’re going to see how to convert APNS tokens into FCM tokens using some available Google APIs and HTTP.

Read More

Extend Legacy Java Android Applications With NativeScript And Angular

June 5, 2017 Nic Raboy

As some of you might know, before I started developing cross platform mobile applications using Ionic Framework and NativeScript, I was developing Android applications using nothing more than the Android SDK and Java. I still have one of my first applications, SQLTool, for sale in Google Play, and it was written with Java and Android. When building mobile applications, frameworks like NativeScript are incredibly attractive to web developers because they can use a common set of web design and development skills. However, NativeScript can be equally attractive to development teams writing Android applications with Java.

With NativeScript you can actually build a “polyglot” type application where parts are Java and parts are NativeScript with Angular. To be clear, I’m not talking about rewriting your Java application into modules wrapped in JavaScript like plugins. I’m saying that you can take your 100% Android with Java application and add Activities or Fragments built with NativeScript.

So why is this useful?

Imagine being on a small Android development team with more things to be done than there is time in the day. These Android developers would rather die than use a cross platform framework, but you have plenty of web developers floating around your company. In this scenario, the two worlds can collide and maybe the web developers can create lower (or higher) priority components for the Android application without having to convert the whole application to Android with Java or to NativeScript with Angular.

Read More

Remove Untagged Docker Images From Your Docker Host Via The CLI

May 29, 2017 Nic Raboy

If you’re like me, when it comes to Docker, you probably build images non-stop. I must admit that when I create images, I don’t create any special tags, even though I should. Instead every build uses the latest tag because that is enough to meet my needs. Regardless of what tags you use, you may find yourself building the same thing over and over. When this happens, the previous image remains on your machine, but becomes untagged to make room for the new build.

So how do you prevent having potentially hundreds of untagged Docker images lingering on your machine? We’re going to see how to quickly remove them.

Read More