When building an application that allows users to have accounts, you have to ensure that access to these accounts is secure. When building a user account system, an important factor to keep in mind is how passwords are stored. Storing passwords as plain text is a complete rookie move that leaves your users vulnerable to all sorts of data breaches.
The best way to protect passwords is to employ hashing and salting and in this tutorial, we’ll show you exactly how to do this. We’ll also show you how to generate JSON Web Tokens (JWT) on a Node.js server backend that can be used to authenticate and authorize users, as well as how to store those tokens on the client NativeScript application.Read More
In a recent tutorial I demonstrated querying a GraphQL API from a Vue.js web application, but what if we wanted to explore something with an Android or iOS mobile application?
In this tutorial we’re going to see how to create an iOS and Android mobile application using NativeScript and Angular and then query a GraphQL API from that application using numerous methods.Read More
Something that any application should be concerned with is performance. One way to look at performance is via profiling. Most IDEs and platforms provide tools to profile your application to take a look at detailed system information about various parts of your application. With Android applications you can execute an
adb command to generate a very thorough snapshot of the graphics information and that’s what we’re going to look at in this post.
When it comes to mobile development, Android has always been a pain to deal with. While iOS has a terrible deployment to production experience, Android has a terrible installation and configuration experience.
I’ve been developing Android applications since before hybrid web and cross-platform native were a thing and up until recently, the Android installation experience has been unchanged. However, now things are different with a heavy push towards Android Studio and less towards the command line interface (CLI).
If you’re like me and feel that Android Studio has no business in your NativeScript workflow, you’re probably still interested in the Android CLI’s less than ideal experience. We’re going to see how to get setup on macOS with not only the Android CLI, but also the various packages and appropriate simulators for NativeScript development.Read More
I’ve been a mobile application developer since 2010 and I’ve played around with my fair share technologies and frameworks. While I’ve developed applications that can be safely classified as vanilla native or core native using Java, I’ve spent most of my time developing cross platform applications for Android and iOS using frameworks such as Ionic Framework and NativeScript that support web technologies.
The convenience of cross platform development with web technologies doesn’t come without penalty for certain frameworks. After all, mobile development frameworks can be split into a hybrid web category which act as web applications bundled into a mobile application and a native mobile category which act as web applications compiled into a mobile application. The difference being in my use of bundled vs compiled.
We’re going to see some of the problems that developers face when choosing to use a hybrid development framework such as, but not limited to, Ionic Framework vs a native development framework such as NativeScript.Read More
We’re going to see how to take a NativeScript application that uses Vue.js and build an Android binary for release using a signing key and some command line magic.Read More
When it comes to hybrid mobile application development, there is always discussion around the performance of said applications. While hybrid mobile applications have come a long way in terms of performance since the early days, they still can’t quite live up to the performance expectations that are delivered in a native application.
We’re going to take a look at why hybrid applications suffer in the speed department and how other similar frameworks such as NativeScript can take your applications to the next level without severe changes to design or development.Read More