Build Realtime Apps | React Js, Golang & RethinkDB

A practical guide that teaches you ReactJs, Golang & RethinkDB. Optimally paced, no-nonsense. You'll learn quickly!
4.4 (261 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,793 students enrolled
$19
$60
68% off
Take This Course
  • Lectures 48
  • Length 3 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2016 English

Course Description

Do you want to learn React as fast as possible? Are you curious about Golang, Googles new Programming Language? Do you wonder what it's like to write fast highly concurrent servers? Interested in creating realtime apps, the simple way?

If you answered YES, then this course is for you!

Learn Fast

This course is optimally paced so you'll learn fast. Your time is valuable and I don't want to waste it, try out the free previews and I think you'll understand what I mean by fast/lean learning.

React Js

Reactjs is an Amazing Javascript front-end library created and maintained by Facebook. The designers of React questioned the industry "best practices" and designed a library that is quite unique, extremely fast and very productive, plus it's a delight to work with. Reactjs makes writing JavaScript apps fun again because of it's simplicity and fundamentally different concepts.

Golang

Golang is a awesome new programming language created and maintained by Google. Golang is an modern language, that's simple to learn and easy to use. Golang is particularly well suited for highly concurrent applications, such as realtime apps, because of it's first class language support for coroutines (called goroutines). Apps created in Golang are fast, and run on all major platforms (Mac / Windows / Linux).

RethinkDB

RethinkDB is the only database I'm aware of that is focused on realtime features. Using RethinkDB allows you to create highly scalable, realtime apps with ease. RethinkDB offers a rich set of features and it's a joy to work with.

"But I'm only interested in React or Golang or RethinkDB..."

Each of these topics could stand alone as it's own course. Just consider it bonus content!

Are realtime apps important?

Software developers will need to know how to create Realtime Web apps in the very near future. It's the next evolution in Web Applications, in fact Realtime Apps/Features are already being created at companies like Twitter, Facebook and Google.

Get ahead of the curve and learn how to make realtime apps now.

Why take this course?

Do you ever feel overwhelmed with new technologies? I think most of us do, there is so much change constantly happening and the pace of change seems to be increasing.

What can you do to manage the learning challenges you're facing?

Lean learning

I won't waste your time, you'll learn just what you need to know as quickly as possible. You'll start this course with the end in mind. What do I mean by that? We're going to be building a realtime web application, and you'll learn just what you need to build the app.

What You'll Build

During this course, you'll be building a Slack Clone.

Prerequisites

A general familiarity with Programming and the Web. You'll start from scratch and move quickly, learning just what you need to know and nothing else.

What are the requirements?

  • All setup (Development tools, Database Setup etc) is covered in this course

What am I going to get from this course?

  • Know how to Setup Development Environments for Reactjs and Go
  • Experience Structuring Reactjs and Go Applications
  • Understand How to create Reactjs base Web Applications
  • Know How To Use Websockets to communicate between Server and Browser
  • Skilled at Creating Go Servers
  • Know How to Install and Use RethinkDB

What is the target audience?

  • This Course is meant for students that are interested in Building Realtime Web applications. Each technology is taught from scratch, assuming zero prior knowledge, however we move very quickly and go pretty deep into the subject matter.
  • This course is designed for student's who learn best by practical usage more than traditional lectures

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Introduction
03:30

What will you learn in this course?

Section 2: Reactjs Quick Start
08:13

Learn what Reactjs is, by creating your first Reactjs Component from scratch.

After completing this lecture you'll understand the basic concepts of Reactjs such as: Components, JSX, Code Transpiling with Babeljs.


02:17

Learn how to use Properties to pass information to React Components.

02:11

Learn how to listen for events, such as mouse clicks, in React.

03:17

Learn how to combine React Components

04:12

Learn how to combine sibling React Components

05:16

Learn how to maintain state values in React

02:36

Learn how to maintain Application state values in React

Section 3: Building The Front End with Reactjs
01:14

Learn how to setup your system for building your Reactjs FrontEnd

02:52

Learn how to setup a Reactjs project

05:27

Learn how to create a front end build process

04:15

Learn how to create the apps Channel Component

01:43

Learn how to create the apps Channel List Component

01:55

Learn how to create the apps Channel Form Component

02:11

Learn how to create the Channel Section Component

04:33

Create an outermost application component, to store app state and child components

04:02

Apply some basic bootstrap style to our app

01:04

Your Challenge: Use what you've learned and Build the User and Message Sections.

03:13

Review my Completed User and Message Components

Section 4: Connecting The Front End To The Back End
05:24

Learn how to connect to a websocket server an send and receive messages

03:19

Figure out an message scheme to use for communicating with the server

03:28

Simplify communication with the server by creating a Simple Socket Wrapper Utility

04:37

Start communicating with the server from our App component

Section 5: Building the Back End Go Server
02:17

Installing the Go Development Tools

02:38

Learn how to write an executable app in Go

02:24

Learn how to write a Web Server in Go

06:09

Learn how to create a Websocket Server In Go

09:13

Learn how to convert JSON to Go values and Go values to JSON

07:59

Start thinking about handling Channel Related Events from the Front End in the Go Server

08:22

Learn how to use Go Channels to communicate across goroutines

03:17

Figure out a structure for our Go App.

04:11

Start Creating our Event / Message Router

03:22

Add a Handle Method to the Router, which allows you to define Routing Rules

02:29

Write the ServerHTTP method

02:54

Create the client struct that communicates with a connection

03:49

Add a method to the Router that looks up a message / event handler

03:20

Write the apps first Message Handler

Section 6: RethinkDB
01:10

Learn how to install RethinkDB and use the Web Admin Interface

07:33

Learn how to do things with RethinkDB using REQL - The RethinkDB Query Language

06:23

Learn how to run REQL in a Go App

Section 7: Go & RethinkDB
05:57

Learn how to connect to RethinkDB in our App and start using RethinkDB in our App

03:42

Start to implement a Channel Subscription Event Handler

06:53

Figure out how to Fix our Faulty First Attempt at a Channel Subscription Handler

05:04

Apply our new fix / solution to our Channel Subscription Handler

03:10

Learn how to stop Subscription Handlers from the Client Struct

03:21

Learn how to selectively stop a specific Subscription Handler

05:37

Review the working Prototype

00:42

A few suggestions for adding more features to our app, and a few final Words

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

James Moore, Software Developer, Consultant & Trainer

James discovered the joy of software development while submerged hundreds of feet deep in the pacific ocean. He liked it so much, he left his career as Navy Nuclear Submariner to learn everything he could about creating software. As a nuclear trained engineer, he figured out how to learn things quickly, which has helped in a career where the learning never stops. Currently he’s an independent software developer, consultant and trainer.

Ready to start learning?
Take This Course