JAMstack’s Growing Popularity Brings Increase in WordPress Plugins for Deploying to Netlify

One of the more interesting trends this year is that WordPress developers are beginning to explore JAMstack setups for their sites. JAMstack is a term coined by Netlify CEO Mathias Biilmann to describe development architecture that includes client-side JavaScript, reusable APIs, and prebuilt Markup, the three pillars of a modern static website.

Static websites are making a major comeback right now, perhaps as a reaction to the slow, bloated PHP frameworks that run large portions of the web today. The speed, security, and scalability of these sites, often available at a lower cost, are some of the most compelling reasons developers find themselves joining the rapidly growing JAMstack community. It also provides a git and CLI-friendly development workflow and allows developers to easily experiment with the latest frontend technologies, without prescribing any specific frameworks or tools.

Most JAMstack sites are built using Jekyll, Hugo, Nuxt, Next, Gatsby, or another static site generator. The generated markup and assets are often served via a CDN for near instant page loads.

Netlify pioneered JAMstack hosting and has inspired the creation of a myriad of tools that enable fast and convenient deployments. Plugins that allow developers source content from WordPress and host it with Netlify are starting to pop up more frequently. Netlify’s free tier is one of the main reasons it has grown so quickly in popularity, as it provides a fast way to host a personal site or small project with custom domain support, HTTPS, Git integration, and continuous deployment included.

Tiny Pixel Collective created a plugin called Netlify Deploy that automates Netlify builds on WordPress publish and update events. The company built it to make it easier for developers to rebuild Netlify-hosted Gatsby frontends using WordPress as the publishing tool. It works in the background to keep a static frontend in sync with the post database, rebuilding the site when users make updates to posts and pages. The plugin triggers the Netlify webhook whenever the standard WordPress posttypes post and page undergo a change in publish status, but it can also be modified to work with custom post types and custom publish hooks.

JAMstack Deployments, created by Christopher Geary, a developer and JAMstack aficionado, is a similar WordPress plugin that facilitates deployments to Netlify, as well as other platforms. The plugin’s settings page lets users configure the webhook URL in the admin, and includes options to limit it to trigger on specific post types and taxonomies. JAMstack Deployments is also conveniently available for free on WordPress.org.

Deploy Netlify Webhook is a similar plugin from Luke Secomb that appears to work manually through a “Build” button in the WordPress admin. It has the added benefit of allowing developers to check the status of the latest build to see if it was successful, without having to leave WordPress.

Justin Hall, a plugin author and senior web developer at SendGrid, published his Gatsby + Headless WordPress + Netlify starter skeleton to GitHub. This particular setup requires his LittleBot Netlify plugin to trigger Netlify build hooks on post save or update, with an additional option that allows WordPress users to publish to Staging or Production sites.

WP2Static is a popular plugin that generates static HTML files rom a WordPress site. Users have the option of auto-deploying to a folder on the server, a ZIP file, FTP server, S3, GitHub, Netlify, BunnyCDN, BitBucket, or GitLab. Theh plugin currently has more than 10,000 active installations.

These are just a small sampling of tools that developers are creating to allow WordPress users to retain the capabilities a dynamic publishing platform while building it statically to take advantage of the speed, security, and performance gains.

The trend towards using a headless CMS combined with static site generators is a setup that is heavily geared towards developers at the moment. Translating all the jargon for non-technical site and business owners is a new challenge for those looking to sell services for setting up JAMstack architecture.

That’s where more user-friendly hosting platforms like Strattic, Shifter, and HardyPress are making inroads on marketing JAMstack technology to a less-technical crowd. They provide all-in-one “serverless” architecture solutions that generate static files from WordPress sites and serve them via CDN.

One of the chief drawbacks to pursuing a static WordPress setup is that many dynamic capabilities do not work in this environment. Adding contact forms can be a challenge. Sites that require native WordPress comments or anything that is more complex and interactive will not work. This includes functionality offered by WooCommerce, bbPress, BuddyPress, and membership plugins, to name a few examples. For now, the JAMstack fervor is mostly limited to the DIY developer crowd looking to host more simple sites.

Top 6 Machine Learning Libraries for JavaScript in 2019

