Introduction to the Jamstack: Build Secure, High-Performance Sites

Original Source:


Every so often, web development takes a dramatic turn for the better. In this article, we introduce the Jamstack, explaining what it is and why it’s great.

Back in the day, dynamic sites exploded with the LAMP stack. Then the MEAN stack provided a foundation for the next generation of web apps. Now that APIs and reusable components are on the rise, static sites are fashionable again. It’s a “back to basics” of sorts — but not quite.

What Is the Jamstack?

Jamstack logo

Provided: Netlify

The Jamstack is a redefinition of the modern web for faster and more secure websites. These sites scale better and, with the proper toolset, are a lot easier (and more fun) to develop and maintain.

Let’s break up the term:

J stands for JavaScript. JS has come a long way since it was introduced by Netscape in 1995. With reactive and progressive libraries, you can design web apps that behave pretty much like mobile ones.
A stands for APIs. You don’t need to program every single functionality yourself, but can rely on third-party processing for a huge number of tasks.
M stands for Markup. You can reuse components that have already been developed, or create new ones that are a lot easier to maintain.

Isn’t that just buzz?

In a way, yes. The term Jamstack, originally stylized as JAMstack, was coined by the company Netlify as a way of promoting their “all-in-one platform for automating modern web projects.” The principles behind the Jamstack aren’t really new, as web components and APIs have existed for quite some time.

But in very much the same way the term Ajax (asynchronous JavaScript and XML) was coined by another company back in the day — Adaptive Path — and even though the XMLHttpRequest (XHR) API that made Ajax possible also existed for some time, both Ajax and JAMstack were a refreshing revamp of ideas with legitimate uses that were quickly adopted by the community. The hype is well-deserved: this way of working has been a revelation for many developers around the world.

Static sites?

“Static sites” are the antithesis of “dynamic websites”, right? So how to provide rich and dynamic interaction with just plain HTML files? Well, JavaScript.

Continue reading
Introduction to the Jamstack: Build Secure, High-Performance Sites
on SitePoint.

Master graphic design with this $15 bootcamp

Original Source:

Graphic design is quickly becoming an in-demand skill for various industries and job positions, and learning how to become a designer doesn't have to be expensive or impossible. With the right tools and guidance, you can train to be the creative you've always dreamed of right from the comfort of your home. Start achieving your goals with the Graphic Design Bootcamp, now only $15. 

Starting with the essentials, you'll begin the crash course training bundle by getting familiar with the industry-leading programs included in Adobe's Creative Cloud. With an intro into each program application, you'll get an understanding of each app and acquire valuable tips from the pros for getting your programs started with ease. For more Adobe lessons, try our pick of the best Photoshop tutorials and top Illustrator tutorials. 

Get Creative Cloud
Dive into hands-on projects

Once you are organised and comfortable with your desktop setup, you'll dive deep into hands-on projects that allow you to put what you learn into real-world practice. Led by creative director and designer Derrick Mitchell, each project will guide you through essential design principles and step-by-step introductions to Adobe Photoshop, Illustrator, and InDesign software interfaces. You'll learn the ins and outs of design techniques on each platform, and cover essential tools used by graphic designers of all levels.

With 65 lectures included, you'll be exposed to projects with downloadable project files for both digital and print mediums, plus learn best practices and techniques for each along the way. Projects on logo design, compositing, business card creation, editorial design, and more will get you started producing work that will help launch your career or merely help brush up your skills. 

Not only will you have work to show from the course, but you'll learn how to get started creating a portfolio to display your design work. Access to an exclusive private Facebook group will allow you to connect with other students for sharing and critiquing projects. This opportunity will enable you to start getting comfortable with showcasing your work and getting feedback – a variable that every graphic designer must face. Certification of completion is also included upon finishing your projects, adding valuable credentials to your résumé, and future job interviews.

While usually priced at over $100, this crash course brings you everything you need to jumpstart your graphic design career for only $15 – that's 88 per cent off! Add valuable skills and credibility to your ongoing creative portfolio and continue learning today with a little help from the pros. 

*Prices subject to change. Software not included.

Read more: 

The best laptops for graphic design in 2020Graphic design history: 25 landmark design events33 must-read graphic design books

Deno Module System: A Beginner’s Guide

Original Source:

Deno Modules

Learn about the Deno module system – the biggest workflow change you’ll encounter if you’re coming from Node.js. Find out how it works and how to use it, how to make use of Node.js packages in Deno, and more.

Node.js is a JavaScript runtime based on Chrome’s V8 engine, developed by Ryan Dahl, and released in 2009.

Deno is a JavaScript runtime based on Chrome’s V8 engine, developed by Ryan Dahl, and released in 2020. It was created with the benefit of a decade’s worth of hindsight. That doesn’t necessarily make it a sequel or superior to Node.js, but it deviates from that path.

See also:

Introduction to Deno: A Secure JavaScript & TypeScript Runtime
Node.js vs Deno: What You Need to Know

The headline differences: Deno natively supports TypeScript, security, testing, and browser APIs. Module handling receives less attention, but it’s possibly the largest change to how you create JavaScript applications. Before discussing Deno, let me take you back to a simpler time…

Node.js Modules

JavaScript didn’t have a standard module system in 2009. This was partly because of its browser heritage and ES6 / ES2015 was several years away.

It would have been inconceivable for Node.js not to provide modules, so it adopted CommonJS from a choice of community workarounds. This led to the development of the Node Package Manager, or npm, which allowed developers to easily search, use, and publish their own JavaScript modules.

