News, reviews and tutorials from the web development industry. PHP, JS, Ruby, Node.js, Python, and more.


I have personally used Botman a few times to build client projects. Botman is a framework for creating chatbots. The web is stateless, which means one web page to the next doesn't know what you have been doing previously - on a website we get round that using sessions. Sessions are very mature now, so it all work seamlessly. Chatbots work by the chat provider (Facebook, Slack, etc) sending you a HTTP request with every 'chat' they receive. Botman takes care of session handling, keeping track of a conversation, listening for key phrases, and even offering multiple choice answers and menus through provider APIs. Botman Studio makes it even easier; it's effectively a working Laravel app with everything built in, so you can enjoy Laravel's database and session handling, caching, and all the other fancy features.

Improving Site Performance and Security Guide

Alright, so we all know website performance and security is pretty much paramount web building anything online, but this guide lists some quick wins that so many sites just don't do. The obvious is SSL, which most do and I'm sure most of you reading this are well aware of Let's Encrypt, but beyond that this article talks about HTTP/2, Brotli compression and WebP; technologies you should all be aware of and using, but I'm sure a lot fo you aren't.

A Solid Guide to Promises

Promises in JS aren't particularly new, but since ES6 they are pretty much fundamental and I'm surprised the number of developers who don't know how to use them. Once you understand the basics of Promises it's all quite simple, but those basics can be a little overwhelming at first. This guide from David Walsh - although it's now 12 months old - is pretty solid, and a good read which will save you hours of frustration when first tackling Promises.

Code Wars

Code Wars is a coding game whereby you earn points and rewards for completing coding challenges in a number of different languages. Many of these challenges are similar to what you might face in a development interview, so they're well worth trying out. Most challenges are community-submitted, and there is a competition element as to who can produce the 'best' code. We all know 'best' is quite subjective, but it is worth a look.

GraphQL vs REST

Many people mistakenly think of GraphQL as a replacement for REST. Phil Sturgeon give us an overview of the differences and why the two are quite different.

Understanding the Vary header

Vary is a header sent with a huge percentage of web requests, but do you even know what it is? Your web server probably sends it, so it's important you know what it's doing, and there are some important changes coming.

Build a HTML5 Game

Phaser is a HTML5 framework for building games. I've built games before for various platforms, but mostly mobile, and when looking to do the same for the traditional web it's always been difficult because of a lack of toolkit. Phaser tries to bridge that gap by giving access to various device APIs (camera, sound, etc), but also traditional gaming APIs that don't exist normally, such as Physics and Tiling. If you've ever wanted to build a game but have a more web dev skillset, then take a look at Phaser. From someone who does both, Phaser looks like a smooth transition.

End-to-end Tutorials

Thinkster offers tutorials, nothing new there. However, what sets Thinkster apart is that they aim to give you end-to-end knowledge of building a working product using various pieces of tech. Think about it; just think about any app or website you use, you probably think "oh it's built in React" or "that's an Angular app". The odds are that's just one piece of a long chain of tech that gets the app to where it is. Thinkster aims to bridge it all together so you aren't piecing small tutorials together to make one working project.

OS.js - Open Source Desktop Environment

OS.js is a desktop environment that runs in your browser. The best implementation I have seen from these is from Synergy's NAS Drives; it's a desktop environment that you interact with from your browser. Check out the demo for an idea of what I mean - try not to waste too much time on the Game tab of the menu though. You can build your own windows and stream native apps to windows within OS.js.

ES6 Default Arguments

ES6, which is becoming more and more the norm, accepts default arguments for functions now. Remy Sharp talks us through some real-life use cases for them. If you're coming from another language you're probably already familiar with them, but still worth a read.

Copyright © 2018 Web Dev Weekly, All rights reserved.

Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list

Email Marketing Powered by MailChimp