Usually, people apply machine learning (ML) methods and algorithms using one of two programming languages: Python or R. Books, courses, and tutorials about machine learning most often use one of these languages as well (or both).

Python is a general-purpose programming language used not only for machine learning but also for scientific computing, back-end web development, desktop applications, etc. R is created primarily for statisticians. However, they have at least two common characteristics:

The Best Way to Host MySQL on Azure Cloud

Are you looking to get started with the world’s most popular open-source database and wondering how you should set up your MySQL hosting? So many default to Amazon RDS when MySQL performs exceptionally well on Azure Cloud. While Microsoft Azure does offer a managed solution, Azure Database, the solution has some major limitations you should know about before migrating your MySQL deployments. In this post, we outline the best way to host MySQL on Azure, including managed solutions, instance types, high availability replication, backup, and disk types to use to optimize your cloud database performance.

You may also like: MySQL Tutorial: A Beginners Guide to Learn MySQL

MySQL DBaaS vs. Self-Managed MySQL

The first thing to consider when weighing between self-management and a MySQL Database-as-a-Service (DBaaS) solution is what internal resources you have available. If you’re reading this, you likely already know the magnitude of operational tasks associated with maintaining a production deployment, but for a quick recap, there’s provisioning, de-provisioning, master-slave configurations, backups, scaling, upgrades, log rotations, OS patching, and monitoring to name a few.

RocketMQ: HA Design

Decisions decisions

When any messaging system sends messages, there will be errors. Even though the name servers do check the health of brokers beforehand, there is always delay. Plus, a network outage can happen during the transmission. But the handling of errors can be different.

The CAP Theorem is a fundamental theorem in distributed systems that states that any distributed system can have, at most, two of the following three properties: Consistency, Availability, and Partition tolerance. The following diagram shows the tradeoffs:

4 Time Series Databases to Use In 2019

When developing IoT, financial, or industrial applications, choosing the right time series database can be a headache most of the time, especially when choosing between 30+ time series vendors in the industry.

When choosing a time series database, always see what they have to offer and see how they can best suit your needs.

Java Virtual Machine Internals, Part 1: Class Loader

The Java Virtual Machine is the heart of the Java ecosystem. Thanks to the JVM, when it comes to Java programs, we can 'write once, run everywhere.' Like other virtual machines, the JVM is also an abstract computer. The Java Virtual Machine's main job is to load class files and execute the bytecode they contain.

There are multiple components of the Java Virtual Machine like class loader, the garbage collector (automatic memory management), interpreter, JIT compiler, thread management. In this series,  I’ll be discussing how the Java Virtual Machine works. In this first installment, we are going to talk about the class loader. So let's get started!

Beginners Guide: Building an Online Retail Web Shop

With the release of Red Hat Decision Manager 7.3, I've started updating my free online workshop, a beginners guide to building an online retail web shop workshop.

This update is the first of two labs in this workshop, with more to follow, that installs Red Hat Decision Manager on your laptop. After the installation, you'll start by creating a new project for the online retail web shop you'll be building in subsequent labs.

Applying Graph Analytics to Game of Thrones

In this post, we review how organizations are integrating graph transactions and analytic processing and then dive deeper into graph algorithms. We’ll provide examples of using graph algorithms on Game of Thrones data to illustrate how to get started. Note that portions of this content have been taken from our O’Reilly book, Graph Algorithms: Practical Examples in Apache Spark and Neo4j, which you can download for free.

Neo4j provides native graph storage, compute, and analytics in a unified platform. Our goal is to help organizations reveal how people, processes, locations, and systems are interrelated using a connections-first approach. The Neo4j Graph Platform powers applications tackling artificial intelligence, fraud detection, real-time recommendations, and master data.

API Security Weekly: Issue #39

This week, we take a look at Zoom’s insecure API snafu that affects millions of Mac users, improvements to the OpenAPI support in Visual Studio Code (VS Code), the PolarProxy tool for TLS traffic decoding, the latest API breach fines, and a new survey on cloud security.

Vulnerabilities: Zoom

Zoom is a popular video conferencing app. Unfortunately, in their pursuit of ease of use, they deployed local web servers with vulnerable APIs to the computers of more than 4 million Mac users!

