JavaScript for Real

On August 13th and 28th, 2013 I gave this talk at Avenue Code in Belo Horizonte, MG, Brazil, focusing on developers coming from languages such as Java, explaining how to code in JavaScript for real and start the good practices right now.

Part 1

YouTube video link


Part 2

YouTube video link


Prerequisites

  • HTML
  • CSS
  • Familiary with JavaScript

Resources

Learn Javascript

Tasker

In August, 2013 I published the Tasker Project on GitHub to illustrate the article I wrote for Java Magazine #123, Boosting applications with REST and Backbone.js .

Tasker is a web application using Backbone.js and Handlebars.js on the client-side and Play! over Java on the server-side. This application simulates a very simple Kanban board based on Agile methodologies. Basically, the board can have multiple projects, each project can have multiple stories and each story can have multiple issues, which can be either task, bug or enhancement.

The user can create and remove projects, stories and issues, and also move issues around 4 lanes representing its possible status: Backlog, In Progress, Verify and Signed Off.

Purpose

The main purpose of Tasker is to demonstrate important front-end concepts of nowadays about smart client-side applications, such as:

Client-side

  • MV* on the client-side with Backbone.js
    • REST-based models
    • views
    • routers
    • events
    • validation
  • Templating with Handlebars.js
    • Custom helpers
  • Using Bootstrap components
  • Using Font Awesome fonts
  • Writing LESS css
  • UI-level i18n
  • Responsive/adaptive layout

Server-side

  • Play! Framework as a modern, simple yet powerful back-end
    • models
    • views
    • controllers
    • REST-based routers
    • Google Clojure compilation and minification
  • Ebean as a simple ORM approach
    • JPA-based mapping
    • simple query language
    • evolutions
  • JSON manipulation with Flexjson
  • Unit testing with TestNG
  • Code coverage
  • Setting production profile
  • Deploying to Heroku