The Wonderful Wide World of webpack: Unpacking Awesomeness

Aaron Diffenderfer Articles, Development Technologies & Tools, JavaScript Leave a Comment

In the past couple of years, webpack has come a long way. It continues to rapidly evolve and revolutionize the way we bundle JavaScript and more. For some of us that have been doing development for more than a few years, seeing an amazing tool like webpack and all of its abilities is mind-blowing. If only it had come into existence a bit sooner…

If you’re like me, you may have stumbled acrossย webpack, hearing about its gazillion configuration options, along with a bunch of plugins, numerous ways to optimize your bundle, and more. So much that it all makes your head spin and you begin to feel overwhelmed as you attempt to make sense of it. Thatโ€™s honestly how my journey began with Webpack.

My first exposure to it…Ejecting the webpack.config.js file from an AngularCLI project just to see what the all the hype was about and to see what I had been missing out on the past few years. After getting past the initial shock of the number of lines of code and the seemingly large structure (how I felt after my first few glances, having to shield my eyes and take a few deep breaths), I started to see many of the benefits. This continued as I read through the webpack documentation, various blogs, and StackOverflow (every developer’s most-accessed site) and as I began trying out a variety of configurations for some actual projects.

As I discovered, webpack can be used with zero config or configured literally in 8,675,309 ways, plus or minus a handful. And there about just as many blogs that cover all of the variations and flavors.

In this post, however, the goal is to highlight some tips & tricks along with features I’ve found to be particularly useful and reasons why you should be using webpack – if you haven’t already started…

Showcase of React + Redux Web Application Development

Jian Li Articles, JavaScript, React, Single-Page Application, Tutorial Leave a Comment

In the last few years, React has continuously gained popularity for the development of web applications. At Keyhole, we have several blogs talking about React and related technologies, including React, Formik, react-router, and many others.

So why would we need Redux? Quite often when we develop applications, we start with small pieces. As the business requirements change, new features/modules/components are added/removed/updated. Particularly in enterprise applications, you may end up with a deep hierarchy of parent-child relationships.

In a React application, parent component-states are passed down to its child component as property. Application states can be changed in many different places. If not managed perfectly (and, in many cases, itโ€™s not), your system can behave differently than expected. It can become increasingly difficult for development, debugging, production support and code maintenance.

In this blog, Iโ€™ll talk about Redux and explain how it can benefit React front-end development. Iโ€™ll provide an introduction to using Redux with React and show a demonstration of reconstructing an example React application to React + Redux.

Iโ€™ll re-construct this React application into two projects. The first project will be the back-end server application which will handle all the typical business in the server end, like registration, authentication, database operation, etc. Iโ€™ll use MongoDB to persistent data and Node.js for REST API development. You can also reference RESTful API development to the Github repository open source khs-convo, released by Keyhole Software.

The second project will be pure front-end development, which will React with Redux for state management. React with Redux integration is the focus of this blog…

Keyhole Labs Releases KHS {Convo} Under Open Source License

Lauren Fournier Bogner Articles, Company News, Conversational Apps, Keyhole Creations 1 Comment

Keyhole Labs has announced its release of the KHS {Convo} conversational application development platform under anย Apache 2.0ย open source license. Development teams can now use and modify KHS {Convo} for their own uses (even commercially) using the open source platform.

KHS {Convo} is a Node.js based platform for creating SMS text message and web-based conversational experiences. It was created by our team at Keyhole Labs.

What’s a Conversational Application? A Conversational Application provides a messaging interface for a personalized conversation between your company and a user. The ad hoc interaction is designed to provide hyper-relevant & personalized content via automated SMS text messaging that doesnโ€™tย feelย automated.

For more information, please visit…

One Router to Rule Them All: React Router

Mat Warger Articles, Development Technologies & Tools, JavaScript, React Leave a Comment

Previously, we looked at a very basic example of how one can benefit greatly by using community projects such as Formik to avoid the tedium of certain solutions while embracing convention to create composable and scalable applications. We will be build on that foundation to explore the objectively great library that is React Router.

React Router has been at the forefront of routing in the React ecosystem for as long as I can remember. If youโ€™re new to React, this is the way to go when you move state and start needing more options such as parameterized routing, nesting, and conditional rendering. If you have experience with React, this brings a powerful pattern to bear in that everything is a component. It takes the composablity of React and uses that to its benefit, handling any and all use-cases with relative ease.

In this blog, weโ€™ll introduce the basics of the React Router through hands-on examples using its features.