![James Hibbard](https://uploads.sitepoint.com/wp-content/uploads/2019/02/1550836753jim1-150x150.jpg)
Network admin, freelance web developer and editor at SitePoint.
James's articles
![Build a Full-stack App with Node.js and htmx](https://uploads.sitepoint.com/wp-content/uploads/2024/03/1710718181htmx-full-stack-300x170.jpg)
Learn how to craft a full-stack CRUD application using Node and Express for the backend and htmx for the frontend.
![React Router v6: A Beginner’s Guide](https://uploads.sitepoint.com/wp-content/uploads/2020/10/1699399770react-router-v6-300x180.jpg)
Learn how to navigate through a React application with multiple views with React Router, the de facto standard routing library for React.
![Delay, Sleep, Pause & Wait in JavaScript](https://uploads.sitepoint.com/wp-content/uploads/2019/11/1651456891js-delay-sleep-pause-300x158.jpg)
Learn how to create a sleep function in JavaScript for pausing code execution, given no built-in sleep() function for delaying program flow.
![How to Create a Chrome Extension in 10 Minutes Flat](https://uploads.sitepoint.com/wp-content/uploads/2015/04/1693184348build-chrome-extension-300x170.jpg)
Learn how easy it is to build your own Chrome extension in five straightforward steps as we walk through a practical extension for ChatGPT.
![An Introduction to htmx, the HTML-focused Dynamic UI Library](https://uploads.sitepoint.com/wp-content/uploads/2023/08/1691144504htmx-introduction-300x170.jpg)
Learn what htmx is, how it simplifies dynamic web development, and how you can harness its potential to enhance your web development process.
![10 Zsh Tips & Tricks: Configuration, Customization & Usage](https://uploads.sitepoint.com/wp-content/uploads/2019/12/1693200427zsh-command-line-300x170.jpg)
Learn how to install zsh, get the most out of the Oh My Zsh framework, configure plugins, and learn a variety of productivity-enhancing zsh techniques.
![Build a Simple Beginner App with Node, Bootstrap and MongoDB](https://uploads.sitepoint.com/wp-content/uploads/2020/02/1688434345node-beginner-app-300x170.jpg)
Learn how to build a no-frills web app using Node.js, focusing on issues you’re likely to encounter when building a real-world app.
![Demystifying JavaScript Operators: What Does That Symbol Mean?](https://uploads.sitepoint.com/wp-content/uploads/2023/06/1687756486javascript-operators-300x170.jpg)
Learn how JavaScript operators work, understanding what they're for, how to use them, and how they help in building complex expressions.
![Understanding module.exports and exports in Node.js](https://uploads.sitepoint.com/wp-content/uploads/2018/08/1574730742exports-300x157.png)
How to work with modules in Node.js how to export and consume them, and explaining the difference between module.exports and exports.
![A Beginner’s Guide to JavaScript async/await, with Examples](https://uploads.sitepoint.com/wp-content/uploads/2023/01/1673493260javascript-async-await-300x170.jpg)
Learn all the tricks and techniques for using the JavaScript async and await keywords to master flow control in your programs.
![What are Callbacks in JavaScript?](https://uploads.sitepoint.com/wp-content/uploads/2017/06/1668566696javascript-callbacks-300x170.jpg)
Learn what JavaScript callbacks are, how they work, their different types, how to create them, and how to employ them in your own code.
![The 5 Most Popular Front-end Frameworks Compared](https://uploads.sitepoint.com/wp-content/uploads/2018/08/1618034470popular-js-front-end-frameworks-300x158.jpg)
Learn about the features, the pros and the cons of the five most popular JavaScript front-end frameworks, and how to choose the one that's right for you.
![How to Loop Through a JSON Response in JavaScript](https://uploads.sitepoint.com/wp-content/uploads/2021/03/1616287933loop-300x158.jpg)
Data fetched from remote servers is often in JSON format. Learn how to use JavaScript to parse the server's response.
![How to Bundle a Simple Static Site Using Webpack](https://uploads.sitepoint.com/wp-content/uploads/2020/10/1603371426webpack-static-site-1200-300x158.jpg)
You don't need to be working on a fancy, large-scale project to use Webpack. James Hibbard demonstrates how you can use it to bundle a simple static site.
![Managing Dates and Times in JavaScript Using date-fns](https://uploads.sitepoint.com/wp-content/uploads/2017/07/14991591242017.06.28-Date-fns-300x167.png)
Learn date-fns, a functional date library, and a lightweight alternative to Moment.js. With 130+ functions for all occasions, it's like Lodash for dates.
![setTimeout JavaScript Function: Guide with Examples](https://uploads.sitepoint.com/wp-content/uploads/2015/08/1476830355set_timeout_2-01-300x167.png)
Learn how the JavaScript function setTimeout() works, how it can be used with other libraries like jQuery, and see examples.
![Build a Chrome Extension to Streamline Your Workflow](https://uploads.sitepoint.com/wp-content/uploads/2020/04/1585789357chrome-extension-300x170.png)
James Hibbard demonstrates how to build a Chrome extension to add additional functionality to WordPress, and introduces SitePoint's SP-Tools editor extension.
![10 Projects to Get You to Your First Dev Job in 2020](https://uploads.sitepoint.com/wp-content/uploads/2020/03/1583794075dev-job-300x170.png)
James outlines the skills that will help you land your first dev job, suggesting 10 projects you can build to get started.
![75 Zsh Commands, Plugins, Aliases and Tools](https://uploads.sitepoint.com/wp-content/uploads/2020/03/1583201866zsh-commands-300x170.jpg)
We share 75 Zsh commands, plugins, aliases and tools that will save you keystrokes and make you more productive in your day-to-day work.
![What Is Node and When Should I Use It?](https://uploads.sitepoint.com/wp-content/uploads/2018/01/1581568431node-300x170.png)
James Hibbard offers a beginner-friendly, high-level introduction to Node.js, explaining its purpose and when you should consider using it in your projects.
![Using MySQL with Node.js and the mysql JavaScript Client](https://uploads.sitepoint.com/wp-content/uploads/2018/01/1579220934node-mysql-300x157.png)
This guide shows how to use the mysql module to connect to your database and perform basic CRUD operations.
![How to Set Up a Vue Development Environment](https://uploads.sitepoint.com/wp-content/uploads/2019/06/1560393349dev-environment-300x169.jpg)
Learn how to configure VS Code to work with Vue, lint and format your code, and use Vue’s browser tools to see at what’s going on under a Vue app's hood.
![Master Modern JavaScript with This Curated Reading List](https://uploads.sitepoint.com/wp-content/uploads/2019/07/1564553401artem-sapegin-ZMraoOybTLQ-unsplash-300x200.jpg)
Here are my handpicked selection of books from SitePoint Premium, intended to help you well on your way to mastering modern JavaScript.
![10 Top Chrome Extensions for Your Web Development Workflow](https://uploads.sitepoint.com/wp-content/uploads/2019/06/1560320305carlos-muza-84523-unsplash-300x214.jpg)
Today I'm going to present ten Chrome extensions that are geared to optimizing your web development workflow and making you that little bit more productive.
![How to Build a Chrome Extension with Vue](https://uploads.sitepoint.com/wp-content/uploads/2019/05/1559166277bjorn-simon-418-unsplash-300x220.jpg)
James Hibbard shows how to build a simple Chrome extension, which alters the behavior of the new tab page, using the Vue.js framework.
![A Guide to the Pug HTML Template Preprocessor](https://uploads.sitepoint.com/wp-content/uploads/2019/04/1556504110pug-300x197.jpg)
Pug is a preprocessor that speeds up writing HTML. Learn the syntax and features by building a simple Node project with Pug.
![6 jQuery Form Wizard Plugins](https://uploads.sitepoint.com/wp-content/uploads/2016/12/1481198609dropwizard-crud-300x196.jpg)
jQuery Form Wizard is a jQuery plugin for creating form wizard or form flow without refreshing your page or webpage. We have listed 6 of them in this post.
![How to Write Shell Scripts with JavaScript](https://uploads.sitepoint.com/wp-content/uploads/2017/05/1493630836Nautilus-shell-300x200.jpg)
JavaScript is well suited to desktop scripting tasks. James Hibbard looks at how you can leverage JavaScript's power to write your own shell scripts.
![How Do You Keep Your JavaScript Dependencies Up-to-date?](https://uploads.sitepoint.com/wp-content/uploads/2017/04/1491201235digital-skull-and-crossbones-300x193.jpg)
A recent report indicated that outdated JavaScript dependencies on the web could pose a bigger problem than previously thought. James Hibbard takes a look.
![What Is the Best Book for Learning JavaScript?](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488480131books-300x200.jpg)
What is the best book for learning JavaScript? Check out some favorites, outlining their target audiences & their strengths and weaknesses.