Skip to content

Instantly share code, notes, and snippets.

@beyond-code-github
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beyond-code-github/599f0fdb8f714afe25ca to your computer and use it in GitHub Desktop.
Save beyond-code-github/599f0fdb8f714afe25ca to your computer and use it in GitHub Desktop.
Workshop - Lifestyles of the rich and frameworkless

Workshop - Lifestyles of the rich and frameworkless

Level: Intermediate

Tags: Javascript, Single page applications, HTML5, Webcomponents, Databinding, Routing, Dependency Injection

Abstract

Angular, Ember, Meteor, Backbone, the front-end framework space is a busy place indeed. You'd be forgiven for feeling a bit overwhelmed and unsure where to start, but more importantly you're likely to miss an important alternative: to ditch your frameworks altogether and go it alone. It's not for everyone, but this approach can be valuable and rewarding - not just for you but for your clients as well.

This workshop will cover all the basics you need to build a complete single page application entirely from scratch (well almost). Instead of getting bogged down in the pros and cons of framework use, we'll demonstrate practical solutions to common problems, then drill down into specifics and assist you as you develop your own solutions. You can emulate the style of your favourite framework or even try something completely new, the choice is yours!

Prerequisites

You don't have to know a huge amount about single page application development or existing frameworks to take this workshop, but you may find it more enjoyable if you do. You should be comfortable writing Javascript and basic HTML.

Agenda

This workshop will be split into four parts. Between each part we'll take a quick break.

9:00 - Introduction

We'll start by having a brief introduction and outline of the day. It's reccomended that you divide up into pairs as there is a lot of hack-work to be done, but if you want to work alone then thats fine too.

9:15 - 10:45 - Structure and Dependencies

The first section of this workshop will go back to basics and look at how to structure your javascript application using techniques made popular by Javascript guru Douglas Crockford, as well as a few of my own. After the demo, you'll implement your own dependency injection library which will form the basis for your app later on.

11:00 - 12:30 - Databinding and templating

In this section we'll be looking closely at the "V" in MVVM. We'll also be looking at an exciting new branch of web app development called Webcomponents, and how it makes it really easy to build an app out of encapsulated, reusable elements. Afterwards we'll try our hand at making our own databinding library, taking inspiration from a mainstream framework of your choice.

12:30 - 1:30 - Lunch

1:30 - 2:45 - Client Side Routing

To ease ourselves back in after lunch we'll take a look at a one of the more straightforward aspects of single page apps - client side routing. We'll explore a few existing approaches and then introduce a novel new way of doing things, that takes inspiration from functional programming. You'll then get the opportunity to play around, and get assistance to develop your own ideas.

3:00 - 4:30 - Bringing it all together

This final section won't introduce any new ideas or concepts, instead we'll spend the time building a sample app using the techniques from earlier in the day. This is a free-form session in a hackathon format - build one of the suggested apps or even something completely original - it's up to you.

4:30 - 5:00 - Demo Showcase

At the end of the day, each pair will get the opportuntity to demo their app with prizes for the most novel solutions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment