Skip to content
This repository has been archived by the owner on Sep 25, 2024. It is now read-only.

Latest commit

 

History

History
198 lines (125 loc) · 4.5 KB

slides.md

File metadata and controls

198 lines (125 loc) · 4.5 KB

title: 9 Years of JavaScript output: index.html theme: theme controls: false logo: theme/logo.png

--

YYC.js Presents

9 Years of JavaScript

--

Brought to you by

-- presenter

Eric Kryski

Eric Kryski

-- presenter

Alexis Abril

Alexis Abril

-- presenter

David Luecke

David Luecke

-- sponsors

Our Sponsors

Bitovi

Assembly

Village Brewery

Startup Calgary

PetroFeed

--

  • What is React?
  • What it is not
  • What is Flux?
  • What it is not
  • What is this JSX stuff?
  • Some of the basics of React + Flux
  • How to create basic React + Flux app with Feathers
  • The pros/cons of React
  • Some React ProTips™ and best practices

-- sponsors

A Brief History of SPAs

ours!

JavaScript MVC

CanJS

jQuery++

StealJS

DocumentJS

FuncUnit

--

MV* Timeline

--

A Checklist for Success

  • Development

  • Design

  • Managment

--

The major surprise in our data was that development factors are not nearly as meaningful in predicting success as design and management factors.

--

A Bitovi Case Study

After filling out the checklist in hindsight for all of our previous projects, we calculated influence factors and recorded the correlation to project success for each category.

We defined success as on time and budget

--

  • Development .20 ~ .28
    • code reviews
    • documentation
  • Design .44 ~ .45
    • user testing
    • design documentation
  • Management .45 ~ .48
    • vision, goals and strategy
    • release < 6 months

--

User Testing w/ FuncUnit

--

FuncUnit

Functional testing library built on top of jQuery and runs on QUnit, Jasmine or Mocha:

  • Write functional tests in your testing library of choice
  • Use jQuery syntax to emulate user input

--

Testing a TodoMVC app

test('TodoMVC app', function() {
	F('#new-todo').click().type('Do some nerdy stuff\r');
	F('#todo-list li').size(1, 'Got one Todo');
	F('#todo-list li:first label')
		.html('Do some nerdy stuff', 'Todo has correct text');
	F('#todo-count').html(/<strong>1<\/strong>(.*)item(.*)left/,
		'Todo count text is correct');
});

--

Testee Logo

Testee runs your Mocha, QUnit or Jasmine unit tests from the command line using any browser.

  • Runs on all browsers (supporting SocketIO)
  • Remote URL testing
  • Many output formats
  • CI integration
  • BrowserStack support
  • GruntJS Task
  • Code coverage

--

Continuous Integration

  • Use source control management system (SCM) for builds
  • Run reports, tests, deploy or other tools on each SCM change
  • Popular open source CI servers:
    • Jenkins: Probably most popular CI server, formerly Hudson
    • TravisCI: Distributed build platform for the open source community
  • Hosted CI services

--

Aka Dave's last YYCJS

  • Full stack real-time applications with Feathers 1.1 and jQuery/Angular/React and Android/iOS
  • HTML5 speech API and neural network natural language processing
  • And everything together