HTML5 shines when you add JavaScript or Jscript. You'll be able to create dynamic HTML5 web pages that are more engaging.
HTML5 Javascript
-
Getting Started with Deno
Diogo Souza takes you on dive into the universe of Node.js competitor Deno.
-
An Introduction to JSON Web Tokens (JWT)
Diogo Souza walks you through what JSON Web Tokens are and how JWTs work.
-
Working with Redux for State Management in Front-End Apps
Diogo Souza walks you through the use of Redux and how it can be used to power your front-end application's state.
-
Getting Started with Material Design and Vuetify
Diogo Souza explores how to use Vuetify and Vue.js to create a small application to read data from an account in GitHub.
-
Infinite Scrolling the Angular 6 and RxJS Way!
An infinite-scroll-list is one that loads content asynchronously when the user scrolls down to a certain point in the viewport. Rob Gravelle presents a solution that combines Angular's EventManager with RxJS's Observable and Subject classes.
-
Dynamically Adding and Removing Event Handlers with jQuery
Rob Gravelle shows us how to easily bind and remove event handlers using a little jQuery.
-
Serve External Content from Your Express.js Apps
Rob Gravelle presents how to serve up weather information from a public API using Express.js and the request, fetch, and request-promise-native node libraries.
-
Google Chart API: First Steps
Diogo Souza shows you how to create charts using the Google Chart Tools library, a simple but very powerful library. Learn how to draw and interact with various types of charts.
-
So You Want Typed Arrays in JavaScript…
With Typed Arrays you can reduce the number of steps needed to work with typed data. This is helpful when using JavaScript with APIs. Get started with typed arrays now.
-
Creating Chained DropDownLists with AngularJS
Learn to load select nested elements via cascading load within AngularJS.
-
Working with Services in JavaScript
Learn how to create new services, as well as use factories, to spread functionalities alongside your JavaScript code.
-
Making D3.js Charts Interactive
The Generate a Bar Chart with D3.js tutorial showcased D3's SVG capabilities by producing a stunning bar chart with a relatively small amount of code. In today's article, we'll add custom tooltips to our chart.
-
File Operations with Node.js
Node.js provides an entire module dedicated to file system operations. Rob Gravelle introduces us to a few of them.
-
Navigating HTML5 Geolocation
Octavia Anghel shows you how to to use the HTML5 Geolocation API to determine the location of a user.
-
5 New jQuery Techniques for Creating a Better User Experience
Madan Pariyar focuses on five new jQuery techniques for creating a better user experience.
-
Manipulate DOM Elements Without Writing JavaScript Code
No.js is an extremely lightweight JavaScript library that allows you do DOM manipulations without writing any JavaScript whatsoever. If that idea appeals to you, then read on and let Rob Gravelle demontrate what No.js can do for you!
-
Generate a Bar Chart with D3.js
In the last article, we used the D3.js library to display the contents of a CSV data file within a dynamically generated HTML table. This time around, we're going to step things up a notch by producing a slick SVG bar chart from a JSON data set.
-
Getting Started with Grunt.js
Learn how to automate simple build tasks with the help of Grunt.js.
-
The Model-View-ViewModel Pattern and Angular Development
Rob Gravelle shows how Angular follows a component-oriented architecture, while sharing some of the concepts of both MVC and MVVM by presenting a couple of coding examples.
-
Bring Your Data to Life with D3.js
D3 is a JavaScript library for producing dynamic, interactive data visualizations in any web browser. Rob Gravelle shows us how to use D3 to display the contents of a CSV data file within an HTML table.
-
Building Universal Vue.js Applications with Nuxt.js
Universal JavaScript is a type of JavaScript code that can execute both on the client and the server. Rob Gravelle explains how to generate a Universal Vue.js app using the Nuxt.js starter template.
-
Build Better UIs with Vue.js
Among the myriad of new web frameworks, Vue.js has been among the most popular amongst developers. We were first introduced to the Vue.js framework in the Getting Started with Vue.js article. Now, we're going to look at the structure of a Vue Component and build our own.
-
How to Access a Single HTML Element on a Web Page
One of the quickest ways to get an element on a web page is by using the JavaScript getElementById() method found within the document object model.
-
Create a React Web App in Visual Studio Code
There are a number of JavaScript frameworks that promise to make developing web apps for both browsers and mobile devices easier, faster, and with superior results. Rob Gravelle familiarizes you with the ReactJS library and Microsoft's Visual Studio Code IDE, which boasts React IntelliSense and code navigation out of the box!
-
Set Up Eclipse to Work with the Sencha Ext JS Web App Framework
The Sencha Ext JS Web App Framework helps you build data-intensive, cross-platform web apps for desktops, tablets, and smartphones. Rob Gravelle provides a brief overview and shows us how to configure Eclipse to work with it.
-
Bind Data to Your Web Forms with EmberJS Models
In the Working with Data Models and Routes in EmberJS article, we saw how to add Routes to our Sakila Video store app to link the pages of our app together. Then, in How to Link Between EmberJS App Pages, we created a navigation bar component to display site links at the top of every page. Now, it's time to bind a model to the rentals page in order to display available videos.
-
Getting Started with Vue.js
Vue is a progressive framework for building user interfaces. Rob Gravelle examines the different ways to use Vue in your projects.
-
Creating Beautiful Customized Alerts with SweetAlert2
Learn how to create beautiful and user-friendly alerts for your web applications.
-
Top Navigation Bar Widgets for 2018: Bootstrap and jQuery Mobile
In this series, Rob Gravelle presents some good components that you can use to make your Navbars look and behave optimally in any size viewport. Bootstrap and jQuery Mobile are the subjects of today's installment.
-
JavaScript Prototypal Inheritance in 2018
With somewhat lackluster browser support, it might be a tad premature to jump on the ES6 class syntax bandwagon. Instead, Rob Gravelle takes another look at Prototypal Inheritance, and explores its specific advantages and disadvantages.
-
Implementing the Blockchain in JavaScript
Learn how to implement a simple Blockchain in JavaScript using crypto.js.
-
Using Built-in JavaScript Code with JavaScript Objects
See how to use existing objects in JavaScript to reduce your coding time.
-
Duck Typing in JavaScript
In Duck Typing, an object's suitability is determined by the presence of certain methods and properties, rather than according to its type. Rob Gravelle traces the evolution of Duck Typing in JavaScript and explores some situations where we can apply Duck Typing for our own objectives.
-
Top JavaScript Libraries and Trends for 2018
Learn more about the tools that JavaScript developers use every day to make sites look professional, engage the audience and enhance the UX.
-
A Guide to Responsible Monkey Patching in JavaScript
Learn about the basics of Monkey Patching in JavaScript, such as updating an existing function with new functionality that builds on the existing implementation. Rob Gravelle also offers a few tips on when, and how, to go about it.
-
Creating an Expandable List of Items in HTML with JavaScript
See how to use standard JavaScript to hide and display items in a list.
-
Testing Asynchronous jQuery Event Code Using the Jasmine-jQuery Library
In this tutorial, Rob Gravelle picks up from where he left off in the last article and presents a few ways to test jQuery Ajax Success handler code triggered by an anonymous button click handler.
-
7 Ways to Start Learning JavaScript as a WordPress Developer
See why, if you are looking to become a successful WordPress developer, you must learn how to use JavaScript.
-
Fetching jQuery Autocomplete Matches via Ajax
Rob Gravelle shows us how to use the jQuery Autocomplete Widget's source event to perform a search of complex data via an Ajax request.
-
Cross-Browser JavaScript Tips
Take advantage of these tips to make sure that your JavaScript code can be executed in multiple browsers, ensuring that your application is cross-browser compliant.
-
How to Link Between EmberJS App Pages
EmberJS uses the {{link-to}} component for navigating from one route to another. The "Working with Data Models and Routes in EmberJS" tutorial described how to setup several routes. Today, we'll add a navigation bar to our app.
-
So You Want a Floating or Pop-up Window
See how to dynamically display a new window from your current HTML Web page using JavaScript.
-
Testing HTML5 Web UIs with Jasmine-jQuery
Wojciech Zawistowski's jasmine-jquery add-on library for the Jasmine JavaScript testing framework provides a set of custom jQuery matchers for DOM elements as well as a versatile fixture loader. Rob Gravelle describes how to use it to overcome UI testing challenges such as anonymous event handlers and asynchronous calls.
-
How to Search a JavaScript String Array Using a Binary Search
The binary search algorithm is just the thing for searching through a long list of sorted items. Rob Gravelle describes two binary search functions that are well suited to a variety of applications, including String searches.
-
The Advantages of Backwards Iteration as Demonstrated in JavaScript
There have been many of exchanges between JS developers on the efficacy of backwards looping versus the usual forward kind. The purpose of this tutorial is not to put every loop type to the test. Rather, Rob Gravelle describes what kind of scenario might logically benefit from backwards iteration and how to recognize such a situation should you come across one in the future.
-
How to Animate Your Website Using the HTML5 Canvas
With the Canvas HTML5 API, you can write JavaScript code that can access the canvas area through a set of drawing functions, resulting in dynamic generated graphics.
-
AngularJS Component Frameworks: Introducing PrimeNG
Learn how to create a simple "Hello HTMLGoodies" example using AngularJS 2 and PrimeNG UI components.
-
Tips for Improving JavaScript Performance
Take advantage of the best practices and tips that can be adopted to improve JavaScript performance to help you build applications that are fast, responsive and can scale.
-
Making the Most of Components with Angular 2
Understand Angular's support for a component-based architecture and how to leverage it in your applications.
-
6 Things to Consider When Using jQuery with WordPress
Get some tips on how to get the most out of using jQuery and WordPress together to build a great site.
-
Getting Started with ReactJS
Take advantage of ReactJS, a declarative, efficient, and flexible JavaScript library for building composable user interfaces.
-
Build a Custom HTML5 Audio Player with a File Selector
Explore how to create a custom HTML5 Audio player that loads music from the user's device using a file input control.
-
Updating HTML Table Content Using JavaScript
Query's outstanding DOM manipulation functions greatly simplifies working with HTML tables. Rob Gravelle explains how to get, set, and update a cell's content on the fly.
-
Take Advantage of New Features in AngularJS 2
Take advantage of the updates in Angular 2 to build applications that are fast, responsive and can run seamlessly on Web and mobile browsers alike.
-
Best Practices for Combining JavaScript with HTML
Discover some best practices for combining JavaScript with HTML
-
JavaScript Framework Fundamentals
Gain some insight into JavaScript frameworks and when to use them — or not.
-
Gaming and the Web
Explore this overview of gaming and the web and take a look at best practices, hardware requirements, necessary Internet bandwidth, and more.
-
Create an HTML5 Initializr-based Subscription Page in Aptana Studio 3
Initializr is an HTML5 templates generator that customizes HTML5 Boilerplate. In this tutorial, we'll employ Initializr to build a single page Web app that submits the user's email to a server-side PHP script for the purposes of subscribing to an email newsletter.
-
JavaScript Frameworks that will Rule 2017
Without a doubt, 2017 is poised to be another year of exponential growth for JavaScript, along with its frameworks and libraries.
-
Build an HTML5 Image Uploader with DropzoneJS
DropzoneJS is an open source library that provides drag n' drop file uploads with image previews. Rob Gravelle describes the steps to recreate the main page demo.
-
Create Custom Controls for your HTML5 Video Player
In the Build an HTML5 Video Player tutorial, Rob Gravelle showed us how to build an HTML5 player. In today's follow-up, we will implement a slider volume control, seeking and full screen viewing capabilities, as well as Access Keys.
-
The Top HTML5 Canvas Game Engines
The HTML5 canvas element brought many options to the table for game programming, combined with some JavaScript and 2D graphics and just about anyone could build games that run in any web browser. Lets take a look how to do it.
-
Drag Files Into the Browser From the Desktop using jQuery Event Binding
The jQuery library manages browser inconsistencies so that we can focus on the problem at hand. With that in mind, Rob Gravelle presents a jQuery-enhanced version of the code from his Drag Files Into the Browser From the Desktop with HTML5 tutorial.
-
Augmented Reality APIs are Here
That exciting new avenue of Augmented Reality (AR) and in today's article, we'll take a look at a couple of the most prolific JS libraries to help us implement this new technology.
-
A Guide to Online Address Parsers
In the first installment of a guide to online address parsers, Rob Gravelle attempts to determine how address-parser.net and Texas A&M GeoServices fare against a list of varied but well-formatted addresses.
-
Build an HTML5 Video Player
In this article, we'll design a couple HTML5 video players using nothing more than some basic HTML controls, a little CSS, and JavaScript.
-
Build an HTML5 Audio Player
Before HTML5 arrived on the scene, there was no standard for playing audio files on a web page. Now, the HTML5 audio element specifies a standard way to embed audio in a web page.
-
Understanding How HTML5 Validation Works
In this article, we take a look at how and when the data validation process works in the with HTML5 and JavaScript, and will learn about support for validation in HTML5 powered web pages.
-
Building a Better toString() Method
The humble toString() method is widely implemented across numerous programming languages. It provides a simple and convenient mechanism for representing an object's state in readable form. Rob Gravelle shows you how to write a dynamic toString() in Java.
-
Automate Form Submissions using Bookmarklets
There are a myriad of uses for Bookmarklets. Rob Gravelle explains what they are, how they work, and how to use them to automatically fill out and submit a form one time or a thousand times over!
-
Create a Java Enterprise Application Controller in Eclipse
Rob Gravelle adds a Servlet Class to the Persistence in Java EE Applications "Exercises Catalog" application that will accept requests from the browser and invoke a DAO method accordingly.
-
Extending the Vaadin Mobile Application Framework's Built-in Themes
Previously you saw how Vaadin uses Sass's ("Syntactically Awesome Style Sheets") CSS3 extension format to apply styling themes to its applications. Now Rob shows you how to employ a custom theme.
-
Getting Fancy with the JavaScript For Loop
Rob Gravelle shows how to use the comma to extend each of the for loop statement's three evaluation parts - initialize, condition, and increment - to take your for loops to a whole new level.
-
Apache Cordova Persistence Options
The Apache Cordova Mobile Framework relies entirely on web technologies such as HTML, CSS, and JavaScript to create cross-platform mobile apps. Rob Gravelle explains how Apache Cordova's use of client-side technologies opens up a wealth of storage possibilities.
-
Display Array Data in an a Tabular Format
Presenting information in a table is a great way to separate categories, sort elements, as well as maximize screen real estate. In today's article, Rob Gravelle shows how to dynamically transform the contents of a one-dimension array into an HTML table on both the server and client, using PHP and JavaScript respectively.
-
Moving Meta Boxes in the WordPress Editor
Using a combination of Wordpress filters and action hooks, it is possible to set the number of columns on an editor screen, as well as arrange the order of meta boxes within a column. Rob Gravelle builds on the Intro to WordPress Meta Boxes article and demonstrates how to force a single column layout as well as position the meta boxes within the column.
-
Working with Inline Event Handlers
There is a distinct possibility that you will have to deal with inline event handlers at some point. In today's article, Rob Gravelle explains how to add, modify, and remove inline event handlers using jQuery-assisted JavaScript.
-
Adding Patterns and Animations to HTML5 Progress Bars
The addition of the Progress element to the HTML5 spec has opened a whole new avenue for providing visual feedback on long-running tasks. Rob Gravelle show how to employ advanced CSS3 properties to do things that Web developers could once only dream of.
-
Let’s Get Started Building JavaScript and HTML5 Powered Windows 8 Apps
This article walks web developers through building HTML5 and JavaScript powered applications that can run on Windows 8, Microsoft touch oriented operating system.
-
A Roundup of Popular JavaScript Date Parsing Libraries: Moment.js
Rob Gravelle demonstrates how to use the Moment.js library to parse dates from a string while highlighting potential gotchas with regards to GMT offsets.
-
Testing For Variable Emptiness In JavaScript
In general terms, a variable is said to be empty when it has been declared, but not assigned a value. In most languages, that equates to having a value of null. In JavaScript, unset variables are assigned a default value of undefined. Rob Gravelle presents a few functions that test a variable for emptiness using various approaches.
-
Date Parsing using JavaScript and Regular Expressions
Rob Gravelle describes what JavaScript's Date constructor and parse() methods look for in a date string and presents some regular expressions that can be utilized to convert a date string into a suitable format.
-
Programmatically Trigger an Application Cache Download
Rob Gravelle shows how to dynamically kick off an Application Cache download via a user action such as a button click.
-
A Few of My Favorite Things About Chrome's JavaScript Debugger
All of the major browsers come with built-in JavaScript debuggers, but they vary in quality. Rob Gravelle highlights some of the Chrome JavaScript Debugger features that make the Chrome browser tops in the area of page testing and debugging.
-
Handling Page Not Found Errors When Using Offline Caching
Using a slash (/) in the Manifest files' FALLBACK section has the unfortunate side effect that typos in the URL path will cause the fallback resource to appear, instead of the 404/500 HTTP errors that should happen when online. Rob Gravelle presents one way of dealing with this issue so that the fallback resource does not come up when the user is in fact online.
-
Referencing Wordpress's Native Ajax Handler in JavaScript
In WordPress, AJAX requests go through wp-admin/admin-ajax.php. Despite the name, you don't have to have administrator privileges to use it. Rob Gravelle describes how to add our JavaScript files to the page in such a way that we can reference the path to admin-ajax.php on the server.
-
Working with Web Workers in HTML5 Powered Web Pages
This article walks web developers through the support for performing background tasks in HTML5 web applications.
-
Add Scripting an HTML5 Web Application Using the Maqetta Editor
In this follow up to the Implement the Dojo DateTextBox Control In an HTML5 Web Application Using the Maqetta Editor tutorial, Rob Gravelle presents the code to calculate the years of service based on the start and end dates, as well as how to control the visual aspects of the web app, including the form layout and theme.
-
Responding to Ajax Calls Using Servlets
In the Calling Servlets Using Ajax article, we learned how easy it is to bind an Ajax call to a Java Servlet to a button. In today's follow-up, we'll be writing the Java code, modifying the web.xml, and trying out our new Web app.
-
Detecting Browser Event Support
With so many vendor-specific and partially supported native event types available nowadays, it helps to be able to tell which browsers supports a given event. Rob Gravelle demonstrates a few such techniques, without resorting to inconsistent browser sniffing.
-
Implement the Dojo DateTextBox Control In an HTML5 Web Application Using the Maqetta Editor
In this follow up to the Create an HTML5 Desktop Application in the Maqetta Editor article, Rob Gravelle explains how to work with Dojo DateTextBox control properties to change the date display format as well as perform various validation checks. You'll also get better acquainted with the Palette and Property tabs of the Maqetta editor.
-
A 5 Minute Overview of All New JavaScript APIs in HTML5
A lot has changed over the years in the HTML space in terms of supported markups. This article walks readers through all the new JavaScript APIs referenced in the HTML5 specification.
-
Introducing the Maqetta HTML5 Editor
Maqetta is an open source initiative of the Dojo Foundation that provides WYSIWYG web development in the cloud or locally. Moreover, it supports drag & drop assembly of live UI mockups, including HTML5 components. In today's article, Rob Gravelle gives Maqetta a once-over to test its design capabilities.
-
Using the done() Method in Your Jasmine-driven Asynchronous JavaScript Tests
Jasmine.Async is an add-on library for Jasmine that provides additional functionality to do asynchronous testing. Modeled after Mocha's async test support, it brings the done() function to the Jasmine unit testing environment. Rob Gravelle shows how the Jasmine.Async library makes your asynchronous process tests easier to write.
-
Add External JS Libraries to Eclipse JSDT-driven Projects
In the Scripting Made Easier with the Eclipse JavaScript Development Tools (JSDT) article, Rob Gravelle demonstrated how to utilize the Eclipse JSDT plugin to enhance the development of a Static Web Project. In today's follow-up, Rob explores a couple of strategies for integrating third party JS libraries into your project, such as jQuery and qooxdoo.
-
Scripting Made Easier with the Eclipse JavaScript Development Tools (JSDT)
The JavaScript Development Tools (JSDT) plug-in supports the development of JavaScript-powered applications as well as JavaScript within traditional web applications. In today's article, Rob Gravelle demonstrates how use the JSDT plugin to enhance the development of a static web project.
-
Test Asynchronous Methods Using the Jasmine runs() and waitFor() Methods
In the Testing Ajax Event Handlers using Jasmine Spies article, we saw how the use of Jasmine spies for testing Asynchronous processes. In today's article, Rob Gravelle demonstrates how to use the Jasmine runs() and waitFor() methods, which were both created to test asynchronous Ajax calls where the practical implementations of the HttpXmlRequest and/or the network connection need to be included.
-
Testing Ajax Event Handlers using Jasmine Spies
JavaScript has several methods that execute asynchronously, such as setTimeout(), Ajax calls, as well as event-driven processes. These examples all have to wait until the current execution thread comes to an end and surrenders to the next event, making asynchronous processes hard to test. Fortunately, the Jasmine JS testing library comes equipped with a couple of tools for handling callbacks.