When building a mobile application, there are often scenarios where you need to storage files remotely and when I say files, I don’t mean database data. For example, maybe you want to develop an image manager or photo storage solution like what Facebook and Instagram offer? There are many solutions, for example you could store the files in your database as binary data, or you could store the files on the same server as your web application. However, there are better options, for example, you could use an object storage solution to store files uploaded from your mobile application. Popular object storage solutions include AWS S3 as well as the open source alternative Minio.
We’re going to see how to leverage Minio to store images that have been uploaded from an Android and iOS mobile application built with NativeScript and Angular.
Read MoreWhen it comes to API development, there is often a need to protect certain endpoints or rate-limit the API in general. Because you are working with endpoints from clients possibly on a different domain, you can’t authenticate users with sessions and cookies. It would also be a bad idea to pass around a username and password with each request. Typically endpoints are protected with tokens that are passed with each request and these tokens are often JSON Web Tokens (JWT) that work very well.
We’re going to see how to create a very simple API using Node.js with protected endpoints that require a valid JWT in order for requests to succeed.
Read MoreIf you haven’t already gotten involved with it, you’ll probably know that TypeScript is becoming increasingly popular. Being able to use a superset of JavaScript in a typed language that compiles down to JavaScript is a great thing. However, if you’ve ever played around with TypeScript and tried to use JavaScript libraries, you’ll probably know that sometimes it can be a real pain. Often JavaScript libraries do not ship with type definitions which are critical when it comes to playing nice with TypeScript.
If you’ve been keeping up with The Polyglot Developer you’ll probably remember two posts that were created. Previously I had written about including external JavaScript libraries in an Angular application as well as adding type definitions to external JavaScript libraries in TypeScript.
We’re going to revisit these two articles and explore all the ways to include JavaScript libraries in TypeScript applications. These include applications built with NativeScript, Ionic, and Angular.
Read MoreThe recent Amazon S3 outage that took down much of the internet inspired me to talk about alternatives. Not too long ago I wrote about an open source object storage software called Minio and how I was using it on my Raspberry Pi for backups. The great thing about Minio is it shares the same APIs as AWS S3, but can be deployed to your own hardware, eliminating Amazon as a dependency.
This time around I thought it would be great to share how to use Minio as an object storage for a Node.js application that uses the middleware, Multer, for handling file uploads.
Read MoreOne of the common misconceptions in the web world is that RxJS is an “Angular 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.
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.
Read MoreWe’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.
Read MoreBy now you’re probably aware that I’m all about Amazon Alexa skills since I’m a proud owner of an Amazon Echo. I had released a Alexa skill called BART Control and published a guide on creating a simple skill with Node.js and Lambda. If you went through my Node.js and Lambda guide you probably found it pretty painful to test the skill you were working on. The constant building and uploading to Lambda could easily get out of control. What if I told you there was a much simpler way that could save you a ton of time?
We’re going to take a look at adding test cases for testing an Alexa skill offline without ever having to upload the skill to Lambda.
Read More