JohnTelford.com LLC

Web Component Technology

Web development technology for the component era


Web components are a set of web platform APIs that enables creating new custom, reusable, encapsulated HTML tags to use in web pages and web apps. Custom components and widgets build on the Web Component standards, will work across modern browsers, and can be used with any JavaScript library or framework that works with HTML.

Web components are based on existing web standards. They enable web developers to extend HTML with new elements with encapsulated styling and custom behavior.

React

"React is for building user interfaces (UIs). It is an open-source, front end, JavaScript library created by Facebook.

React is a declarative, efficient, and flexible JavaScript library. It enables creating complex UIs from small and isolated pieces of code called “components”.

React code is made of entities called components. Components can be rendered to a particular element. A component is the core building block of a React application. Every component resides in the same space, but works independently from one another and merges all them in a parent component, which is the final UI of the application."

React JSX

"JSX (JavaScript XML), is a React syntax extension to the JavaScript language. It is similar to a template language, but it has full power of JavaScript. It is similar in appearance to HTML, JSX provides a way to structure component rendering using syntax familiar to many developers. React components are written using JSX"

MDX

"MDX is markdown for the component era. It enables seamlessly writing JSX in Markdown documents. It is compiled to JSX components, It enables using markdown’s terse syntax (such as # heading) and JSX for more advanced components.

❤️ Powerful: MDX blends markdown and JSX syntax to fit perfectly in React/JSX-based projects.

💻 Everything is a component: Use existing components inside your MDX and import other MDX files as plain components.

🔧 Customizable: Decide which component is rendered for each markdown element.

📚 Markdown-based: The simplicity and elegance of markdown remains, JSX is interleaved when you want to.

🔥 Blazingly blazing fast: MDX has no runtime, all compilation occurs during the build stage."

Gatsby Development Environment

"When working with Gatsby.js, the built-in command line interface (CLI) is used. This essential tool allows do things like creating new projects from starters, launching a dev server with hot-reloading, and generating production builds.

The Gatsby CLI tool lets you quickly create new Gatsby-powered sites and run commands for developing Gatsby sites. It is a published npm package. The Gatsby CLI is available via npm and should be installed globally by running: npm install -g gatsby-cli"

Gatsby - MDX

"MDX is Markdown for the component era enabling writing JSX embedded inside Markdown. This combination allows using Markdown’s terse syntax (such as # Heading) for content and JSX for more advanced or reusable components."

gatsby-plugin-mdx

"Before MDX, some of the benefits of writing Markdown were lost when integrating with JSX. Implementations were often template string-based which required lots of escaping and cumbersome syntax.

MDX makes writing with Markdown and JSX simpler while being more expressive. Writing is fun again when you combine components, that can even be dynamic or load data, with the simplicity of Markdown for long-form content."

Creating Dynamic Navigation in Gatsby

"At times you will want to be able to edit your website’s navigation in response to a change in requirements. To achieve this, you can use Gatsby to dynamically generate your navigation. "