<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JavaScript on Robert Munn</title>
    <link>/categories/javascript/</link>
    <description>Recent content in JavaScript on Robert Munn</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 16 Oct 2024 22:08:54 -0700</lastBuildDate><atom:link href="/categories/javascript/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Re-Factoring Tip - Clean Up Your Old jQuery Code</title>
      <link>/blog/re-factoring-tip-clean-up-your-jquery-code/</link>
      <pubDate>Wed, 16 Oct 2024 22:08:54 -0700</pubDate>
      
      <guid>/blog/re-factoring-tip-clean-up-your-jquery-code/</guid>
      <description>We&amp;rsquo;ve all written quick and dirty code using jQuery to validate a form, handle click events, and do other trivial tasks on a web page.</description>
    </item>
    
    <item>
      <title>Patterns for ES6 JavaScript modules - Part 4</title>
      <link>/blog/es6-module-patterns-part-4/</link>
      <pubDate>Wed, 14 Aug 2024 21:42:45 -0700</pubDate>
      
      <guid>/blog/es6-module-patterns-part-4/</guid>
      <description>For the last part in my series on patterns for ES6 modules, I thought I would include a pattern that uses named exports in a structure to expose only specific things.</description>
    </item>
    
    <item>
      <title>Patterns for ES6 JavaScript modules - Part 3</title>
      <link>/blog/es6-module-patterns-part-3/</link>
      <pubDate>Thu, 01 Aug 2024 17:25:47 -0600</pubDate>
      
      <guid>/blog/es6-module-patterns-part-3/</guid>
      <description>In Part 1 and Part 2 of this series, I described a couple of my favorite ES6 module patterns.</description>
    </item>
    
    <item>
      <title>Patterns for ES6 JavaScript Modules - Part 2</title>
      <link>/blog/es6-module-patterns-part-2/</link>
      <pubDate>Mon, 29 Jul 2024 00:12:13 -0600</pubDate>
      
      <guid>/blog/es6-module-patterns-part-2/</guid>
      <description>If you have read Part 1 of this series on ES6 module patterns you will recognize this next pattern as a variation of the first pattern, the simple export.</description>
    </item>
    
    <item>
      <title>Patterns for ES6 JavaScript modules - Part 1</title>
      <link>/blog/es6-module-patterns-part-1/</link>
      <pubDate>Sat, 27 Jul 2024 23:50:59 -0600</pubDate>
      
      <guid>/blog/es6-module-patterns-part-1/</guid>
      <description>ES6 Module Patterns Since I started working on the altseven JavaScript framework several years ago, I have adopted a lot of ES6 conventions, including the use of ES6 modules as the standard means of packaging JavaScript files.</description>
    </item>
    
    <item>
      <title>Understanding the View Component of the altsevenJS framework</title>
      <link>/blog/understanding-the-altseven-view-component/</link>
      <pubDate>Fri, 24 May 2024 23:43:51 -0600</pubDate>
      
      <guid>/blog/understanding-the-altseven-view-component/</guid>
      <description>Today I am going to explore the View component of the altseven JavaScript framework.</description>
    </item>
    
    <item>
      <title>Announcing the Availability of alt-seven Documentation</title>
      <link>/blog/alt-seven-docs/</link>
      <pubDate>Wed, 07 Feb 2024 11:52:19 -0700</pubDate>
      
      <guid>/blog/alt-seven-docs/</guid>
      <description>Attention all developers! Our very own client-side JavaScript framework, alt-seven, is in the works and we need your help.</description>
    </item>
    
    <item>
      <title>altseven 6.0.0 - Overview </title>
      <link>/blog/altseven-600-overview/</link>
      <pubDate>Mon, 02 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>/blog/altseven-600-overview/</guid>
      <description>It&#39;s been just over a year since I covered developments in the altseven framework.</description>
    </item>
    
    <item>
      <title>Livesandbox Web app editor v 0.12.0 release</title>
      <link>/blog/livesandbox-web-app-editor-v-0120-release/</link>
      <pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>/blog/livesandbox-web-app-editor-v-0120-release/</guid>
      <description>The next release of the livesandbox Javascript/Web app in-browser editor is now available.</description>
    </item>
    
    <item>
      <title>Livesandbox Web app editor v 0.11.0</title>
      <link>/blog/livesandbox-web-app-editor-v-0110/</link>
      <pubDate>Tue, 04 Jun 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/livesandbox-web-app-editor-v-0110/</guid>
      <description>Good news for open source JavaScript supporters- the livesandbox project is nearing a 1.</description>
    </item>
    
    <item>
      <title>Livesandbox Web app editor v 0.9.4</title>
      <link>/blog/livesandbox-web-app-editor-v-094/</link>
      <pubDate>Tue, 21 May 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/livesandbox-web-app-editor-v-094/</guid>
      <description>Another update of the livesandbox editor is available on GitHub.</description>
    </item>
    
    <item>
      <title>Livesandbox Web app editor updated</title>
      <link>/blog/livesandbox-web-app-editor-updated/</link>
      <pubDate>Sun, 19 May 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/livesandbox-web-app-editor-updated/</guid>
      <description>Following the release of a work in progress update to gadget-ui, I&#39;ve spent some time this weekend on an update to the beta release of the livesandbox web app editor.</description>
    </item>
    
    <item>
      <title>Tasklist altseven example app - updated v. 0.3.0</title>
      <link>/blog/tasklist-altseven-example-app-updated-v-030/</link>
      <pubDate>Wed, 13 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/tasklist-altseven-example-app-updated-v-030/</guid>
      <description>There is an update to the Tasklist altseven example application, and it&#39;s awesome.</description>
    </item>
    
    <item>
      <title>Livesandbox - in-browser JavaScript IDE</title>
      <link>/blog/livesandbox-in-browser-javascript-ide/</link>
      <pubDate>Sat, 09 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/livesandbox-in-browser-javascript-ide/</guid>
      <description>Based on my proof of concept for live JavaScript execution, I&#39;ve built a slightly more functional version and released it at https://github.</description>
    </item>
    
    <item>
      <title>Simple JS Live Code Execution</title>
      <link>/blog/simple-js-live-code-execution/</link>
      <pubDate>Thu, 07 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/simple-js-live-code-execution/</guid>
      <description>Here is a simple Web page that loads and executes JavaScript from a DIV in the browser.</description>
    </item>
    
    <item>
      <title>The Altseven View Component and the Rendering Queue in 3.2.x</title>
      <link>/blog/the-altseven-view-component-and-the-rendering-queue-in-32x/</link>
      <pubDate>Sun, 03 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/the-altseven-view-component-and-the-rendering-queue-in-32x/</guid>
      <description>As of altseven 3.2.x, I have made some changes to the way view components listen for changes and register for rendering with the render queue.</description>
    </item>
    
    <item>
      <title>Embracing ReactJS-style UI rendering in altseven with ES6 Template Literals - Part III</title>
      <link>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-iii/</link>
      <pubDate>Wed, 23 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-iii/</guid>
      <description>Update
