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!
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.
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 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?
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.
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.
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.
Learn how to setup your system for building your Reactjs FrontEnd
Learn how to setup a Reactjs project
Learn how to create a front end build process
Learn how to create the apps Channel Component
Learn how to create the apps Channel List Component
Learn how to create the apps Channel Form Component
Learn how to create the Channel Section Component
Create an outermost application component, to store app state and child components
Apply some basic bootstrap style to our app
Your Challenge: Use what you've learned and Build the User and Message Sections.
Review my Completed User and Message Components
Learn how to connect to a websocket server an send and receive messages
Figure out an message scheme to use for communicating with the server
Simplify communication with the server by creating a Simple Socket Wrapper Utility
Start communicating with the server from our App component
Learn how to write an executable app in Go
Learn how to write a Web Server in Go
Learn how to create a Websocket Server In Go
Learn how to convert JSON to Go values and Go values to JSON
Start thinking about handling Channel Related Events from the Front End in the Go Server
Learn how to use Go Channels to communicate across goroutines
Figure out a structure for our Go App.
Start Creating our Event / Message Router
Add a Handle Method to the Router, which allows you to define Routing Rules
Write the ServerHTTP method
Create the client struct that communicates with a connection
Add a method to the Router that looks up a message / event handler
Write the apps first Message Handler
Learn how to connect to RethinkDB in our App and start using RethinkDB in our App
Start to implement a Channel Subscription Event Handler
Figure out how to Fix our Faulty First Attempt at a Channel Subscription Handler
Apply our new fix / solution to our Channel Subscription Handler
Learn how to stop Subscription Handlers from the Client Struct
Learn how to selectively stop a specific Subscription Handler
Review the working Prototype
A few suggestions for adding more features to our app, and a few final Words
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.