npm usage grew exponentially. It’s become the most popular package manager ever devised and, by mid-2020, hosts almost 1.5 million modules with more than 800 new ones published every day (source:

Deno Modules

Deno opts for ES2015 Modules which you import from an absolute or relative URL:

import { something } from ‘’;

The script at that URL must export functions or other values accordingly, e.g.

export function something() {
console.log(‘something was executed’);

Deno uses an identical module system to that implemented in modern web browsers.

Node.js also supports ES2015 modules … but it’s complicated and remains experimental. CommonJS and ES2015 modules look similar, but work in different ways:

Continue reading
Deno Module System: A Beginner’s Guide
on SitePoint.

How to Host Static Sites for Free with an Automated Pipeline

Original Source:

Hosting Static Jamstack Sites for Free with an Automated Pipeline

Did you know that you can host static sites for free on a number of high-grade services? This doesn’t just save money, but also means you’re deploying to globally distributed CDNs and automating processes.

Provided: Netlify

In a previous article, we reviewed 100 Jamstack tools, APIs and services to power your sites, which included a lot of hosting services.

In this article, we’ll get hands-on and show you how to host static sites with an automated pipeline for deployment.

Does this sound complicated? It’s easier than you’d think.

Free Cloud Hosting, but with Strings Attached

You can actually host websites for free — even dynamic ones — with the AWS Free Tier (Amazon Web Services), the GCP Free Tier (Google Cloud Platform) and Windows Azure (with some workarounds).

But when you go to give that a try, you’ll come across a number of conditions, fine print considerations, and implementation constraints:

how much computing power do you need?
your credit card number, please?
where do you want to deploy to?
is your account brand new?
and not older than 1 year?
actually, what services?

Often this is more a tryout than an actual freebie (hence the reason why AWS Amplify Storage is not included in this list). And while some power users might take advantage of the goodies, if you aren’t well acquainted with these platforms beforehand, you’ll find out that the learning curve to start using these services is very steep, and that for every cloud service you intend to use you’ll need to find out first in which way each provider reinvented the wheel before you can actually spin it into any free deployment.

Let’s see now how a handful of smaller players rose to prominence with free hosting services that aren’t a hassle to implement and have fewer strings attached.

Continue reading
How to Host Static Sites for Free with an Automated Pipeline
on SitePoint.

22 Amazing Award-Winning Website Designs

Original Source:

You can browse templates all day long, but sometimes you just need to see a website in action to get inspired. That’s why we’ve put together this stellar collection of award-winning website designs. Each of these bring something unique to the table that’s worth evaluating and potentially worth emulating on your own site.

Each of these sites are featured on

Web Designer Toolbox: Unlimited Downloads Starting at $16.50/Month

Website Kits

Website Kits
16,000+ Web Designs

UX & UI Kits

UX & UI Kits
14,000+ UX & UI Kits

Graphic Assets

Graphic Assets
33,000+ Graphics

Envato Elements

Everyday Experiments

Example from Everyday Experiments

Upon visiting this site, you’re met with a highly interactive experience. Each “experiment” is interactive and more content unfolds as you scroll and click.

Un printemps suspendu

Example from Un printemps suspendu

Here’s another compelling design that’s sure to inspire. This site follows the journey of two mountain guides and skiers, as you’re fully immersed via full-screen video and 3D rendered, seemingly immersive menu options.


Example from Canvas

And then there’s Canvas. This site is for a design and development studio that’s presenting their portfolio in a unique way. A true marriage of form and function through innovative load screens, parallax effects, and cursor accents.

Example from is a website for a digital agency that offers a truly unique interactive experience. On hover, your cursor movements manipulate the main subject above-the-fold. But if you click the emoji hand, the object rotates and spins.


Example from Superfluid

This is another site with super interesting interactive effects that fade in, fade out, and swipe up. Product listings change upon hover and the entire browsing experience is designed to entice you into making a purchase.


Example from Blackmeal

This website for a motion design studio is fun, immediately. The large graphics interact upon hover and offer a warm greeting. Once clicked, you’re met with a portfolio that expands as you scroll.


Example from 14islands

Here’s a fun one! 14islands is a design and development studio. Their website is playful and informative. It features a custom cursor, unique hover effects, and parallax scrolling.


Example from Altermind

Get ready to go on a journey on the Altermind website. This consultancy website uses parallax effects that work both vertically and horizontally.

Khoa Lê

Example from Khoa Lê

Khoa Le is a filmmaker and this website serves as a digital portfolio. More parallax effects are featured here as well as full-width videos and interesting hover effects.


Example from Delassus

Delassus is a website for a producer of avocados, tomatoes, and other produce. The site is super colorful, compelling, and interactive.

Beans Digital Marketing Agency

Example from Beans Digital Marketing Agency

Another top choice is the Beans Digital Marketing Agency. This website offers a unique spin on the traditional marketing agency site with full-width videos and a fun and vibrant campaign to go along with the parallax effects and fascinating load effects.


Example from JazzKeys

Now this is a super cool website design! The JazzKeys site responds to your keyboard input, creating an impromptu jazz masterpiece.

Listening Together

Example from Listening Together

The Listening Together website by Spotify goes to new design heights. It features an interactive, three-dimensional graphic of a globe. Upon clicking one location, you can hear a song snippet currently being streamed from there. Then, the site will match you up with another location that’s currently playing the same song. Innovative!


Example from Moooi

What a delightful site design this is! The Moooi site offers a fully-immersive browsing experience with video and audio for showcasing the brand’s products.


Example from Portfolio

The Portfolio website is for a graphic and interface designer. It offers the cutest loading screen ever as well as interesting parallax, hover, and cursor effects.

Gucci Mascara Hunt

Example from Gucci Mascara Hunt

What a novel way to promote a product! This website is an interactive game that was used to promote a new mascara.


Example from underpromise

The website for underpromise provides an interactive experience that speaks to those who have a deep appreciation of both the visual and literary arts.


Example from Agora

Another site worth checking out is Agora. It’s designed to promote a payment processing service and app. It does so through the use of truly immersive and interactive parallax design.

Olivier Gillaizeau

Example from Olivier Gillaizeau

And if you need more portfolio site design inspiration, this one for a creative director uses a timeline-style layout with stylish hover effects, parallax scrolling, and an abundant use of color.


Example from Clmt.

Here’s a website for a photographer and art director that offers unique scrolling effects and an overall engaging appearance.


Example from &Tradition

And here’s another site example that promotes products in an innovative way. This site uses slideshow headers, hover effects, and large photos to capture visitor attention.


Example from HENGE

Last on our list is a site for a design agency with full-width videos, parallax effects, autoplay slideshows, and in-depth gallery-style presentations.

Use these Award-Winning Website Designs as Inspiration

If you’re trying to build a website right now, it can be difficult to know where to start. Thankfully, many award-winning website designs are out there to serve as solid inspiration for your next project. Wander in the dark no longer, this collection of sites should get your creative juices flowing.

Best of luck!

17 Tools I Can’t Design Without

Original Source:

I think of a creative practice as a combination of an approach (a design philosophy) and a series of techniques (craft skills); a good tool facilitates a technique, which in turn supports an approach.

It wasn’t until I sat down to write a list of tools I can’t design without, that I realized just how many tools I rely on as an integral part of my creative process. The danger of tools is that they promote certain techniques, and that bias can alter your approach.

First and foremost a good tool does no harm, it does not dictate, or obstruct your approach. Secondly, a good tool offers flexibility in the techniques you choose. Thirdly a good tool is invisible, it leaves no marks on the end product.

If I’d written this post a year ago the list would have been different, and I hope that in a year it will be different again. These are the tools that I currently find enabling, that have contributed to my craft, and supported my approach.

Affinity Designer

I’ve always used Adobe products. Photoshop and Illustrator were the de facto graphic tools for half my life. I’ve never had an issue with the subscription licensing of Creative Cloud, which I think is proportionate for a professional set of tools. Then, around 18 months ago I got very frustrated with how sluggish Illustrator had become.

I’d written an early review of Affinity Designer, I’d been impressed at the time, so I decided to give it another try expecting the sojourn to last an hour or two before I gravitated back to Illustrator. Running the latest version of Affinity Designer was a revelation, I’ve simply never wanted to switch back.

Why not Sketch? Well, I do occasionally jump into Sketch, especially for pure vector wireframing. I was an early adopter of Sketch, but the reliability issues (long since resolved) poisoned my relationship with it. Why not Figma? Well, Figma’s real strength is in collaboration, something that I get with Sketch, and personally I find some of Figma’s features unintuitive.

Affinity Designer isn‘t perfect. I dislike the color tools, especially the gradient tool, which I find clunky. But it’s the first design app I’ve used in years that syncs closely with my creative process.

Affinity Photo

I don’t do a lot of photo manipulation, so when I switched away from Creative Cloud for design work, I was relaxed about switching from Photoshop to Affinity Photo.

In my experience, Affinity Photo is stronger than Photoshop in some areas, and weaker in others. Affinity Photo’s bitmap scaling is much better than Photoshop’s, largely due to Lanczos 3 sampling.

Affinity Photo also solves a lot of little irritations that Adobe has chosen not to address for legacy or philosophical reasons, such as the toggleable ratio setting when resizing the canvas — I’ve lost track of the hours I’ve spent in Photoshop manually calculating vertical whitespace so that it’s proportionate to the horizontal.


Both Affinity Photo and Photoshop are poor at web format optimizations. Photoshop perhaps has the edge, but its output certainly isn’t acceptable for production.

I run bitmaps through TinyPng, which on average halves the size of the file without any appreciable loss of quality. (It stripped 66% off the images for this post.)


When I started to drift away from Creative Cloud, the one service that delayed me was Adobe Fonts (née Typekit). Not so much for the webfonts — which are faster and more reliable self-hosted — but for the ability to sync desktop fonts into my design apps.

I tried Fontstand when it was first released, and I loved the concept, but was worried about the small library. When I took a second look and discovered the library is now substantial for both workhorses and experimental typefaces, it was an easy decision to switch.

Fontstand is a desktop font rental service. Once you’ve found a typeface you’re interested in, you can activate an hour-long trial, then choose to rent the font for a small fee. You can auto-renew the rental if you need to, and if you rent the font for 12 months it’s yours forever.

If there’s one tool on this list I genuinely could not design without it’s this one. Fontstand makes working with fonts from independent foundries affordable for freelancers, and it’s enriched the typographic palette available to me.


Every designer has strengths and weaknesses. Since day one of art school, my weakness has been color. It just doesn’t come naturally to me, and I have to work quite hard at it.

An incredibly helpful tool that I’ve been using for a few months is Khroma. It helps my eyes warm up before approaching color, and helps me find a starting point that I can then refine. Comparing my design work before, and after Khroma, the latter color choices are cleaner, more vibrant, and more interesting.


A good code editor is essential, and I’ve never found one that I’m completely happy with. For years I’ve flitted back and forth between Brackets, Sublime Text, and BBEdit. I think that probably reflects the changes in the type of coding I’m doing.

For now, I’ve settled on Atom. It’s fast, reliable, and it’s not biased to front or back-end code.


I held out on compilers longer than I should have, using apps like Minify to minify CSS and JavaScript, and the command line to process Sass (see below). Then I found CodeKit and it’s been essential to my workflow ever since.

What I like best about CodeKit is that it’s a GUI. Which means I can change settings while coding, like toggling off the JavaScript linting, without switching mental gears into another language.


MAMP is a tool that allows you to run a local server environment, meaning I can run PHP and MySQL without the tedious process of FTPing to a server to test a change. Mac comes with Apache, so this isn’t strictly necessary, but it’s simple to use and works well with both CodeKit and Craft (see below).

There’s a pro version of MAMP, which allows you to switch seamlessly between projects, but it’s heavily geared towards WordPress. I’m still trying to find the time to evaluate Laravel Valet.


When you first start coding you try and memorize the entire language. It’s very possible to become fluent in the core of a language, but there are always nuances, defaults, and gotchas that you miss. As you grow more experienced, you realize that all professional coders Google the answer at least once per day.

When I got tired of Googling I started using Dash which is a superb app that combines the docs of numerous different languages into a searchable window. I use it daily for everything from SVG to Twig.


It doesn’t really matter what you’re building, even the indy-web needs to be tested. Ideally you’ll test on real devices, but if you can’t afford a device library — and who but the largest agencies can — you need a live testing solution.

There are a few upstarts, but your choice is basically between BrowserStack and LambdaTest. I went for LambdaTest because I prefer the style of the UI, but that’s entirely subjective. If you’re not sure, toss a coin, you’ll get the same results with both.


I can’t write CSS without Sass — and I mean that literally. If I try and write vanilla CSS I guarantee I’ll nest something with @at-root and it will throw an error.

Craft CMS

Stating any preference for a CMS online that is not WordPress inevitably invites impassioned protests from developers whose career is built on the WordPress platform. So let me say preface this by saying: if WordPress works for you, and more importantly for your clients, then more power to you; I think it’s a dog.

Shopping around for a CMS is challenging, and I’ve gone through the process several times. A good CMS needs to be in sync with your mindset, and it needs to be appropriate for your clients — all of them, because unless you’re in a large agency with multiple coders, you need to commit to a single solution in order to master it.

I have looked and looked, and finally settled on Craft CMS. Craft makes it easy to build and maintain complex, high-performance sites. It has a shallow learning curve that grows exponentially steeper, making it easy to get started with plenty of room to grow.


Way back when Flash went kaput I switched to jQuery, and that was a really easy route into JavaScript — ignore the people who tell you to master the core language first, do whatever it takes to start using a language, that’s how you learn. But jQuery is heavy, and I found I needed it less and less.

These days 90% of the JavaScript I write is progressive enhancements in vanilla JavaScript to keep the dependencies low. Occasionally I encounter a job that requires complex state management, and then I fall back on Vue.js. JavaScript developers are as partisan as CMS aficionados, so let’s just say I favor Vue.js because it’s not controlled by a mega-corp and leave it at that.


As editor at WDD, I cannot emphasize enough that the right way to write copy for the web is markdown.

Markdown is faster to write so you don’t lose the thread of your thought process, and it doesn’t impose formatting so you can easily migrate to a CMS. If you’ve ever spent 20 minutes stripping the class, id, and style tags out of a file created in Word, Pages, or (by far the worst offender) Google Docs, then you don’t need to be sold on this point.

There are a few markdown-based writing apps available, I tested half a dozen, and the one I settled on was Ulysses. I like its distraction-free mode, I love its clean exports. Everything I write, I write in Ulysses.

Screenshot Plus

Much like markdown editors, there’s no shortage of screenshot apps. My current favorite is Screenshot Plus.

Screenshot Plus has one feature that makes it standout for me, and that is its Workflows. It sounds like a small problem, but when you’re taking screenshots of a dozen sites, the extra clicks to save, switch to your editor, and open the file are laborious. I have several workflows setup in Screenshot Plus that allow me to take a screenshot, save it to a specified folder on my local machine, and then open it in Affinity Photo, all with a single click.


I get a lot of email, a lot. At one point the influx was so bad I was using multiple email apps to segment it. Yes, I use Slack daily, but it doesn’t eliminate the need for email.

I‘ve been using Spark for around six months and it’s radically sped up my workflow. I’m a big fan of the smart inbox that allows me to compartmentalize email like newsletters, and email that warrants a reply. I like that I can switch to a chronological list if I’m looking for something specific. I love the ability to pin, or snooze messages, which helps me triage my inbox.


I’m one of those people who can’t make it through the day without being organized. I need lists and sublists, and I need something native that opens automatically when I boot my Mac, and something that sits on the home screen of my Android.

There are as many to-do apps as there are things to do. When I’m working in a team I’ll use whichever task-tracking system it prefers. But by choice I always use Todoist thanks to its balance of simplicity and power. At this point it’s something of a meta-tool, and the app I open first every morning.


p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

Collective #615

Original Source:

Collective 615 item image

Inspirational Website of the Week: Sweet punk

Great visual content with a clear design and interesting details. Our pick this week.

Get inspired

Our Sponsor
Build websites with the most popular WordPress theme in the world

With the Divi Layout Packs you’ll get world-class designs ready to be used for your client projects.

Check it out

Collective 615 item image


Primo is an all-in-one IDE, CMS, component library, and static site generator.

Check it out

Collective 615 item image

What the f*** is …?

An opinionated glossary of computer science terms for front-end developers by Dan Abramov. Read more about it in the repo.

Check it out

Collective 615 item image

CSS easing

Adam Argyle shares 18 hip cubic-bezier easing functions in handy variables with us.

Check it out

Collective 615 item image

3D Hands gestures

An amazing free 3D hands gestures library with 12 hands gestures in 9 different skin tones and with 3 sleeve types.

Check it out

Collective 615 item image

3D Book Image CSS Generator

Fantastic tool: Generate an animated 3D image from a book cover and export to HTML/CSS to embed on your website.

Check it out

Collective 615 item image

@property: giving superpowers to CSS variables

Una Kravets introduces the Houdini Properties and Values API which is coming to your CSS file in Chromium 85.

Read it

Collective 615 item image

Things I Wish I’d Known About CSS

Some useful things to understand before starting out with CSS. By Dave Smyth.

Check it out

Collective 615 item image

Understanding CSS Multiple Backgrounds

In this article, Ahmad Shadeed explains the background-image property in detail, and provides a visual explainer on how multiple backgrounds can be stacked.

Read it

Collective 615 item image

CSS leaning card effect

A beautiful card effect made by Lynn Fisher.

Check it out

Collective 615 item image

A Simple Explanation of Event Delegation in JavaScript

Dmitri Pavlutin explains event delegation which is a useful pattern to listen for events on multiple elements using just one event handler.

Read it

Collective 615 item image

Import non-ESM libraries in ES Modules, with client-side vanilla JS

Lea Verou explores some strategies of importing non-ESM libraries in ES modules.

Read it

Collective 615 item image

A CSS only “click to animate gif” solution

Christian Heilmann shares a quick experiment in pure CSS how to cover a GIF with a play button instead of playing it

Check it out

Collective 615 item image

Warp SVG Online

A nice tool that can warp and distort SVGs.

Check it out

Collective 615 item image


A brand new way to write responsive CSS. Named breakpoints, DRY selectors, no scripts, no builds, vanilla CSS.

Check it out

Collective 615 item image

Modern CSS Techniques To Improve Legibility

Edoardo Cavazza covers how to improve websites legibility using some modern CSS techniques.

Read it

Collective 615 item image

A CSS-only, animated, wrapping underline

NickyMeuleman explores how to create wrapping underlines that can be animated.

Read it

Collective 615 item image

Building a self-updating profile README for GitHub

Simon Willison shows how to implement a GitHub Action to automatically keep a profile README up-to-date.

Check it out

Collective 615 item image

CSS Painting Order

An interesting article on how a browser determines what order to paint content in.

Read it

Collective 615 item image

Beyond screen sizes: responsive design in 2020

Kilian Valkhof thinks we’re now at a point where we can start considering a new type of responsiveness for websites.

Read it

Rich HTML in GitHub README

Learn how to create a rich HTML document enveloped in an SVG file.

Check it out

Collective 615 item image

Mars Explorer ScrollTrigger demo

Hai Le made this fantastic GSAP ScrollTrigger plugin example.

Check it out

Collective 615 item image


Stunningly realistic CSS droplets by Oscar Salazar.

Check it out

The post Collective #615 appeared first on Codrops.

Apple WWDC 2020: When is it and how to attend

Original Source:

Apple's Worldwide Developers Conference (WWDC) 2020 is just a few days away now, but this year, things look a little different. It was announced back in March that due to the coronavirus crisis, the Apple WWDC 2020 would be an online-only event, taking place on 22 – 26 June. 

But that's not the only change. Unlike other previous years, the week-long event will be free of charge. With no cost restrictions, more developers than ever are likely to attend. 

“WWDC20 will be our biggest yet, bringing together our global developer community of more than 23 million in an unprecedented way for a week in June to learn about the future of Apple platforms,” said Phil Schiller, Apple’s senior vice president of worldwide marketing.

Apple's past announcements at WWDC have seen some of the best laptops for graphic designers unveiled.

Browse all devices at

MacBook pro

The new MacBook Pro is already here

Apple WWDC 2020: How to attend and what time

Developers can access this year's WWDC via the Apple Developer app and the Apple Developer website. There's also a challenge for students, named the Swift Student Challenge, where coders can create their own "Swift playground" (although the prizes of a WWDC jacket and pin set seem a little measly coming from the likes of Apple).

As well as the conference for developers, Apple will hold a keynote presentation on the first day. Apple usually uses this session to unveil its latest and greatest products, and if recent rumours are anything to go by, we're in for a treat this year. We've already seen the MacBook Pro 2020, and a new iPad Pro this year, so who knows what else Apple has up its sleeve. 

The Apple WWDC keynote will kick off at 10am local time (PDT) on Monday 22 June. For those watching in the UK, you'll need to set a reminder for 6pm (BST) . To watch, Mac users need to be running Safari on macOS Sierra 10.12 or later, and can do so directly on To watch on an iPhone, iPad, or iPod touch, you'll need Safari on iOS 9 or later, and you can access the livestream via the Apple Event page.

Read more:

The best Apple Pencil deals Is this what Apple's new headphones will look like?The best cheap Apple laptops right now

CompTIA Network+ Certification: Is It for You and Is It Worth the Effort?

Original Source:

To increase your chances to succeed in an IT role, it is important to have a globally recognized certification that can verify that you have essential knowledge in the sphere. Today, there are numerous credentials for specialists of different specializations and if you want to build a career as a networking professional, then CompTIA Network+ […]

The post CompTIA Network+ Certification: Is It for You and Is It Worth the Effort? appeared first on

100 Jamstack Tools, APIs & Services to Power Your Sites

Original Source:

We’ve explained the Jamstack, a popular new way to build secure, scalable, high-performance sites. Now we’ll introduce you to the tools, services, and APIs that power Jamstack sites.

The A in Jamstack stands for API. APIs can do anything for you, from sending a form to authenticating a user, or from storing and retrieving data in real time to shopping for products.

In this article, we’ll do an extensive review of existing APIs and how they compare to one another. This review couldn’t possibly encompass the whole spectrum of third-party APIs that you can integrate into your website, but hopefully you’ll still find the coverage enlightening enough.

We’ll use the words “headless”, “detached”, and “serverless” a lot in this article. If you haven’t already, check out our introduction to the Jamstack, which covers all the basics.

Hosting (Mostly for Free)

Provided: Netlify

Hosting a Jamstack site usually involves automated deployment pipelines. For example, you might have a repository in GitHub which, on every push, automatically triggers an online deployment (via webhooks), running the necessary build tools (such as Jekyll) and regression tests (via Travis CI).

Sound difficult? It can be a surprisingly simple process!

Most of the services here include these goodies out of the box:

SSD drives
CDN deployments
free SSL (including for custom domains)
command line deployments and rollbacks

Note: look out for another article in this series, coming soon, covering how to use these services.

Google Firebase and AWS Amplify

<!– ![The Firebase logo](firebase-logo.png)

Image source –>

Firebase Hosting is Google’s take on a hosting service that’s easy to understand and implement, and it’s free to use (limits apply). Firebase’s backbone actually lies on top of the Google Cloud Platform (GCP), and you can in fact access and tweak some Firebase deployments through the GCP console. But by implementing something of an “gateway” (Firebase) that transparently handles GCP resources for us, Google gave developers a brand new and highly improved user experience (UX) … and the Firebase’s YouTube channel is just brilliant! ?

AWS Amplify is also an effort to reduce the complexities of Amazon Web Services (AWS) for web and mobile deployment that doesn’t quite offer free hosting but 12 months of free use for new accounts for its Storage with Amplify as part of the AWS Free Tier.

Google really made a brilliant move with the Firebase family of products by “detaching” them from the GCP, but Amazon went half-way with AWS Amplify. It sure is a dramatic improvement from the regular AWS workflow, especially for novice users, and its documentation hub is superb and way more down-to-earth than the way Amazon usually documents services. But Amplify is still accessed from the same old (horrifically bloated) console. You still need a credit card to just open an account, deployments are still region-specific (no built-in CDN, seriously?), and the workflow isn’t as straightforward when compared to that of Firebase or Netlify.

GitHub Pages and GitLab Pages

Both hosting services for Git repositories also have a built-in service to host static pages right out of your codebases, 100% free: GitHub Pages and GitLab Pages.

In a future article we’ll cover how to use these services, but in the meantime make sure to check out these easy-to-follow guides:

Getting Started with GitHub Pages
Hosting on with GitLab Pages

Netlify and Heroku

In a very short period of time, Netlify not only coined the Jamstack term but also positioned itself as the place to go for all things static. While you could certainly accomplish more with an elaborated AWS pipeline, the simplicity and unparalleled ease of use that Netlify offers is unbeatable. Want to host a static site? Just drop it here and it’s online. Want automatic updates? Link a repo and just push a commit. And batteries are included — instant builds, worldwide CDN, free SSL, CLI tool, on-click rollbacks, and more.

Heroku is the only service in this list that allows you to host dynamic pages: Node.js, Ruby, Python, Java, PHP, Go, Scala and Clojure (check their Language Support page). So if you aren’t yet quite ready to go static, this might be a good way to test your dynamic sites online for free.

Other Services

With 194 data centers as of 2020, Cloudflare is — by many metrics — the company that offers the lowest latency for their DNS and CDN services around the world. They serve big companies but also have a number of services oriented to developers, like Workers Sites. The service isn’t free ($5/mo minimum charge) but it’s as top performant as you can get, and fairly easy to use.

Other tools targeted at static pages include Aerobatic, which offers a free trial with no credit card required and support for internationalization (i18n) and full-text search built-in plugins; with npm run scripts and CI services; and Vercel (formerly ZEIT Now) with an Edge Network serving big names such as Twilio and The Washington Post.


Free plan

1 month

Firebase Hosting
very good

GitHub Pages
completely free

GitLab Pages
completely free

somewhat easy
very good

extremely easy
very good

Storage with Amplify
1-year (new accounts)
somewhat easy
very good


Workers Sites
somewhat easy

Storing and Retrieving Data: Real-time NoSQL Databases

NoSQL solutions like MongoDB have been coexisting with relational databases like MySQL for some time (see the differences and how to choose), but real-time processing takes NoSQL to the next level by enabling cloud storage for state management, such as a user entering their name or clicking a radio button.

If you’re familiar with Redux and Vuex — React and Vue.js libraries for state management, respectively — think of integrating that concept with a cloud storage provider.


Amazon DynamoDB is a “fully managed, multiregion, multimaster, durable database with built-in security, backup and restore, and in-memory caching for internet-scale applications”. But as with many things AWS, it’s difficult to implement and very hard to debug (see Why Amazon DynamoDB isn’t for everyone, by Forrest Brazeal). In all fairness to Amazon, they also built DataStore into AWS Amplify (with GraphQL and REST API support) with a more straightforward approach, in line with the simplicity of the rest of Amplify’s products.

Google Firestore made real-time NoSQL databases — a fairly complex topic in and of itself — as simple as they can be, with pretty much all the capabilities DynamoDB has. It’s very well documented (with introductory clips that are fun to watch). And React and Vue.js have wrappers around Firestore with react-redux-firebase and Vuexfire, respectively.

Cloudflare sure knows how to take performance to the very extreme, and Workers KV, a serverless key-value storage for applications, is a fine example of what a well engineered product looks like. The premise of Workers KV is that you can access a key as if it were a local file within your app, and the content will be the value stored for that key. That’s it — no API to implement, no extra coding. And because of the unbeatable performance of the Cloudflare CDN, this approach can actually be faster than querying a NoSQL database. And as simple as it is, it scales seamlessly to millions of requests. ?

And finally, there’s FaunaDB, a startup that crafted a solution with native GraphQL and a simple pricing (including a free plan) that can be implemented in minutes.

Managing Content: Headless CMS

In the “monolithic” way of doing things, whenever we used a given content management system — such as WordPress, Django, or Joomla! — it meant that we also needed to use the front-end engine that came attached to it, as back and front end were “coupled” components of a single piece of software (see our introduction to the Jamstack for more info about tightly vs loosely coupled sites).

Enter the headless CMS — a back end only without a front end. Since a headless CMS would normally expose an API or generate static content in the way of Markdown or HTML files, the front end can be anywhere really. In fact, multiple and simultaneous interfaces can be created for web sites, mobile apps, and Internet of Things (IoT) apps.

trends.embed.renderExploreWidget(“TIMESERIES”, {“comparisonItem”:[{“keyword”:”headless cms”,”geo”:””,”time”:”today 5-y”}],”category”:0,”property”:””}, {“exploreQuery”:”date=today%205-y&q=headless%20cms”,”guestPath”:””});

Products and Services

There are a number of headless CMSs, both as software you can download and configure where you do the deployments yourself, or offered in the software-as-a-service (SaaS) model where everything is taken care of for you.

Some features you can expect to find:

localization (l10n) and internationalization (i18n)
microservices architecture with a RESTful API
editor interface

* Since some headless CMS will integrate smoothly with your git repo, the versioning capability can actually be a remarkable improvement over a regular CMS.

Self-hosted Headless CMS

Ghost, “the #1 open source headless Node.js CMS”, is certainly the one with the most stars on GitHub. Not only can Ghost handle content, but it also offers a number of integrations to manage payments (Stripe), email lists (MailChimp), shopping (Shopify), and many more. And then there’s Ghost(Pro), which is the official managed hosting for Ghost with commercial support.

Fairly close to Ghost in popularity comes Strapi, with REST and GraphQL APIs, and 1-click deployments on Heroku, AWS, and DigitalOcean. It has “starters” (template projects) to work seamlessly with Gatsby, Vue.js with Nuxt.js, React with Next.js, and Angular. It also runs on Node.js and has support for a number of database engines.

Netlify CMS is also a popular option built as a single–page React app. There’s Directus, which wraps custom SQL databases with an API and provides an intuitive admin app to manage its content, and the commercial companion Directus Cloud. There’s also TinaCMS, which is also React-based, and Ponzu, Copckpit, and many more, which you can explore oin the comprehensive list provided by

SaaS Headless CMS

CloudCannon is the cloud CMS for Jekyll (we’ll review Jekyll later in the “static site generators” section), with smooth integration with GitHub, Bitbucket and Dropbox. They have a free plan as well but with no global CDN hosting.

Contentful is something different: a content hub where business owners, marketers, developers and project managers can all go to set and manage all of the data sources of an organization. And their headless CMS is just a part of that strategy. The Contentful platform is fully featured, very well documented, with plenty of open-source tools. And while the pricing is a bit confusing, there’s actually a free plan that only requires attribution.

There are other SaaS headless CMSs with free plans, such as DatoCMS and Sanity with a proposition similar to that of Contentful; Forestry, with support for a number of static generators; GraphCMS, with GraphQL support; and Prismic. These are just a few of the many options.

Sending Information: Forms without Code

Sending data through forms has forever been one of the main uses for server-side processing. There are essentially two approaches to addressing this problem on a static site, each with pros and cons.

From Builders, Embedded and Hosted Forms

Many times integrating a “powered by” external form is more than enough to collect email addresses or to receive feedback.

Google Forms have offered this possibility since 2008 entirely for free, with a simple interface that stores submissions on Google Sheets, and that can send alerts via email every time there’s a submission.

Formstack takes forms to another level by providing an integrated workflow supporting digital signatures, document generation, Salesforce integration, and more. They offer a free tryout but no free plans.

Then you have the extremely easy-to-use form builders JotForm and Wufoo, which integrate handling payments, among other things, or Typeform, which makes forms and surveys … pretty? All of them offer free plans.

External API: Form Processing as a Service (FPaaS)

Sometimes a builder won’t cut it, as you need more flexibility to present information and fields, or to fully integrate the look and feel of the form with the rest of your website. For this you will need to integrate an API.

The way these services work is surprisingly easy: you specify a URL for submission that will do the processing for you. At most you’ll have to set a few things up but most probably won’t need to do any extra coding.

There are a number of providers offering free plans, such as Form.IO, Formcarry, Formspark, and Netlify Forms. They all work in a similar way and are very easy to implement.

FormDen and FormKeep are also form builders that can otherwise be used just as back ends, though none of them offer free plans.

Programming Server-Side Logic: Function as a Service (FaaS)

Couldn’t find an API that does quite what you want? Create it! You don’t need to resort back to a hosted back-end system to process server-side logic, with all the hassle that comes with it (maintenance, bills, credentials, security patches). Instead, you can implement a micro-service in your language of choice (oftentimes JavaScript, Python, or Go), encapsulate that logic into functions, and offer them through a RESTful API.

As with pretty much everything else in this list, you won’t be paying anything for a function that’s not being actively used, so no worries for just leaving it sitting there (but beware that spikes in traffic might also trigger extra billing).


While the implementation details for AWS Lambda, Azure Functions and Google Cloud Functions may differ, they all work in pretty much the same fashion and you’ll need a degree of familiarity with AWS, Azure or GCP. AWS Lambda has the richest language support of them all (and also Amazon API Gateway to help you wrap your functions into a maintainable API with monitoring tools), while Azure — not surprisingly — has the best support for .NET Framework and .NET Core (with different versions supporting different runtimes and even TypeScript transpiled to JavaScript). But be aware that Azure systematically ranks as the slowest service by a margin.

Cloud Functions for Firebase and Netlify Functions are wrappers around Google Cloud Functions and AWS Lambda, respectively. They greatly simplify the management of functions on the cloud, as you effectively can get away without even having an account on such services. Code deployment and versioning become trivial with Netlify — which also has very good community support — as it will smoothly integrate with your repo offering stage, previewing, and rolling back at a click (or a commit). Simplicity naturally comes at the expense of losing some flexibility (see Firebase Cloud Functions: the great, the meh, and the ugly by Pier Bover).

IBM Cloud Functions (based on Apache OpenWhisk) and Cloudflare Workers are other services you might want to look at. IBM has an impressive list of supported languages, including the option to deploy Docker containers with your own runtime. However, it ranked somewhat poorly performance wise. And just as Netlify systematically manages to make things the simplest, Cloudflare again makes things the fastest (and by a difference).



AWS Lambda
C#, Go, Java, JavaScript, PowerShell, Python, Ruby
86 ms ?
589 ms
? very good

Azure Functions
C#, F#, Java, JavaScript and TypeScript, PowerShell, Python
760 ms ?
5,907 ms ?
? very poor

Cloud Functions for Firebase
JavaScript and TypeScript
642 ms ?
168 ms
? very good

Cloudflare Workers
JavaScript, COBOL
70 ms ?
76 ms ?

Google Cloud Functions
Go, Java, Node.js, Python
642 ms ?
168 ms
? very good

IBM Cloud Functions
.C#, Go, Java, JavaScript, PHP, Python, Ruby, Swift, and Docker containers
136 ms
2,103 ms ?
no info

Netlify Functions
Go, Node.js
86 ms ?
589 ms
very low
? very good

* As measured by λ Serverless Benchmark, the overhead is the time from request to response without the time the function took (for a concurrency of 50), and the coldstart is how long the servers takes to respond when queried are spanned every 3 hours; the lower the values, the better.

Authenticating Users: Identity as a Service

Identity as a Service (IDaaS), also called sometimes Authentication as a Service (AaaS), involves managing a full user registration, confirmation, and authentication with just APIs. The Geist of “stateless authentication” is that a user will authenticate against a third-party and come back to you with a valid “token” that you can verify, or revoke if need be.

In some cases, a provider might even offer a “drop-in” user interface (UI) that will work seamlessly across desktop and mobile, all of which could potentially save you very long hours of work.


Auth0 has been in business the longest and has quickstart guides for a number of scenarios. It’s an excellent provider if you want to implement a complex solution and already have some experience implementing authentication. But as they point out, “identity is complex, deal with it”. The large scope Auth0 services (universal login, single sign on (SSO), multifactor authentication, branch password detection, and so on) can be overwhelming if you’re just starting on the topic.

Firebase Authentication (with its ready-to-use UI) and Authentication with Amplify are also very comprehensive and flexible, and somewhat presented in a more straightforward manner than Auth0. Firebase also offers anonymous authentication! Curious? Check out this clip:

Once again, Netlify seems to come up with the easiest solution to implement with Netlify Identity and its open-source zero config netlify-identity-widget to create a secure login in 10 minutes! But of course, there are some limitations (check out Four Dealbreakers in Netlify Identity, by Jean Cochrane).

You can also check Okta, FusionAuth and LoginRadius, all of which have free plans. There are no freebies for Ping Identity, OneLogin, and Ubisecure, which are more oriented to the enterprise sector. Finally, consider Cloudflare Access, as everything Cloudflare does is rock solid.

Going F·A·S·T: Static Site Generators (SSG)

I can hear some of you saying “all of this might be okay for future projects, but my sites are already dynamic, so what to do?” Here’s when static site generators enter the picture.

You can have the best of both worlds — the convenience of a familiar CMS and static pages with code and data splitting, preloading, caching, image optimization, and all sorts of performance enhancements. An SSR will bridge that gap by querying your database and generating static output out of it (for example, Markdown pages), and with some settings to set your template, you’ll be all set.

The listing here is tiny compared to the ever increasing list of SSRs. Have a look at StaticGen for more info.

Main Products

GatsbyJS is powered by React.js and webpack, meaning that it can generate progressive web apps (aka PWAs, websites that look and feel like an apps). It also supports GraphQL (see Write Apps with Better Building Blocks) and it has +1,000 plugins to get data from anywhere (WordPress, Drupal, Contentful, GraphCMS, DatoCMS, and many more). See how GatsbyJS says it compares to its main competitors, Hugo and Jekyll.

All of this flexibility comes at a cost, as setting and customizing GatsbyJS can be a time-consuming process, and if you don’t have a decent understanding of React — and therefore JavaScript — you won’t be able to make much of it. That’s where Gatsby Cloud comes in, offering support to build and maintain Gatsby sites for free or for a fee, where you could automate your fast builds, access to previews, generate daily edits, and fire deployments with ease to Netlify, Cloudflare, AWS CloudFront or Akamai.

Hugo claims to be “the world’s fastest framework for building websites”, and it sure can generate massive sites in milliseconds. With built-in templates (literally hundreds of them available) and native support for internationalization (i18n), it’s also one of the most popular SSGs. Hugo is a Go app, and while Go isn’t hard to set and learn, you’ll definitely need to be checking the documentation often if you aren’t familiar with it.

Unlike GatsbyJS, configuring and deploying Jekyll is a rather straightforward process. Furthermore, Jekyll is the only SSR supported by GitHub Pages (Tom Preston-Werner, creator of Jekyll, is also a co-founder of GitHub), and can smoothly deploy static sites for free right out of your GitHub repos! Jekyll uses Shopify’s Liquid template language, which is also easy to learn. The downsides? As a Ruby app, Jekyll can be hard to set on a Windows environment, and optimizations such as minimizing JavaScript code and image preloading aren’t included by default. In fact, Jekyll doesn’t even aim at generating a PWA but just purely static sites — which might still be fine depending on what you need.


GitHub stars


Go (library)



WP2Static is an SSR designed specifically for WordPress (WP). It has a small but very interesting set of plugins, like Algolia search, and Cloudflare Workers and Netlify deployments. HardyPress is actually a SaaS solution to generate static WP sites, and for a fee you’ll have an admin panel from where you can enter some credentials to access your online WP installations to manage everything: shut down live WP installs that were already imported, transparent deployment to global a CDN, HTTPS, forms, search. Other WP-related SSGs with commercial support are Shifter, Strattic, and Sitesauce.

Since I am admittedly biased towards Vue.js, I had to include VuePress, which is intended to generate single page applications (SPAs) and has a minimal setup with markdown-centered files, and it’s also powered by webpack. Gridsome and Nuxt.js are more featured Vue.js powered frameworks with SSR capabilities.

Selling and Processing Payments: Headless Shopping Carts

The architecture and benefits of headless ecommerce is not that different from that of a headless CMS: massive cost reduction (hosting, licenses, maintenance), less time to market, seamless integration, and — a big one for commerce — “omnichannel” capabilities.

Continue reading
100 Jamstack Tools, APIs & Services to Power Your Sites
on SitePoint.