Advanced Node.js Process Management with PM2

Matthew Brown JavaScript, Node.js, Technology Snapshot, Tutorial 1 Comment

If you’ve worked on any front end applications recently, you have likely had some contact with a Node/Express application. What you may not be familiar with is how these applications are managed in production.

I recently had a project where I needed to set up a Node application on an AWS server. I needed a tool to solve the technical challenges of managing the Node processes and deploying the application in a very efficient manner.

I chose PM2, which is a handy process management tool for running Node.js applications in production environments. PM2 provides a simple command line interface that makes it easy to get started. This powerful Node module has tools for managing application processes, logging, and more.

In this article, I provide an introduction to PM2, showing why it is such a valuable tool for managing Node.js applications. By way of a reference example application, we show the basic features and commands for using PM2 and give examples of generating configuration files for both running and deploying applications.



The Joy of Forms with React and Formik

Mat Warger JavaScript, React, Technology Snapshot, Tutorial Leave a Comment

React is a JavaScript library for building user interfaces. That’s it. It’s a way to use JavaScript to define UI elements based on user-defined properties and internal state.

It has a clean, functional style. You can create simple components that compose very well into larger components, which you can then use to compose pages and entire applications. This simple composability is one of the main reasons I enjoy working with it.

But, it is not an application framework. It doesn’t pretend to be. This can be useful when all you want is some quick UI. But, as the application grows, you will need to depend on outside libraries for things like state-management, routing, and forms.

In this article, learn how to handle form input with React, from basic form input using simple state through advanced form components using Formik….



Getting to Know Custom CSS Properties

Lawrence Chabela CSS & HTML, Technology Snapshot Leave a Comment

CSS custom properties are very powerful way for you to spice up your style sheets. They are a way to separate JavaScript behavior and styling, as shown in the ability to set information in the JavaScript for the CSS to use for its styling.

Even if you’re using a preprocessor for your CSS, there is still a place for CSS custom properties to be directly embedded in your CSS.

In this blog: we introduce custom CSS properties, show why you want to use them, how to define them, and how to change them with and without JavaScript.



See Keyhole at Dev Up 2017

Lauren Fournier Community, Company News Leave a Comment

We are pleased to announce that Keyhole Software is a Platinum Sponsor of the 2017 Dev Up Conference.

Formerly known as the St. Louis Days of .NET and rebranded as Dev Up during the 2015 conference, the 10th annual edition will bring together regional and national IT experts to share their knowledge for technology.

Two speakers from the Keyhole Software team will present topics at this year’s event: Chase Aucoin & Billy Korando…. 



An Example Progressive Web App on Android

RJ Dela-Cruz AngularJS, JavaScript, Mobile, Technology Snapshot Leave a Comment

In my experience, the best way to learn a new technology is to create something tangible with it. I recently sought out to learn Angular and Angular Material. So, I developed an experimental Angular app that uses omdbapi to query Movie Posters. It’s aptly named Movie Poster Finder.

Developing the Movie Poster Finder application, I ran into a thing called PWA, which is also known as Progressive Web Applications. I thought it was really neat that both Android and mobile Chrome treat them as native applications.

In this post, I will show an example Progressive Web Application in action, explaining what I encountered when turning an experimental Angular web application into a PWA.