Weekly Platform News: HTML Inspection in Search Console, Global Scope of Scripts, Babel env Adds defaults Query

In this week's look around the world of web platform news, Google Search Console makes it easier to view crawled markup, we learn that custom properties aren't computing hogs, variables defined at the top-level in JavaScript are global to other page scripts, and Babel env now supports the defaults query — plus all of last month's news compiled into a single package for you.

Easier HTML inspection in Google Search Console

The URL Inspection tool in Google Search Console now includes useful controls for searching within and copying the HTML code of the crawled page.

Note: The URL Inspection tool provides information about Google’s indexed version of a specific page. You can access Google Search Console at https://search.google.com/search-console.

(via Barry Schwartz)

CSS properties are computed once per element

The value of a CSS custom property is computed once per element. If you define a custom property --func on the <html> element that uses the value of another custom property --val, then re-defining the value of --val on a nested DOM element that uses --func won’t have any effect because the inherited value of --func is already computed.

html {
  --angle: 90deg;
  --gradient: linear-gradient(var(--angle), blue, red);
}

header {
  --angle: 270deg; /* ignored */
  background-image: var(--gradient); /* inherited value */
}

(via Miriam Suzanne)

The global scope of scripts

JavaScript variables created via let, const, or class declarations at the top level of a script (<script> element) continue to be defined in subsequent scripts included in the page.

Note:Axel Rauschmayer calls this the global scope of scripts.")

(via Surma)

Babel env now supports the defaults query

Babel’s env preset (@babel/preset-env) now allows you to target browserslist’s default browsers (which are listed at browsersl.ist). Note that if you don’t specify your target browsers, Babel env will run every syntax transform on your code.

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": { "browsers": "defaults" }
      }
    ]
  ]
}

(via Nicolò Ribaudo)

All the June 2019 news that's fit to... print

For your convenience, I have compiled all 59 news items that I’ve published throughout June into one 10-page PDF document.

Download PDF

The post Weekly Platform News: HTML Inspection in Search Console, Global Scope of Scripts, Babel env Adds defaults Query appeared first on CSS-Tricks.

Does the Tech Talent Gap Actually Exist?

Today, every company heavily relies on tech talent to create, market, and distribute. However, many companies are unable to satisfy their growing need for this talent. Recently there has been an ongoing complaint regarding a “tech talent gap” across the country.

What's more, many companies have been using this alleged inadequacy in talent as a reason to justify outsourcing, H-1B visas, and other extreme measures. Apparently, the demand for talent continues outstripping supply. However, does this “tech talent gap” actually exist?

Collective #531



C531_listcss

CSS Lists, Markers, And Counters

In this article, Rachel Andrew starts by looking at lists in CSS, and moves onto some interesting features defined in the CSS Lists specification — markers and counters.

Read it


C531_DIVI

Our Sponsor

Divi: Custom CSS Control

Divi is a revolutionary WordPress theme and visual page builder for WordPress. Developers can easily combine Divi’s visual design controls with their own custom CSS. Divi’s interface is simple yet not limiting.

Try it for free


C531_trombone

Popup Trombone

A really awesome experiment by Matthew Rayfield where you can play a trombone by resizing the browser window.

Check it out







C531_texel

Texel

A proof-of-concept generative design toolkit made by Matt DesLauriers.

Check it out









C531_SEOmyth

SEO Mythbusting

A Google Webmasters video series hosted by Martin Splitt with the aim to clarify common misconceptions around technical SEO.

Watch it






Collective #531 was written by Pedro Botelho and published on Codrops.

Visual Software Development Platforms Make Application Development a Team Sport

When everyone on the team is involved, good things happen.

In a digitally connected world, competitive pressure on organizations to innovate has made cross-functional collaboration between business units and IT developers a strategic requirement.

Not surprisingly, corporate investment in software development is booming. This has led to increased interest by market analysts in assessing the strength of different visual software development platforms.

Getting Started With Istio

Learn the basics of Istio and explore the concept of a service mesh. This Refcard outlines how to install Istio, how to use intelligent routing, how to enable service-to-service security and access control, and much more.