------------
Parts of this post are no longer accurate, as altseven 3.</description>
    </item>
    
    <item>
      <title>Embracing ReactJS-style UI rendering in altseven with ES6 Template Literals - Part II</title>
      <link>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-ii/</link>
      <pubDate>Tue, 22 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-ii/</guid>
      <description>Eighteen days seems like forever in the Internet age. It was only eighteen days ago that I wrote Part I of this article about challenges solving some problems with building a React-style rendering solution in the altseven JavaScript framework.</description>
    </item>
    
    <item>
      <title>Setting up and Running the Tasklist altseven example app</title>
      <link>/blog/setting-up-and-running-the-tasklist-altseven-example-app/</link>
      <pubDate>Tue, 22 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/setting-up-and-running-the-tasklist-altseven-example-app/</guid>
      <description>Since I am covering the tasklist application in some detail, I&#39;d like to walk you through the process of setting it up so you can run it yourself.</description>
    </item>
    
    <item>
      <title>Embracing ReactJS-style UI rendering in altseven with ES6 Template Literals - Part I</title>
      <link>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-i/</link>
      <pubDate>Fri, 04 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/embracing-reactjs-style-ui-rendering-in-altseven-with-es6-template-literals-part-i/</guid>
      <description>I spent yesterday adding support for ES6 Template Literals as an alternative to Mustache/Handlebars.</description>
    </item>
    
    <item>
      <title>UI library gadget-ui updated with ES6 module support</title>
      <link>/blog/ui-library-gadget-ui-updated-with-es6-module-support/</link>
      <pubDate>Sat, 29 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/ui-library-gadget-ui-updated-with-es6-module-support/</guid>
      <description>I just published gadget-ui v. 6.0.0. There are no significant changes or additions to the library itself, but I have added ES6 modules exports to support importing the library, in whole or in part, using the ES6 import command.</description>
    </item>
    
    <item>
      <title>tasklist - Client Application for a NodeJS REST API- Part I</title>
      <link>/blog/tasklist-client-application-for-a-nodejs-rest-api-part-i/</link>
      <pubDate>Wed, 19 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/tasklist-client-application-for-a-nodejs-rest-api-part-i/</guid>
      <description>A few days ago, I posted a NodeJS application built around a REST API, and some further thoughts around architecture with the NodeJS mysql package.</description>
    </item>
    
    <item>
      <title>Exploring Architecture with the NodeJS mysql package</title>
      <link>/blog/exploring-architecture-with-the-nodejs-mysql-package/</link>
      <pubDate>Mon, 17 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/exploring-architecture-with-the-nodejs-mysql-package/</guid>
      <description>In software design, architectural choices have a significant influence on the&amp;nbsp;maintainability of your code base.</description>
    </item>
    
    <item>
      <title>Creating a NodeJS REST API with Express and MySQL</title>
      <link>/blog/creating-a-nodejs-rest-api-with-express-and-mysql/</link>
      <pubDate>Fri, 14 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/creating-a-nodejs-rest-api-with-express-and-mysql/</guid>
      <description>NodeJS offers the ability to build Web apps using JavaScript.</description>
    </item>
    
    <item>
      <title>gadgetui.input.FileUploader example - Part III - database and CFML engine</title>
      <link>/blog/gadgetuiinputfileuploader-example-part-iii-database-and-cfml-engine/</link>
      <pubDate>Tue, 04 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/gadgetuiinputfileuploader-example-part-iii-database-and-cfml-engine/</guid>
      <description>In parts I and II of my FileUploader example code, I showed you the client-side and server-side code for the FileUploader component and some example code for a CFML-based server-component to handle the uploaded data.</description>
    </item>
    
    <item>
      <title>So I created a JavaScript framework ...</title>
      <link>/blog/so-i-created-a-javascript-framework/</link>
      <pubDate>Sun, 02 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/so-i-created-a-javascript-framework/</guid>
      <description>Last year, and largely as an academic exercise, I created a JavaScript framework called altseven.</description>
    </item>
    
    <item>
      <title>gadgetui.input.FileUploader example, Part II - the model.FileService server component</title>
      <link>/blog/gadgetuiinputfileuploader-example-part-ii-the-modelfileservice-server-component/</link>
      <pubDate>Thu, 29 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/gadgetuiinputfileuploader-example-part-ii-the-modelfileservice-server-component/</guid>
      <description>A FileUploader component does no good by itself. In order to provide upload capability, you need something on the server that can receive the uploaded files and process them.</description>
    </item>
    
    <item>
      <title>gadget-ui JavaScript library Updated</title>
      <link>/blog/gadget-ui-javascript-library-updated/</link>
      <pubDate>Wed, 28 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/gadget-ui-javascript-library-updated/</guid>
      <description>I have been working on an update of the gadget-ui JavaScript library that includes a new feature - a multi-file upload component called gadgetui.</description>
    </item>
    
    <item>
      <title>gadget-ui.input.FileUploader example</title>
      <link>/blog/gadget-uiinputfileuploader-example/</link>
      <pubDate>Wed, 28 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>/blog/gadget-uiinputfileuploader-example/</guid>
      <description>I&#39;m going to demonstrate how to use the new gadget-ui.</description>
    </item>
    
    <item>
      <title>JavaScript Automation, Part II - Configuring Grunt</title>
      <link>/blog/javascript-automation-part-ii-configuring-grunt/</link>
      <pubDate>Fri, 18 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>/blog/javascript-automation-part-ii-configuring-grunt/</guid>
      <description>Building complex JavaScript front-ends is complicated. Grunt can help you improve your code/debug lifecycle by automating a lot of repetitive tasks that otherwise take up a lot of your time.</description>
    </item>
    
    <item>
      <title>JavaScript Automation, Part III - Configuring Grunt Tasks</title>
      <link>/blog/javascript-automation-part-iii-configuring-grunt-tasks/</link>
      <pubDate>Fri, 18 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>/blog/javascript-automation-part-iii-configuring-grunt-tasks/</guid>
      <description>Having installed and configured Grunt in Part I and Part II of our series on automating JavaScript builds, we proceed to the heart of the matter - configuring Grunt tasks to automate away the tedium of building our JavaScript client app from source files.</description>
    </item>
    
    <item>
      <title>JavaScript Automation, Part I - Setting Up Grunt</title>
      <link>/blog/javascript-automation-part-i-setting-up-grunt/</link>
      <pubDate>Wed, 16 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>/blog/javascript-automation-part-i-setting-up-grunt/</guid>
      <description>If you work on single-page apps and other JavaScript-centric Web development, you quickly learn that the code-debug cycle in client-side JavaScript is anything but automatic.</description>
    </item>
    
    <item>
      <title>Real-time server debug info using NodeJS, jQuery, Websockets and Logbox</title>
      <link>/blog/real-time-server-debug-info-using-nodejs-jquery-websockets-and-logbox/</link>
      <pubDate>Sun, 17 May 2015 00:00:00 +0000</pubDate>
      
      <guid>/blog/real-time-server-debug-info-using-nodejs-jquery-websockets-and-logbox/</guid>
      <description>Server-side debugging can be a painful process. Creating Rich Internet Applications - RIAs - ( or single-page apps by another name ) in particular can frustrate even the most experienced developers.</description>
    </item>
    
    <item>
      <title>Custom constructors with mixins to add event bindings in JavaScript</title>
      <link>/blog/custom-constructors-with-mixins-to-add-event-bindings-in-javascript/</link>
      <pubDate>Sat, 16 May 2015 00:00:00 +0000</pubDate>
      
      <guid>/blog/custom-constructors-with-mixins-to-add-event-bindings-in-javascript/</guid>
      <description>A few years ago, Douglas Crockford wrote a seminal post on prototypal inheritance in JavaScript where he argued:</description>
    </item>
    
  </channel>
</rss>
